]> source.dussan.org Git - aspectj.git/log
aspectj.git
10 months agoExperimentally add asciidoctor-maven-plugin to 'docs' module
Alexander Kriegisch [Sat, 8 Jan 2022 04:49:07 +0000 (11:49 +0700)]
Experimentally add asciidoctor-maven-plugin to 'docs' module

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
10 months agoRemove all references to AOSD, but mention Spring
Alexander Kriegisch [Tue, 10 Aug 2021 01:31:57 +0000 (08:31 +0700)]
Remove all references to AOSD, but mention Spring

- The website is just a front page.
- I failed to contact anyone via:
    * fb9553b7471df638478bbf918044bf52.gdrp@customers.whoisprivacycorp.com
    * info@aosd.net
    * admin@aosd.net
- The discuss@aosd.net mailing list had its last post 6 years ago and
  the last one concerning AspectJ 11 years ago according to the archive
  at https://discuss.aosd.narkive.com/.

Mention Spring support for native AspectJ an Spring AOP as a real world
example in the FAQ.

Also remove an FAQ link to a no longer existing PARC website about
AspectJ and fix a small typo.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
10 months agoAsciiDoc: updates in main index and FAQ (WIP)
Alexander Kriegisch [Sat, 24 Jul 2021 05:12:40 +0000 (12:12 +0700)]
AsciiDoc: updates in main index and FAQ (WIP)

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
10 months agoGlobally fix spelling error "dependancy/dependancies"
Alexander Kriegisch [Fri, 23 Jul 2021 04:33:47 +0000 (11:33 +0700)]
Globally fix spelling error "dependancy/dependancies"

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
10 months agoGlobally replace HTTP links to eclipse.org by HTTPS
Alexander Kriegisch [Fri, 23 Jul 2021 04:31:13 +0000 (11:31 +0700)]
Globally replace HTTP links to eclipse.org by HTTPS

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
10 months agoRemove outdated JDeveloper links from AsciiDocs
Alexander Kriegisch [Tue, 20 Jul 2021 07:58:05 +0000 (14:58 +0700)]
Remove outdated JDeveloper links from AsciiDocs

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
10 months agoMore AsciiDoc formatting improvements (WIP)
Alexander Kriegisch [Mon, 19 Jul 2021 05:12:37 +0000 (12:12 +0700)]
More AsciiDoc formatting improvements (WIP)

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
10 months agoImprove release notes formatting
Alexander Kriegisch [Mon, 19 Jul 2021 05:11:38 +0000 (12:11 +0700)]
Improve release notes formatting

Also unify the way copyright and release date is displayed

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
10 months agoFinish AsciiDoc improvements in ADK Developer's Notebook (WIP)
Alexander Kriegisch [Sat, 17 Jul 2021 04:42:41 +0000 (11:42 +0700)]
Finish AsciiDoc improvements in ADK Developer's Notebook (WIP)

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
10 months agoMore AsciiDoc improvements, mostly about code formatting (WIP)
Alexander Kriegisch [Fri, 16 Jul 2021 11:45:52 +0000 (18:45 +0700)]
More AsciiDoc improvements, mostly about code formatting (WIP)

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
10 months agoFix more AsciiDoc links and code blocks (WIP)
Alexander Kriegisch [Fri, 16 Jul 2021 03:48:06 +0000 (10:48 +0700)]
Fix more AsciiDoc links and code blocks (WIP)

- Add Java syntax highlighting to AspectJ and Java files
- Add XML syntax highlighting to XML files (Ant, LTW etc.)
- Dedent and remove empty lines, where necessary
- Enclose in-line line numbers for Java code in /*23*/ comments in order
  to enable Java formatting

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
10 months agoFix some AsciiDoc links (WIP)
Alexander Kriegisch [Tue, 13 Jul 2021 05:07:45 +0000 (12:07 +0700)]
Fix some AsciiDoc links (WIP)

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
10 months agoAdd initial set of AsciiDoc files, converted from HTML/XML
Alexander Kriegisch [Tue, 29 Jun 2021 06:18:25 +0000 (13:18 +0700)]
Add initial set of AsciiDoc files, converted from HTML/XML

