| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This was required by the Eclipse team as one precondition for the next
release.
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This involves replacing references in weaver application code as well as
a few tests.
In order to make AspectJ weaver + tools contain a relocated ASM version,
I added a Maven Shade relocation step after Maven Assembly created the
uber JARs. Relocation works for both binaries and sources and also
encompasses Class::forName calls like in class AsmDetector.
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The test class UnweavableTest used ASM 2.0 API. I upgraded in two ways:
1. Now the ASM 9.1 API is used. Probably works with much older
versions too (just not as old as 2.0), as long as the method and
constructor signatures are the same).
2. The class now uses the AspectJ version of ASM (i.e. package names
aj.org.objectweb.asm.*) and therefore can just use ASM as it is on
the classpath for module 'tests' already. There is no more need to
manually add '<pathelement path="${aj.root}/lib/asm/asm-2.0.jar"/>'
to the Ant build script for that test.
Consequently, asm-2.0.jar can be eliminated from Git SCM completely,
because it was only used in this one test.
BTW, I also removed some deprecated API and other types of warnings in
UnweavableTest.
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to JEP 260 (Encapsulate Most Internal APIs), aspect weaving on
Java 16 now requires '--add-opens java.base/java.lang=ALL-UNNAMED' on
the command line. Otherwise there will be illegal access exceptions for
some internal API calls AspectJ needs, most prominently when trying to
define classes in other packages or modules.
This had to be done on several levels:
- Maven Surefire: running tests in a JVM directly forked by Surefire.
In order to make this backwards compatible, I added two profiles
with JDK-level-dependent auto-activation, one 8-15 and one 16+. In
the latter a property containing the JVM parameter is defined, in
the former it is empty, i.e. the JVM is started without the
parameter. In Java 8 the parameter did not even exist, in Java 9+ we
could use it, but we need to test how users use AspectJ.
- RunSpec: Whenever an XML test is declared to use '<run>', we need to
determine the current JVM version and again dynamically add the
parameter when forking the target JVM.
- AntSpec: Whenever an XML test is declared to use '<ant>', we need to
determine the current JVM version dynamically add two properties
usable from within Ant scripts: 'aj.addOpensKey' and
'aj.addOpensValue'. Unfortunately, Ant needs to use two '<argLine>'
parameters, because the two parts of the option are separated by a
space character.
- Ant scripts: When triggered by an AntSpec, each Ant target using LTW
needs to manually set
<jvmarg value="${aj.addOpensKey}"/>
<jvmarg value="${aj.addOpensValue}"/>
for each '<java>' task. It was quite tedious to find all(?) of them.
TODO: In the AspectJ 1.9.7 release notes we need to document that this
parameter is now needed for LTW.
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modified test expectation system so it is possible to say
the test cares about one particular message and the rest
do not matter (prefix message string with '*') - crude but
quick.
Polished many places to exploit generics
Upgraded all the tests to work on Java8 - some serious changes
regarding ajdoc on Java8. Hopefully it has stayed backwards
compatible with earlier JDK versions (e.g. if using AspectJ 1.8.3+
with a JDK less than 8) but no explicit testing done for this.
|
| |
|
| |
|
|
|
|
| |
this one in one place.
|
| |
|
| |
|
|
|
|
| |
declare parents LTW tests)
|
|
|
|
| |
use of -Daj5.def)
|
|
|
|
| |
builds
|
|
|
|
| |
Matthew doesnt complain.
|
|
|
|
| |
weaving messages debug and add -debug to options for aop.xml)
|
| |
|
|
|
|
| |
project root" (remove redundant logic that created result.ser"
|
|
|
|
| |
duplicate agents)
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
'MISSING' now call 'isMissing' if they can. I think this negates some work Adrian did with introducing MissingWithKnownSignature - but we have to make this change for LTW to work properly. Someone with a bit of time on their hands should go through all the places isMissing() is now called and see if the check should be 'isReallyMissing()' which would allow the MissingWithKnownSignature to get through. I will raise an enhancement to cover this.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
parseTypePattern in PointcutParser.
|
| |
|
| |
|
| |
|
|
|
|
| |
java 5 in this case), many LTW tests were failing with Xlint:adviceDidNotMatch messages that previously were not issued. These commits sprinkle @SuppressAjWarnings annotations liberally around to stop that from happening.
|
|
|
|
| |
Largely updates to existing tests to cope with new Lint warning.
|
| |
|
| |
|
|
|
|
| |
avoid type resolve to do aop.xml include/exclude regular match but use the passed in bytecode (else issue with Stubs not on disk as f.e. in WLS)
|
|
|
|
| |
passed thru the aspectof munger. Added custom logic for that
|
| |
|
|
|
|
| |
pbly some issue on abstract @Pointcut() in ajdt core - fix coming
|