aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add minimal JRE version check to Main.runMainAlexander Kriegisch2023-12-151-21/+35
| | | | | | | | | | | Use new constant Main.MINIMAL_JRE_VERSION (currently = 17) and SourceVersion.latest().ordinal() to check, if the minimal JRE version requirement for AJC is met. If not, then exit with code -1 and error message "The AspectJ compiler needs at least Java runtime 17". Relates to #269. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Depend on JDT Core 1.9.21.1-SNAPSHOTAlexander Kriegisch2023-12-151-1/+1
| | | | | | | | | The new version is compiled to target 17. This should avoid the strange "NoSuchFieldError: RELEASE_17" error message in AJC. Closes #269. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Set version to 1.9.21.1-SNAPSHOTAlexander Kriegisch2023-12-1528-28/+28
| | | | | | | Currently, the situation looks more like a Java 21 maintenance release than directly a Java 22 release. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Remove some TODOs from tests after upstream JDT Core fixesAlexander Kriegisch2023-12-144-4/+4
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add info about #269 to 1.9.21 release notesAlexander Kriegisch2023-12-141-0/+6
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* JavaVersionCompatibility.md: Update for AspectJ 1.9.21Alexander Kriegisch2023-12-141-0/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* IDE.md: Add Eclipse 2023-12 update sites for AJDTAlexander Kriegisch2023-12-122-0/+11
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Fix typo in README-1921.htmlAlexander Kriegisch2023-12-111-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Set version to 1.9.22-SNAPSHOTAlexander Kriegisch2023-12-1128-28/+28
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Release AspectJ 1.9.21V1_9_21Alexander Kriegisch2023-12-1128-28/+28
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add AspectJ 1.9.21 release notesAlexander Kriegisch2023-12-112-0/+128
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add tests for Java 21 unnamed classes and instance methodsAlexander Kriegisch2023-12-115-0/+80
| | | | | | TODO: Activate the unnamed class test after https://github.com/eclipse-jdt/eclipse.jdt.core/issues/1106 is done. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add tests for Java 21 unnamed patternsAlexander Kriegisch2023-12-114-0/+237
| | | | | | TODO: Activate after https://github.com/eclipse-jdt/eclipse.jdt.core/issues/893 is done. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add tests for Java 21 string patternsAlexander Kriegisch2023-12-114-2/+309
| | | | | | | | TODO: Due to eclipse-jdt/eclipse.jdt.core#1719, one line per test is currently rendered incorrectly. After the upstream fix, change "\Bill \Duck" to "Bill Duck". Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Make OutputSpec::getTrimmedLines work for empty lines on WindowsAlexander Kriegisch2023-12-111-2/+5
| | | | | | | Improve the regex splitting lines to actually remove CR characters on Windows. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Simple regression test unit test for #266Alexander Kriegisch2023-12-101-0/+51
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Set exception root cause in ExtensibleURLClassLoader::findClassAndy Russell2023-12-101-1/+1
| | | | Fixes #266.
* RELEASE.md: simplify '-DskipTests' command docsAlexander Kriegisch2023-12-021-3/+3
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Set version to 1.9.21-SNAPSHOT againAlexander Kriegisch2023-12-0228-28/+28
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Release candidate 1.9.21.RC1V1_9_21_RC1Alexander Kriegisch2023-12-0228-28/+28
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Bump JDT Core to 1.9.21.RC1java-21Alexander Kriegisch2023-12-021-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Bump ECJ to 23b713ce (01Dec2023)Alexander Kriegisch2023-12-021-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Adjust to API changes in ECJ 4dc7b558 (01Dec2023)Alexander Kriegisch2023-12-018-17/+17
| | | | | | Mostly StringBuffer -> StringBuilder API changes Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Bump AJC version string to c13b03ceabf0c1Alexander Kriegisch2023-11-271-1/+1
| | | | | | | More exactly: Eclipse Compiler c13b03ceabf0c1 (26Nov2023) - Java21 Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Reactivate some tests on JDK 21 after upstream fixAlexander Kriegisch2023-11-273-28/+1
| | | | | | | https://github.com/eclipse-jdt/eclipse.jdt.core/issues/1466 has finally been fixed. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* AllTests19 suite: add AllTestsAspectJ1921Alexander Kriegisch2023-11-271-0/+2
| | | | | | | Until now, the CI build did not run Java 21 tests, but they look OK locally. Now, let's find out what GitHub Actions says. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add missing file RecordPatternsPreview1ExhaustivenessOK1.java for JDK 21Alexander Kriegisch2023-11-271-0/+34
| | | | | | | | This file was missing, which did not trigger an error in CI builds, because AllTestsAspectJ1921 was not part of the AllTests19 suite before. The latter will be fixed in the next commit. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* AjcTaskTest: Be more lenient with aspectjrt version warningAlexander Kriegisch2023-11-211-0/+12
| | | | | | | | | | | | | | | Filter out a warning which occurs, if the current release does not match the stored binary in lib/test: bad version number found in aspectjrt.jar expected 1.9.21.M1 found 1.9.20.1 If e.g. we run tests for a milestone release a.b.5.M1 and afterwards switch back to a.b.5-SNAPSHOT, we do not want to update lib/test for a single commit, just to make this test pass. Hence, we ignore this warning here. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* AjcTaskTest: unwrap redundant if statementAlexander Kriegisch2023-11-211-3/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* RELEASE.md: Add '--add-opens' info for Nexus Staging 'rc:release'Alexander Kriegisch2023-11-191-0/+4
| | | | | | | Sonatype has not solved the problems in Nexus Staging Maven Plugin for years, so it makes sense to document them. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Set version 1.9.21-SNAPSHOTAlexander Kriegisch2023-11-1928-28/+28
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Release milestone 1.9.21.M1V1_9_21_M1Alexander Kriegisch2023-11-1928-28/+28
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Enable some tests after J19 problems were fixed for J21Alexander Kriegisch2023-11-055-20/+52
| | | | | | | | | | Two test classes which had redundant default clauses for switch with record patterns were copied from the java19 to the java21 directory and the redundant clauses deactivated, i.e. the test now run as originally intended. For older JDK versions, the old tests still stay active in order to document the old state of affairs. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Switch CI build to Temurin JDK 21 final (from EA)Alexander Kriegisch2023-11-011-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Adjust to latest changes in JDT CoreAlexander Kriegisch2023-11-012-8/+8
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Make all existing tests run on JDK 21Alexander Kriegisch2023-10-056-488/+393
| | | | | | | | | | | This mostly affects pattern matching for switch and record patterns. Two tests which were working before for pattern matching for switch (preview 4), started to fail, so the corresponding code was commented out and https://github.com/eclipse-jdt/eclipse.jdt.core/issues/1466 recorded. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Move some 1.9.20.1 bug tests to correct directoryAlexander Kriegisch2023-10-055-5/+9
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* AjcTestCase: Make sure main methods can be called in Java 21Alexander Kriegisch2023-10-051-2/+5
| | | | | | | | | Since JDK 21, a public main method of a non-public (e.g. default-scoped) class can no longer be invoked without making it accessible first. Because many test sources contain multiple aspects and classes in one file, this is a frequent use case. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add test infrastructure for Java 21 (WIP)Alexander Kriegisch2023-10-0516-10/+988
| | | | | | | The tests and their XML definitions are still copy & paste and need to be cleaned up. Separate Java 21 feature tests do not exist yet. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Beautify sanity tests using bytecode level constantsAlexander Kriegisch2023-10-0512-29/+45
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Bump ASM to 9.6 (new Opcodes.V22 constant for Java 22)Alexander Kriegisch2023-10-051-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* AntSpec: Improve filter for warning "Archived non-system classes are disabled"Alexander Kriegisch2023-10-011-4/+12
| | | | | | | | | | | | | In JDK 21, the prefix has changed once again, no longer being a JVM specifier like "OpenJDK 64-Bit Server VM" or "Java HotSpot(TM) 64-Bit Server VM" but rather something like "[0.016s][warning][cds]". Even worse, before J21, the warning appears on stdErr, but in J21+, it appears on stdOut. Fixes LTWTests.testJ14LTWWithXML, which started failing on Java 21. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* AjLookupEnvironment: readability refactoringAlexander Kriegisch2023-10-011-582/+515
| | | | | | | | | | | | | While trying to understand the code a bit better in order to fix failing builds, I applied some cosmetic refactoring and reformatting. This commit does not change any functionality. Whether the static import of CompilationAndWeavingContext.* is a good thing or not is debatable, but I like the code to be less chatty than it was before, assuming that every developer uses an IDE helping to find out where static methods and constants come from. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* AjLookupEnvironment: add new phase CONNECT_TYPE_HIERARCHY2Alexander Kriegisch2023-10-012-16/+17
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Ignore AspectJ core dumpsAlexander Kriegisch2023-09-271-0/+3
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Remove old '.cvsignore' filesAlexander Kriegisch2023-09-2765-124/+0
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* CI build: remove JDK 11 build, switch 21 to 21-eaAlexander Kriegisch2023-09-271-1/+1
| | | | | | | | | | | Background: JDT Core dependencies now contain hundreds of Java 17 class files, i.e. Ajc now requires Java 17+ runtime environment. :-( For more details, see: https://github.com/eclipse-aspectj/aspectj/issues/260#issuecomment-1736540176 Adoptium Java 21 release is not available yet, so we need to run on EA. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Bump JDT Core to 1.9.21-SNAPSHOTAlexander Kriegisch2023-09-262-4/+10
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Upgrade CI build to JDK 21Alexander Kriegisch2023-09-261-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Update compiler.version to latest Java 20 mergeAlexander Kriegisch2023-09-251-1/+1
| | | | | | | | | messages_aspectj.properties: compiler.version = ... d23a141971a37b (27Apr2023) - Java20 Too bad this version string did not make it into 1.9.20 and 1.9.20.1. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>