Some originals have been deleted already. Others, especially the user
guides, still exist in both formats because they have not been
proof-read and probably lots of links do not function as expected. But I
want to see what the files look like directly on GitHun.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoAdd minimal JRE version check to Main.runMain
Alexander Kriegisch [Fri, 15 Dec 2023 07:56:50 +0000 (14:56 +0700)]
Add minimal JRE version check to Main.runMain

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>
11 months agoDepend on JDT Core 1.9.21.1-SNAPSHOT
Alexander Kriegisch [Fri, 15 Dec 2023 05:19:28 +0000 (12:19 +0700)]
Depend on JDT Core 1.9.21.1-SNAPSHOT

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>
11 months agoSet version to 1.9.21.1-SNAPSHOT
Alexander Kriegisch [Fri, 15 Dec 2023 04:52:41 +0000 (11:52 +0700)]
Set version to 1.9.21.1-SNAPSHOT

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>
11 months agoRemove some TODOs from tests after upstream JDT Core fixes
Alexander Kriegisch [Thu, 14 Dec 2023 13:17:51 +0000 (20:17 +0700)]
Remove some TODOs from tests after upstream JDT Core fixes

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoAdd info about #269 to 1.9.21 release notes
Alexander Kriegisch [Thu, 14 Dec 2023 13:16:27 +0000 (20:16 +0700)]
Add info about #269 to 1.9.21 release notes

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoJavaVersionCompatibility.md: Update for AspectJ 1.9.21
Alexander Kriegisch [Thu, 14 Dec 2023 11:19:08 +0000 (18:19 +0700)]
JavaVersionCompatibility.md: Update for AspectJ 1.9.21

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoIDE.md: Add Eclipse 2023-12 update sites for AJDT
Alexander Kriegisch [Tue, 12 Dec 2023 04:35:29 +0000 (11:35 +0700)]
IDE.md: Add Eclipse 2023-12 update sites for AJDT

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoFix typo in README-1921.html
Alexander Kriegisch [Mon, 11 Dec 2023 04:22:42 +0000 (11:22 +0700)]
Fix typo in README-1921.html

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoSet version to 1.9.22-SNAPSHOT
Alexander Kriegisch [Mon, 11 Dec 2023 03:07:25 +0000 (10:07 +0700)]
Set version to 1.9.22-SNAPSHOT

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoRelease AspectJ 1.9.21 V1_9_21
Alexander Kriegisch [Mon, 11 Dec 2023 03:05:53 +0000 (10:05 +0700)]
Release AspectJ 1.9.21

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoAdd AspectJ 1.9.21 release notes
Alexander Kriegisch [Mon, 11 Dec 2023 02:49:02 +0000 (09:49 +0700)]
Add AspectJ 1.9.21 release notes

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoAdd tests for Java 21 unnamed classes and instance methods
Alexander Kriegisch [Mon, 11 Dec 2023 02:13:40 +0000 (09:13 +0700)]
Add tests for Java 21 unnamed classes and instance methods

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>
11 months agoAdd tests for Java 21 unnamed patterns
Alexander Kriegisch [Sun, 10 Dec 2023 09:55:33 +0000 (16:55 +0700)]
Add tests for Java 21 unnamed patterns

TODO: Activate after
https://github.com/eclipse-jdt/eclipse.jdt.core/issues/893 is done.
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoAdd tests for Java 21 string patterns
Alexander Kriegisch [Sun, 10 Dec 2023 06:53:15 +0000 (13:53 +0700)]
Add tests for Java 21 string patterns

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>
11 months agoMake OutputSpec::getTrimmedLines work for empty lines on Windows
Alexander Kriegisch [Sun, 10 Dec 2023 06:28:37 +0000 (13:28 +0700)]
Make OutputSpec::getTrimmedLines work for empty lines on Windows

Improve the regex splitting lines to actually remove CR characters on
Windows.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoSimple regression test unit test for #266
Alexander Kriegisch [Sun, 10 Dec 2023 02:31:35 +0000 (09:31 +0700)]
Simple regression test unit test for #266

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoSet exception root cause in ExtensibleURLClassLoader::findClass
Andy Russell [Fri, 8 Dec 2023 20:20:45 +0000 (15:20 -0500)]
Set exception root cause in ExtensibleURLClassLoader::findClass

