aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add test case + experimental fix for AJC option '--add-exports'Alexander Kriegisch2022-03-276-2/+53
| | | | | | | I am expecting the test case to pass, but other tests to fail. This temporary commit is meant to create feedback from GitHub CI test runs. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* IDE.md: add download info for AspectJ installerAlexander Kriegisch2022-03-241-0/+12
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Merge pull request #140 from kriegaex/java-18Alexander Kriegisch2022-03-2495-711/+1637
|\ | | | | Prepare code, tests and docs for Java 18
| * IDE.md: update AJDT update site infos for 4.23Alexander Kriegisch2022-03-241-3/+4
| | | | | | | | | | | | | | Also add some Eclipse, AspectJ and Java version information to the existing update sites. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Fix AjcTaskTest by correctly identifying snapshot versionsAlexander Kriegisch2022-03-241-2/+2
| | | | | | | | | | | | This avoids the corresponding "bad version number found in" warnings. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Set version to 1.9.10-SNAPSHOTAlexander Kriegisch2022-03-2429-29/+29
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Set version to 1.9.9V1_9_9Alexander Kriegisch2022-03-2434-30/+30
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Bump JDT Core to 1.9.9Alexander Kriegisch2022-03-241-1/+1
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Update README-199.htmlAlexander Kriegisch2022-03-241-0/+16
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Add AllTestsAspectJ199.suite() to AllTests19Alexander Kriegisch2022-03-241-0/+2
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Add JDT Core and bcel-builder to test classpathAlexander Kriegisch2022-03-241-2/+9
| | | | | | | | | | | | | | | | | | | | At present, no tests are failing without those resources, but for good measure, I added them anyway, because then the same path could in the future also be used for stand-alone compilation tests which are not triggered in-process via AJDT interface but, not unlike "full LTW" test execution mode, in a separate JVM. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Upgrade to latest JDT Core Java 18 changes, activate J18 preview testsAlexander Kriegisch2022-03-248-74/+171
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Rename testGitHub_125 to testCompilerCanReopenClosedJARs_gh125Alexander Kriegisch2022-03-231-1/+1
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Move GH-128 tests from 1.9.8 to 1.9.9 bugs test suite after mergeAlexander Kriegisch2022-03-2311-333/+333
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Merge branch 'master' into java-18Alexander Kriegisch2022-03-2312-7/+519
| |\ | |/ |/| | | | | | | # Conflicts: # tests/src/test/java/org/aspectj/systemtest/ajc198/Bugs198Tests.java # tests/src/test/resources/org/aspectj/systemtest/ajc198/ajc198.xml
* | Ignore testAsyncProceedNestedAroundAdviceThreadPool_gh128 for nowAlexander Kriegisch2022-03-231-1/+2
| | | | | | | | | | | | Out of scope for PR #132, future work for issue #141. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* | Name annotation vs native style aspects uniformly in github_128 testsAlexander Kriegisch2022-03-235-12/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Trying to find the difference between byte code generated by AJC for functionally identical annotation vs native style aspect, I move the aspects into subdirectories in order to be able to name them identically. This way, when decompiling them with javap or Fernflower it is easier to diff them later. Why the decompilation? Because for the thread pool testing scenario native syntax passes while annotation syntax fails. I.e., we need to find the difference. That can be done by reading source code, if you know where to look, or by starting with reverse engineering in order to first understand more and look at the code later. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* | Expand "asynchronous proceed for nested around-advice" to 4 scenarios:Alexander Kriegisch2022-03-237-14/+343
| | | | | | | | | | | | | | | | | | | | | | 1. @AspectJ syntax, threads created inside advice code 2. @AspectJ syntax, submit runnable to thread pool 3. native syntax, threads created inside advice code 4. native syntax, submit runnable to thread pool Scenarios 1, 3 and 4 are passing, while 2 is failing. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* | Add test "asynchronous proceed for nested around-advice chain"Alexander Kriegisch2022-03-237-0/+168
| | | | | | | | | | | | Relates to #128. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* | RunSpec: allow '<stdout ordered="no">'Alexander Kriegisch2022-03-232-1/+7
| | | | | | | | | | | | | | Previously 'ordered="no"' was only permitted for 'stderr'. We need this for tests with asynchronous log output on standard error. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* | Make Stack<AroundClosure> in JoinPointImpl InheritableThreadLocalAlexander Kriegisch2022-03-231-6/+19
| | | | | | | | | | | | | | | | | | | | In case of asynchronous proceeding for nested around-advice, child threads need copies of the original around-closure stack. Otherwise, the target method thread will have popped the stack empty after unwinding. Fixes #128. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Add TODO to maven.yml for switch to JDK 18 finalAlexander Kriegisch2022-03-231-0/+1
| | | | | | | | | | | | | | TODO: switch from 18-ea to 18, as soon as Temurin offers the download on https://adoptium.net/releases.html. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Make sure that program arguments are passed through in full LTW modeAlexander Kriegisch2022-03-231-14/+17
| | | | | | | | | | | | | | | | This fixes e.g. LTWTests.testDeclareAbstractAspect, which passes on names of ITD methods to the test program, which in turn executes those methods via reflection. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Introduce AjcTestCase.DEFAULT_FULL_LTW_CLASSPATH_ENTRIESAlexander Kriegisch2022-03-231-5/+12
| | | | | | | | | | | | | | In 'useFullLTW' mode, aspectjweaver.jar is a Java agent. Therefore, what is contained in there does not need to be on the classpath. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Fix more LTW testsAlexander Kriegisch2022-03-233-5/+36
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * A few dozen more tests need 'useFullLTW' modeAlexander Kriegisch2022-03-2314-147/+147
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * AJDT Core: use JUnit 4 from class path instead of 3.8 from lib/junitAlexander Kriegisch2022-03-232-2/+9
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * AtAjLTWTests: 4 test cases switched to 'useFullLTW' modeAlexander Kriegisch2022-03-232-13/+14
| | | | | | | | | | | | | | | | After the Java 18 JDT Core upgrade, some LTW tests are failing and have to be switched from in-process to full LTW mode due to them now obviously calling some code paths which need '--add-opens'. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Fix broken 'useFullLTW' test modeAlexander Kriegisch2022-03-232-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It was referring to a no longer existent weaver under aj-build/dist/tools/lib/aspectjweaver.jar, which now has been replaced by the new file lib/aspectj/lib/aspectjweaver.jar. Several tests were broken, not finding the agent. But because those tests make no assertions, nobody ever noticed. Only when I had to change some LTW tests from in-process to full LTW mode (see next commit) due to them now obviously calling some code paths which need '--add-opens', I even noticed the problem. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Use 1.9.9-SNAPSHOT AspectJ libraries in libs/test, libs/aspectj/libAlexander Kriegisch2022-03-233-0/+0
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Use static imports for file and path separator constantsAlexander Kriegisch2022-03-232-25/+31
| | | | | | | | | | | | It makes concatenated paths a little more readable. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Use '-Djava.security.manager=allow' on Java 18+ (JEP 411)Alexander Kriegisch2022-03-232-0/+17
| | | | | | | | | | | | | | | | | | | | JEP 411: Deprecate the Security Manager for Removal, see https://openjdk.java.net/jeps/411. As of Java 18, the new API for blocking System.exit is not available yet, see https://bugs.openjdk.java.net/browse/JDK-8199704. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Prepare code, tests and docs for Java 18Alexander Kriegisch2022-03-2132-143/+869
|/ | | | | | | | | | | | | | | | | | | | - JDT Core dependency in pom.xml - Constants.java - LangUtil.java - AjcTask.java - messages_aspectj.properties - XMLBasedAjcTestCaseForJava17Only.java - XMLBasedAjcTestCaseForJava18*.java - tests/bugs199 - tests/features199 - JavaVersionCompatibility.md - README-199.html - GitHub CI build Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Docs: add AspectJ Java version compatibility tableAlexander Kriegisch2022-03-192-0/+24
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Bump actions/checkout from 2 to 3Alexander Kriegisch2022-03-071-1/+1
| | | | | | | | | | | | | | | Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Bump actions/setup-java from 1 to 3, use Temurin, drop Java 14Alexander Kriegisch2022-03-071-2/+3
| | | | | | | | | | | | | | | | | | Adopt OpenJDK moved to Eclipse Temurin and is no longer updated. Temurin builds for JDK 14 are however not available. Therefore, we drop the JDK 14 CI build. Bumps [actions/setup-java](https://github.com/actions/setup-java) from 1 to 3. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v1...v3) --- updated-dependencies: - dependency-name: actions/setup-java - dependency-type: direct:production - update-type: version-update:semver-major Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* No automatic builds for Dependabot PRsAlexander Kriegisch2022-03-071-1/+7
| | | | | | | | | Otherwise, Dependabot would run builds whenever something is pushed on master and it rebases its PR. It is still possible to just click on the skipped workflow in the PR and then issue "re-run all jobs" in order to perform a build. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add GitHub DependabotAlexander Kriegisch2022-03-071-0/+10
| | | | | | | | | | It will create PRs for Maven and GitHub action updates. Of course, we cannot simply merge the PRs, because Dependabot has not singed an Eclipse CLA, but at least we know about updates and how they affect the build result. Then we can decide to clone the changes and commit them manually. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Fix poor variable nameAndy Clement2022-02-261-3/+3
|
* Merge pull request #130 from turbanoff/cleanup_too_weak_variable_typesAndy Clement2022-02-2617-60/+35
|\ | | | | Cleanup redundant type casts, due to too weak variable type declaration
| * Cleanup redundant type casts, due to too weak variable type declarationAndrey Turbanov2022-02-2617-60/+35
|/
* Merge pull request #114 from turbanoff/use_generics_in_taskdefs_moduleAndy Clement2022-02-256-27/+27
|\ | | | | Update 'taskdefs' code to use generics
| * Update 'taskdefs' code to use genericsAndrey Turbanov2022-01-146-27/+27
| |
* | Merge pull request #127 from kriegaex/gh-125Andy Clement2022-02-256-24/+69
|\ \ | | | | | | Fix classpath JAR close & re-open problem in AJC
| * | Bump JDT Core to 1.9.9-SNAPSHOT, incorporating #125 fixesAlexander Kriegisch2022-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | This should make Bugs198Tests.testGitHub_125 green, fixing problem #125 in AspectJ. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * | Regression test for #125: Bugs198Tests.testGitHub_125Alexander Kriegisch2022-02-234-3/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test fails when run against AspectJ 1.9.8 with JDT Core 1.9.8.RC3. It passes when using the latest JDT Core 1.9.9-SNAPSHOT. It sets system property 'org.aspectj.weaver.openarchives=20', provoking open classpath JAR file exhaustion when compiling a simple class with AJC, i.e. JARs are being forcibly closed and automatically re-opened, as soon as they are needed. Before the JDT Core bugfix, this test causes: java.lang.NullPointerException at ....compiler.batch.ClasspathJmod.getModulesDeclaringPackage With the bugfix incorporated into AspectJ Tools, the problem is gone. Note: New test dependency 'io.github.bmuskalla:scoped-system-properties' helps to test compilation with the temporarily changed global system property in isolation, saving the environment in a thread-local variable and later cleanly restoring the original values again. If we ever switch to parallel test execution, this would otherwise influence other tests and potentially cause weird side effects. Better safe than sorry. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * | Move some tests from Ajc198TestsJava to Bugs198TestsAlexander Kriegisch2022-02-232-20/+20
|/ / | | | | | | | | | | | | | | | | They were accidentally stored in thw wrong test class, not just because they are bug regression tests, not 1.9.8 features, but also because they are meant to work on Java 5+, not on Java 17+ like the ones in Ajc198TestsJava. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* | Merge pull request #121 from kriegaex/release-198Andy Clement2022-02-1731-35/+36
|\ \ | | | | | | Release 1.9.8
| * | Set version to 1.9.9-SNAPSHOTAlexander Kriegisch2022-02-1129-29/+29
| | |
| * | Set version to 1.9.8V1_9_8Alexander Kriegisch2022-02-1129-29/+29
| | |