Fixes #266.

11 months agoRELEASE.md: simplify '-DskipTests' command docs
Alexander Kriegisch [Sat, 2 Dec 2023 02:40:08 +0000 (09:40 +0700)]
RELEASE.md: simplify '-DskipTests' command docs

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoSet version to 1.9.21-SNAPSHOT again
Alexander Kriegisch [Sat, 2 Dec 2023 02:21:40 +0000 (09:21 +0700)]
Set version to 1.9.21-SNAPSHOT again

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoRelease candidate 1.9.21.RC1 V1_9_21_RC1
Alexander Kriegisch [Sat, 2 Dec 2023 02:08:59 +0000 (09:08 +0700)]
Release candidate 1.9.21.RC1

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoBump JDT Core to 1.9.21.RC1 java-21 261/head
Alexander Kriegisch [Sat, 2 Dec 2023 01:56:20 +0000 (08:56 +0700)]
Bump JDT Core to 1.9.21.RC1

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoBump ECJ to 23b713ce (01Dec2023)
Alexander Kriegisch [Sat, 2 Dec 2023 00:28:16 +0000 (07:28 +0700)]
Bump ECJ to 23b713ce (01Dec2023)

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoAdjust to API changes in ECJ 4dc7b558 (01Dec2023)
Alexander Kriegisch [Fri, 1 Dec 2023 13:13:12 +0000 (20:13 +0700)]
Adjust to API changes in ECJ 4dc7b558 (01Dec2023)

Mostly StringBuffer -> StringBuilder API changes

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoBump AJC version string to c13b03ceabf0c1
Alexander Kriegisch [Mon, 27 Nov 2023 04:20:30 +0000 (11:20 +0700)]
Bump AJC version string to c13b03ceabf0c1

More exactly:
Eclipse Compiler c13b03ceabf0c1 (26Nov2023) - Java21

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoReactivate some tests on JDK 21 after upstream fix
Alexander Kriegisch [Mon, 27 Nov 2023 04:17:27 +0000 (11:17 +0700)]
Reactivate some tests on JDK 21 after upstream fix

https://github.com/eclipse-jdt/eclipse.jdt.core/issues/1466 has finally
been fixed.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
11 months agoAllTests19 suite: add AllTestsAspectJ1921
Alexander Kriegisch [Mon, 27 Nov 2023 04:15:40 +0000 (11:15 +0700)]
AllTests19 suite: add AllTestsAspectJ1921

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>
11 months agoAdd missing file RecordPatternsPreview1ExhaustivenessOK1.java for JDK 21
Alexander Kriegisch [Mon, 27 Nov 2023 04:14:04 +0000 (11:14 +0700)]
Add missing file RecordPatternsPreview1ExhaustivenessOK1.java for JDK 21

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>
12 months agoAjcTaskTest: Be more lenient with aspectjrt version warning
Alexander Kriegisch [Tue, 21 Nov 2023 00:51:58 +0000 (07:51 +0700)]
AjcTaskTest: Be more lenient with aspectjrt version warning

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>
12 months agoAjcTaskTest: unwrap redundant if statement
Alexander Kriegisch [Tue, 21 Nov 2023 00:48:37 +0000 (07:48 +0700)]
AjcTaskTest: unwrap redundant if statement

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
12 months agoRELEASE.md: Add '--add-opens' info for Nexus Staging 'rc:release'
Alexander Kriegisch [Sun, 19 Nov 2023 06:48:26 +0000 (13:48 +0700)]
RELEASE.md: Add '--add-opens' info for Nexus Staging 'rc:release'

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>
12 months agoSet version 1.9.21-SNAPSHOT
Alexander Kriegisch [Sun, 19 Nov 2023 06:26:39 +0000 (13:26 +0700)]
Set version 1.9.21-SNAPSHOT

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
12 months agoRelease milestone 1.9.21.M1 V1_9_21_M1
Alexander Kriegisch [Sun, 19 Nov 2023 06:22:14 +0000 (13:22 +0700)]
Release milestone 1.9.21.M1

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
12 months agoEnable some tests after J19 problems were fixed for J21
Alexander Kriegisch [Sun, 5 Nov 2023 03:03:23 +0000 (10:03 +0700)]
Enable some tests after J19 problems were fixed for J21

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>
12 months agoSwitch CI build to Temurin JDK 21 final (from EA)
Alexander Kriegisch [Wed, 1 Nov 2023 01:52:44 +0000 (08:52 +0700)]
Switch CI build to Temurin JDK 21 final (from EA)

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
12 months agoAdjust to latest changes in JDT Core
Alexander Kriegisch [Wed, 1 Nov 2023 01:50:17 +0000 (08:50 +0700)]
Adjust to latest changes in JDT Core

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
13 months agoMake all existing tests run on JDK 21
Alexander Kriegisch [Thu, 5 Oct 2023 04:29:04 +0000 (11:29 +0700)]
Make all existing tests run on JDK 21

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>
13 months agoMove some 1.9.20.1 bug tests to correct directory
Alexander Kriegisch [Thu, 5 Oct 2023 04:24:28 +0000 (11:24 +0700)]
Move some 1.9.20.1 bug tests to correct directory

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
13 months agoAjcTestCase: Make sure main methods can be called in Java 21
Alexander Kriegisch [Thu, 5 Oct 2023 04:22:13 +0000 (11:22 +0700)]
AjcTestCase: Make sure main methods can be called in Java 21

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>
13 months agoAdd test infrastructure for Java 21 (WIP)
Alexander Kriegisch [Thu, 5 Oct 2023 01:09:24 +0000 (08:09 +0700)]
Add test infrastructure for Java 21 (WIP)

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>
13 months agoBeautify sanity tests using bytecode level constants
Alexander Kriegisch [Thu, 5 Oct 2023 01:00:47 +0000 (08:00 +0700)]
Beautify sanity tests using bytecode level constants

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
13 months agoBump ASM to 9.6 (new Opcodes.V22 constant for Java 22)
Alexander Kriegisch [Thu, 5 Oct 2023 00:17:06 +0000 (07:17 +0700)]
Bump ASM to 9.6 (new Opcodes.V22 constant for Java 22)

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
13 months agoAntSpec: Improve filter for warning "Archived non-system classes are disabled"
Alexander Kriegisch [Sun, 1 Oct 2023 06:46:30 +0000 (13:46 +0700)]
AntSpec: Improve filter for warning "Archived non-system classes are disabled"

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>
13 months agoAjLookupEnvironment: readability refactoring
Alexander Kriegisch [Sun, 1 Oct 2023 05:56:22 +0000 (12:56 +0700)]
AjLookupEnvironment: readability refactoring

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>
13 months agoAjLookupEnvironment: add new phase CONNECT_TYPE_HIERARCHY2
Alexander Kriegisch [Thu, 28 Sep 2023 03:51:38 +0000 (10:51 +0700)]
AjLookupEnvironment: add new phase CONNECT_TYPE_HIERARCHY2

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
13 months agoIgnore AspectJ core dumps
Alexander Kriegisch [Wed, 27 Sep 2023 02:13:11 +0000 (09:13 +0700)]
Ignore AspectJ core dumps

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
13 months agoRemove old '.cvsignore' files
Alexander Kriegisch [Wed, 27 Sep 2023 02:10:47 +0000 (09:10 +0700)]
Remove old '.cvsignore' files

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
13 months agoCI build: remove JDK 11 build, switch 21 to 21-ea
Alexander Kriegisch [Wed, 27 Sep 2023 01:49:06 +0000 (08:49 +0700)]
CI build: remove JDK 11 build, switch 21 to 21-ea

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>
13 months agoBump JDT Core to 1.9.21-SNAPSHOT
Alexander Kriegisch [Tue, 26 Sep 2023 06:45:32 +0000 (13:45 +0700)]
Bump JDT Core to 1.9.21-SNAPSHOT

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
13 months agoUpgrade CI build to JDK 21
Alexander Kriegisch [Tue, 26 Sep 2023 06:43:00 +0000 (13:43 +0700)]
Upgrade CI build to JDK 21

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
13 months agoUpdate compiler.version to latest Java 20 merge
Alexander Kriegisch [Mon, 25 Sep 2023 02:14:56 +0000 (09:14 +0700)]
Update compiler.version to latest Java 20 merge

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>
14 months agoSet version to 1.9.21-SNAPSHOT
Alexander Kriegisch [Mon, 4 Sep 2023 04:51:58 +0000 (11:51 +0700)]
Set version to 1.9.21-SNAPSHOT

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
14 months agoUpdate AspectJ libraries in 'lib' subfolders V1_9_20_1
Alexander Kriegisch [Mon, 4 Sep 2023 04:06:28 +0000 (11:06 +0700)]
Update AspectJ libraries in 'lib' subfolders

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
14 months agoAspectJ release 1.9.20.1
Alexander Kriegisch [Mon, 4 Sep 2023 03:33:19 +0000 (10:33 +0700)]
AspectJ release 1.9.20.1

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
14 months agoUpdate 1.9.20 release notes for 1.9.20.1
Alexander Kriegisch [Mon, 4 Sep 2023 03:22:50 +0000 (10:22 +0700)]
Update 1.9.20 release notes for 1.9.20.1

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoajc162.xml: Fix test failing after previous bugfix
Alexander Kriegisch [Wed, 23 Aug 2023 03:13:02 +0000 (10:13 +0700)]
ajc162.xml: Fix test failing after previous bugfix

A change made to ajc162.xml in commit 43cb1e2f has been reverted
and improved after the recent negated type pattern fix. Relates to #257.

The pointcut 'call(!void *.*(..)) && this(src) && target(dst)' actually
does match method call 'payloadClass.getPayload()' within the
around-advice in GenericClassInAdvice itself.

Improvement: Activate '-showWeaveInfo' and verify weaving message.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoNotTypePattern: Fix matching problem for negated type patterns
Alexander Kriegisch [Wed, 23 Aug 2023 02:33:21 +0000 (09:33 +0700)]
NotTypePattern: Fix matching problem for negated type patterns

The implementation for boolean matchesArray(UnresolvedType type) was
buggy.

'!String' should match anything but String, no matter if it is
an array or not, e.g. int, void, int[], String[], String[][].

'!String[]' should match anything but String[], no matter if it is
an array or not, e.g. int, void, int[], String, String[][].

Fixes #257.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoAdd regression test for #257
Alexander Kriegisch [Wed, 23 Aug 2023 02:23:38 +0000 (09:23 +0700)]
Add regression test for #257

Relates to #257.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoImprove bridge method test, bootstrapping ASM usage
Alexander Kriegisch [Tue, 22 Aug 2023 00:54:19 +0000 (07:54 +0700)]
Improve bridge method test, bootstrapping ASM usage

Instead of using a pre-generated JAR, the source code generating the
class with reordered methods (bridge method first) is now compiled
directly before usage. This is possible, because in the previous commit
ASM was put on the Ajc classpath for tests.

Relates to #256.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoPut ASM on classpath for Ajc in tests
Alexander Kriegisch [Tue, 22 Aug 2023 00:49:36 +0000 (07:49 +0700)]
Put ASM on classpath for Ajc in tests

This enables compiled source code to use ASM. This way, it is possible
to bootstrap tests needing specially prepared class files by
  1. compiling an ASM-enabled byte code generator class,
  2. running the generator, writing out class files,
  3. using the generated class files in subsequent tests.

Until now, such classes always had to be checked into the ASM directly
or inside JARs. Now, this is no longer necessary.

The next commit will be the first example.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoFix Spring issue 27761
Alexander Kriegisch [Mon, 21 Aug 2023 10:37:56 +0000 (17:37 +0700)]
Fix Spring issue 27761

Fixes spring-projects/spring-framework#27761.
Fixes #256.

Bridge methods are now ignored in favour of their overriding namesakes
during method matching.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoRegression test for Spring issue 27761
Alexander Kriegisch [Mon, 21 Aug 2023 10:18:27 +0000 (17:18 +0700)]
Regression test for Spring issue 27761

Relates to spring-projects/spring-framework#27761.

The test needs an ASM-generated class file with reordered methods in
order to reproduce the issue in plain AspectJ. The test fails now, but
should pass after the fix.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoRELEASE.md: add info about creating docs for installer
Alexander Kriegisch [Wed, 16 Aug 2023 06:58:49 +0000 (13:58 +0700)]
RELEASE.md: add info about creating docs for installer

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoSet version to 1.9.21-SNAPSHOT
Alexander Kriegisch [Wed, 16 Aug 2023 06:58:13 +0000 (13:58 +0700)]
Set version to 1.9.21-SNAPSHOT

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoRelease 1.9.20 V1_9_20
Alexander Kriegisch [Wed, 16 Aug 2023 06:37:26 +0000 (13:37 +0700)]
Release 1.9.20

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoAdd more info and set release date in 1.9.20 release notes
Alexander Kriegisch [Wed, 16 Aug 2023 04:17:59 +0000 (11:17 +0700)]
Add more info and set release date in 1.9.20 release notes

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoBump JDT Core to 1.9.20
Alexander Kriegisch [Wed, 16 Aug 2023 04:14:49 +0000 (11:14 +0700)]
Bump JDT Core to 1.9.20

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoAdd 1.9.20 release notes and update version compatibility matrix
Alexander Kriegisch [Wed, 16 Aug 2023 03:36:33 +0000 (10:36 +0700)]
Add 1.9.20 release notes and update version compatibility matrix

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoMove 1.9.20 bug regression tests to the correct spots
Alexander Kriegisch [Tue, 15 Aug 2023 01:58:14 +0000 (08:58 +0700)]
Move 1.9.20 bug regression tests to the correct spots

Originally, I had intended to release a minor 1.9.19.1 release to fix
some bugs. But then, Java 20 support was implemented and merged, so the
next release will be 1.9.20. Therefore, I moved some bug regression
tests to the 1.9.20 suite.

Relates to #254.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoFix tests using Javac via Ant using source/target < 1.8
Alexander Kriegisch [Sun, 6 Aug 2023 01:50:46 +0000 (08:50 +0700)]
Fix tests using Javac via Ant using source/target < 1.8

Since JDK 20, targets older than 1.8 are no longer supported by Javac.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoImprove error message in LazyClassGen.getJavaClassBytesIncludingReweavable
Alexander Kriegisch [Sun, 6 Aug 2023 02:12:38 +0000 (09:12 +0700)]
Improve error message in LazyClassGen.getJavaClassBytesIncludingReweavable

No longer report "Unable to find ASM classes", if simply an ASM
processing error occurred. In that case, report "Error processing
class file".

Relates to #250.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoFix inline accessor method bug in BcelAccessForInlineMunger
Alexander Kriegisch [Sat, 5 Aug 2023 05:15:37 +0000 (12:15 +0700)]
Fix inline accessor method bug in BcelAccessForInlineMunger

Make sure to create one ajc$inlineAccessMethod per identically named
(overloaded) private aspect method in
BcelAccessForInlineMunger.createOrGetInlineAccessorForMethod.

Fixes #250.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoAdd regression test for #250
Alexander Kriegisch [Sat, 5 Aug 2023 04:34:59 +0000 (11:34 +0700)]
Add regression test for #250

Reproduces #250.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
15 months agoUse relocated ASM class names in BCException message
Alexander Kriegisch [Fri, 4 Aug 2023 02:31:31 +0000 (09:31 +0700)]
Use relocated ASM class names in BCException message

Fixes #251.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
16 months agoAdd method ArrayReferenceType.equals to fix failing tests
Alexander Kriegisch [Mon, 26 Jun 2023 06:11:38 +0000 (08:11 +0200)]
Add method ArrayReferenceType.equals to fix failing tests

This also fixes a bug. Previously, ResolvedType.equals was used for
equality check, and in there is a '==' comparison, which does not work
for two different ArrayReferenceType instances, even if the component
type is the same.

Relates to #246.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
16 months agoBcelTypeMunger.getRealMemberForITDFromAspect code cosmetics
Alexander Kriegisch [Sun, 25 Jun 2023 10:22:34 +0000 (12:22 +0200)]
BcelTypeMunger.getRealMemberForITDFromAspect code cosmetics

Relates to #246.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
16 months agoCorrectly identify ITD method signatures in weaver
Alexander Kriegisch [Sun, 25 Jun 2023 10:17:48 +0000 (12:17 +0200)]
Correctly identify ITD method signatures in weaver

by removing faulty condition 'if (isCtorRelated)' from
BcelTypeMunger.getRealMemberForITDFromAspect, see comment
https://github.com/eclipse-aspectj/aspectj/issues/246#issuecomment-1605999896.

Fixes #246.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
16 months agoAdd failing test reproducing #246
Alexander Kriegisch [Sat, 24 Jun 2023 06:15:24 +0000 (08:15 +0200)]
Add failing test reproducing #246

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
16 months agoAdjust expected error message in switch pattern tests after upstream typo fix
Alexander Kriegisch [Fri, 31 Mar 2023 07:26:45 +0000 (09:26 +0200)]
Adjust expected error message in switch pattern tests after upstream typo fix

See:
https://github.com/eclipse-jdt/eclipse.jdt.core/issues/919
https://github.com/eclipse-jdt/eclipse.jdt.core/commit/b681dfb5
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
16 months agoImprove SystemPropertiesTest
Alexander Kriegisch [Thu, 30 Mar 2023 10:03:59 +0000 (12:03 +0200)]
Improve SystemPropertiesTest

- Fix quotation error in console output
- Throw RuntimeException instead of Error. Maybe this helps to avoid
  the prominent error message listing in the GitHub build log, which
  always looks like something bad happened, even though it is simply an
  expected error.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
16 months agoSwitch CI build to coactions/setup-xvfb
Alexander Kriegisch [Thu, 30 Mar 2023 09:09:02 +0000 (11:09 +0200)]
Switch CI build to coactions/setup-xvfb

GabrielBB/xvfb-action is no longer maintained and points to
coactions/setup-xvfb. The switch should eliminate this warning in CI
builds:

Node.js 12 actions are deprecated. Please update the following actions
to use Node.js 16: GabrielBB/xvfb-action@v1.6. For more information see:
https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
16 months agoAdd AllTestsAspectJ1920 to AllTests19 suite
Alexander Kriegisch [Thu, 30 Mar 2023 07:59:18 +0000 (09:59 +0200)]
Add AllTestsAspectJ1920 to AllTests19 suite

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
16 months agoeclipse-jdt/eclipse.jdt.core#919 has been fixed
Alexander Kriegisch [Thu, 30 Mar 2023 07:13:05 +0000 (09:13 +0200)]
eclipse-jdt/eclipse.jdt.core#919 has been fixed

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
16 months agoBuild on JDK 11, 17, 20 (remove 19)
Alexander Kriegisch [Thu, 30 Mar 2023 07:12:00 +0000 (09:12 +0200)]
Build on JDK 11, 17, 20 (remove 19)

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
16 months agoFix tests using Javac using source/target 1.7
Alexander Kriegisch [Wed, 29 Mar 2023 14:14:00 +0000 (16:14 +0200)]
Fix tests using Javac using source/target 1.7

Javac 20+ no longer supports 1.7.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
16 months agoFix javadoc generation broken on JDK 20
Alexander Kriegisch [Wed, 29 Mar 2023 10:49:22 +0000 (12:49 +0200)]
Fix javadoc generation broken on JDK 20

Firstly, Javadoc 20 cannot handle source level 1.7 anymore, so I bumped
it to 11, which hopefully will be around for another while. It also
matches the ajc minimum of Java 11, i.e. ajdoc and ajc are synchronised
in this regard now.

Secondly, as of JDK 20, the javadoc tool renders HTML pages with section
headers specific to the JVM default locale. The workaround is to set the
locale to English before calling javadoc.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
16 months agoImprove Java 9+ version matching in ClassPath.getClassPath
Alexander Kriegisch [Wed, 29 Mar 2023 06:38:57 +0000 (08:38 +0200)]
Improve Java 9+ version matching in ClassPath.getClassPath

On the short term, this fixes the failing weaver tests on JDK 20. On the
long term, the improved matching heuristics should make it unnecessary
to update the regex again.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
16 months agoAdd basic tests for Java 20, deactivate Java 19 preview tests
Alexander Kriegisch [Tue, 28 Mar 2023 14:29:12 +0000 (16:29 +0200)]
Add basic tests for Java 20, deactivate Java 19 preview tests

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>