]> source.dussan.org Git - aspectj.git/log
aspectj.git
8 months agoUpdate Java 21 string patterns tests after JDT Core bugfix
Alexander Kriegisch [Mon, 12 Feb 2024 05:57:27 +0000 (12:57 +0700)]
Update Java 21 string patterns tests after JDT Core bugfix

https://github.com/eclipse-jdt/eclipse.jdt.core/issues/1719 was fixed.
Change test to expect the correct strings for processed string pattern.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoajc1921.xml: Add AspectJ version hint to #279 test case
Alexander Kriegisch [Fri, 9 Feb 2024 05:55:27 +0000 (12:55 +0700)]
ajc1921.xml: Add AspectJ version hint to #279 test case

"same class woven concurrently in parallel-capable classloader".

Relates to #279.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoAdd implementation note and JDK-8325536 link to Aj.preProcess
Alexander Kriegisch [Fri, 9 Feb 2024 05:53:13 +0000 (12:53 +0700)]
Add implementation note and JDK-8325536 link to Aj.preProcess

See https://bugs.openjdk.org/browse/JDK-8325536.

Relates to #277.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoFactor out some anonymous IWeaveRequestor classes to inner classes
Alexander Kriegisch [Thu, 8 Feb 2024 04:58:49 +0000 (11:58 +0700)]
Factor out some anonymous IWeaveRequestor classes to inner classes

Drive-by cosmetics in the context of #279.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoStore only weaved class names in the generatedClasses map
Uri Simchoni [Mon, 5 Feb 2024 06:34:35 +0000 (08:34 +0200)]
Store only weaved class names in the generatedClasses map

The generatedClasses map contained both keys of woven classes that had
generated classes associated with them, and the keys of the generated
classes themselves. It seems like this map is never consulted for the
generated class key - the generated class is generated from within the
context of woven class loading / retransformation, and thus no transform
event is generated for it by the JVM. Because of that, we do not need to
guard against re-weaving it. Other uses of generatedClasses map are for
full/empty tests, where the woven class key is sufficient. This change
simplifies deletion of a class because we do not have to look for its
associated generated classes.

Relates to #279.

8 months agoRemove WeavingAdaptor.couldWeave()
Uri Simchoni [Mon, 5 Feb 2024 06:29:32 +0000 (08:29 +0200)]
Remove WeavingAdaptor.couldWeave()

WeavingAdaptor.couldWeave() tested two things: whether this specific
class (by its name) should be excluded from weaving, and whether the
class has generated classes associated with it (in which case we avoid
weaving to avoid re-creating those generated classes). However, if the
class has generated classes associated, couldWeave() is not called at
all because of the new wovenWithGeneratedClass() test, so we have
only the name test which is now called directly.

Relates to #279.

8 months agoUse previous weaving result if classes were generated during weaving
Uri Simchoni [Sun, 4 Feb 2024 10:51:15 +0000 (12:51 +0200)]
Use previous weaving result if classes were generated during weaving

A parallel-capable class loader might load the same class multiple times
in multiple threads, see
https://docs.oracle.com/javase/7/docs/technotes/guides/lang/cl-mt.html.

In this scenario, the JVM instrumentation mechanism invokes the AspectJ
weaver twice on the same class. In simple weaving scenarios, this would
just cause weaving logic to run multiple times and produce the same
result for each thread, but if the weaver is generating new classes,
it is undesirable to generate those classes multiple times.

To avoid this, the generatedClasses map in WeavingAdaptor keeps track of
classes for which inner classes were generated and avoids re-weaving
them. However, before this change, if a class was found in the generated
map, the weaver would return the un-woven bytes, which would cause
AspectJ not to work for some of the threads.

This change returns the woven bytes instead of re-running weaving.

Fixes #279.

8 months agoChange value of woven class in generatedClasses map
Uri Simchoni [Sun, 4 Feb 2024 10:46:03 +0000 (12:46 +0200)]
Change value of woven class in generatedClasses map

Store the woven class and not a generated (inner) class as value of the
woven class name. This has no effect in this commit, because the value
is not consulted at all, but will be used later on.

Relates to #279.

8 months agoIT reproducing GitHub issue 279
Alexander Kriegisch [Thu, 8 Feb 2024 04:25:32 +0000 (11:25 +0700)]
IT reproducing GitHub issue 279

Test "same class woven concurrently in parallel-capable classloader"
reproduces #279. Originally taken and modified from:
https://gitlab.com/urisimchoni/aspectj-parallel-issue

Co-authored-by: Uri Simchoni <urisimchoni@gmail.com>
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoReplace old by new AspectJ GitHub URL
Alexander Kriegisch [Thu, 8 Feb 2024 02:40:51 +0000 (09:40 +0700)]
Replace old by new AspectJ GitHub URL

github.com/eclipse/org.aspectj -> github.com/eclipse-aspectj/aspectj

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoAdd javadoc links to ClassFileTransformer::transform
Alexander Kriegisch [Wed, 7 Feb 2024 05:06:30 +0000 (12:06 +0700)]
Add javadoc links to ClassFileTransformer::transform

Relates to #277.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoWeaver returns null instead of original bytes for unwoven classes
Alexander Kriegisch [Wed, 7 Feb 2024 02:35:55 +0000 (09:35 +0700)]
Weaver returns null instead of original bytes for unwoven classes

This change makes sense independently of #277, but also enables using

  - cp "my.jar;aspectjweaver.jar"
  -XX:+AllowArchivingWithJavaAgent
  -javaagent:aspectjweaver.jar

while creating a CDS archive. Afterward, the application can be run in
its woven state from the CDS archive even without '-javaagent', because
the byte code was archived in its woven state ("poor man's AJC"). See
https://github.com/eclipse-aspectj/aspectj/issues/277#issuecomment-1931142753
for details.

Fixes #277.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoBulk update GitHub actions
Alexander Kriegisch [Wed, 7 Feb 2024 03:49:34 +0000 (10:49 +0700)]
Bulk update GitHub actions

coactions/setup-xvfb no longer seems to be necessary, because XVFB is
now pre-installed on Linux.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoWorkaround for non-English javadoc generation
Alexander Kriegisch [Thu, 1 Feb 2024 10:16:42 +0000 (17:16 +0700)]
Workaround for non-English javadoc generation

On my workstation, more recent JDKs generate partly German javadocs.

Background: Avoid non-English javadoc generation. Due to
https://bugs.openjdk.org/browse/JDK-8222793 reoccurring at least in JDKs
19-21 and also being broken in some older JDKs, we cannot rely on just
setting the locale parameter, but also need the 'user.language' and
'user.country' parameters in 'additionalJOptions' as a workaround.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoDRY: Centralise common Maven Javadoc configuration
Alexander Kriegisch [Thu, 1 Feb 2024 10:13:22 +0000 (17:13 +0700)]
DRY: Centralise common Maven Javadoc configuration

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoFix some javadoc links in ADOCs
Alexander Kriegisch [Thu, 1 Feb 2024 10:11:38 +0000 (17:11 +0700)]
Fix some javadoc links in ADOCs

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoUnpack asm-commons during javadoc generation
Alexander Kriegisch [Thu, 1 Feb 2024 10:11:05 +0000 (17:11 +0700)]
Unpack asm-commons during javadoc generation

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoAlways use ":leveloffset: +1" with ":doctype: book"
Alexander Kriegisch [Thu, 1 Feb 2024 04:57:10 +0000 (11:57 +0700)]
Always use ":leveloffset: +1" with ":doctype: book"

Headlines per ADOC file should start at level 1, not 2. Adjusting the
level offset for books helps to avoid warnings when including book
chapters, but still allows to also use the chapters as stand-alone
documents.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoRemove some old files relating to AspectJ Debugger ajdb
Alexander Kriegisch [Tue, 30 Jan 2024 07:29:59 +0000 (14:29 +0700)]
Remove some old files relating to AspectJ Debugger ajdb

If ajdb ever existed and was part of the product, it must have been 20+
years ago. There are still some references to it in old release notes
and unused Ant and text files, but that is OK for now.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoUpdate InstallContext.onWindowsPro for Windows 11+
Alexander Kriegisch [Mon, 29 Jan 2024 10:41:30 +0000 (17:41 +0700)]
Update InstallContext.onWindowsPro for Windows 11+

The matcher is more future-proof now, as long as Windows names stay
"Windows Server.*" and "Windows [1-8][0-9]?".

This is not beautiful, but a quick drive-by improvement.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoBump asciidoctor-maven-plugin to 2.2.5
Alexander Kriegisch [Mon, 29 Jan 2024 02:29:27 +0000 (09:29 +0700)]
Bump asciidoctor-maven-plugin to 2.2.5

getting rid of JRuby dependency workaround for
https://github.com/asciidoctor/asciidoctor-maven-plugin/issues/553

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoRemove unnecessary agent manifest entries from aspectjmatcher POM
Alexander Kriegisch [Mon, 29 Jan 2024 02:28:09 +0000 (09:28 +0700)]
Remove unnecessary agent manifest entries from aspectjmatcher POM

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoWorkaround for defining classes during LTW
Alexander Kriegisch [Sun, 28 Jan 2024 09:13:22 +0000 (16:13 +0700)]
Workaround for defining classes during LTW

Overhaul ClassLoaderWeavingAdaptor to use statically initialised Unsafe
instances and method handles pointing to their 'defineClass' methods.
Those now work universally on JDKs 8-21. In older JDKs, the method used
to be in sun.misc.Unsafe, in more recent ones on jdk.internal.misc.Unsafe.
It is challenging to fetch instances, especially as reflection
protection and module boundaries have been increased in the JDK
progressively. But finally, a solution was adapted from Byte Buddy (BB).
Kudos to BB author Rafael Winterhalter. The previous solution to use
ClassLoader::defineClass and require '--add-opens' is no longer
necessary for the first time since it became necessary in AspectJ 1.9.7
with Java 16 support.

Add org.ow2.asm:asm-common as a dependency everywhere org.ow2.asm:asm
was used before. Maybe that is too many places, but no worse than before.

Add missing dependency on loadtime to aspectjweaver. This kept a build
like "mvn install -am -pl aspectjweaver" from picking up changed
loadtime classes.

Fixes #117.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
8 months agoUpdate AJDT update site URLs after project termination
Alexander Kriegisch [Sun, 21 Jan 2024 01:52:56 +0000 (08:52 +0700)]
Update AJDT update site URLs after project termination

AJDT is now part of the AspectJ project. Hence, both repository and
download area have moved to other URLs. See also:
https://gitlab.eclipse.org/eclipsefdn/emo-team/emo/-/issues/475#note_1612124

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoFix typo in BUILD.md
Alexander Kriegisch [Sun, 7 Jan 2024 04:29:17 +0000 (11:29 +0700)]
Fix typo in BUILD.md

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoAttach installer to CI build
Alexander Kriegisch [Sun, 7 Jan 2024 04:26:26 +0000 (11:26 +0700)]
Attach installer to CI build

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoDelete obsolete files
Alexander Kriegisch [Sun, 7 Jan 2024 04:19:13 +0000 (11:19 +0700)]
Delete obsolete files

- Redundant copies of HTML files used in AspectJ installer, which
  already exist as resource files in module 'build'
- Null-sized AspectJ library JARs which probably were used to trigger
  certain build steps in the former Ant build
- BridgeVersion.java.txt, which has been replaced by a regular
  org.aspectj.bridge.Version class which can dynamically determine
  versions from a properties file instead of relying on them being
  hard-coded into the template.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoUpdate assemblies to include AspectJ licence
Alexander Kriegisch [Sat, 6 Jan 2024 09:48:24 +0000 (16:48 +0700)]
Update assemblies to include AspectJ licence

The former HTML file was moved up one directory level and converted to
asciidoc format. Therefore, include the ADOC file from the correct
location now.

Alternatively, we could have included the generated HTML from the
aj-build/dist/docs/doc directory, but that would have meant adding a
dependency to the 'docs' module to several other modules for this one
file. Actually, asciidoc has become a widely used and accepted format
for documentation and is human-readable by design. Therefore, it is OK
to include the ADOC file. The important thing is that the licence
information
  - is contained in each published artifact,
  - can be found easily,
  - its content is human-readable.

All these requirements are still met with this change. Arguably, ADOC is
easier to read than HTML and does not even need a web browser.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoFix docs links to example source code
Alexander Kriegisch [Sat, 6 Jan 2024 09:04:01 +0000 (16:04 +0700)]
Fix docs links to example source code

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoCI build: fix "create docs" step
Alexander Kriegisch [Sat, 6 Jan 2024 08:49:29 +0000 (15:49 +0700)]
CI build: fix "create docs" step

Like the javadocs in aspectjrt and aspectjweaver (if the releas profile
is active), for docs also copy the docs in the package phase to the
aj-dist directory.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoReplace HTML content of readme-lib-module.adoc by asciidoc
Alexander Kriegisch [Sat, 6 Jan 2024 06:37:18 +0000 (13:37 +0700)]
Replace HTML content of readme-lib-module.adoc by asciidoc

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoRename readme-lib-module.html to .adoc
Alexander Kriegisch [Sat, 6 Jan 2024 06:29:05 +0000 (13:29 +0700)]
Rename readme-lib-module.html to .adoc

In the next step, the content, which is still HTML at this point, is
going to be converted.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoRemove obsolete DocBook build config in favour of Asciidoctor
Alexander Kriegisch [Sat, 6 Jan 2024 06:19:49 +0000 (13:19 +0700)]
Remove obsolete DocBook build config in favour of Asciidoctor

Along with the Ant and Maven build configs, downloads of
 - DocBook DTD,
 - DocBook XSL,
 - FOP,
 - Batik,
 - Saxon
also become obsolete.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoAdd local Maven site to 'distributionManagement'
Alexander Kriegisch [Sat, 6 Jan 2024 05:56:27 +0000 (12:56 +0700)]
Add local Maven site to 'distributionManagement'

If we ever decide to add Maven site docs to the AspectJ website, now we
can deploy them locally using 'mvn site:deploy' and publish them on a
web server or even incorporate them into the binary distribution in the
installer's belly.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoAdd runtime and weaver API javadocs to installer again
Alexander Kriegisch [Sat, 6 Jan 2024 05:49:48 +0000 (12:49 +0700)]
Add runtime and weaver API javadocs to installer again

Closes #271.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoDocs: Create separate CSS files, do not embed into HTML
Alexander Kriegisch [Sat, 6 Jan 2024 05:47:44 +0000 (12:47 +0700)]
Docs: Create separate CSS files, do not embed into HTML

TODO: There still is one set of CSS files per subdirectory due to the
way the docs directories are organised. It would be better to have them
just once. But to achieve that, the ADOC-to-HTML conversion would have
to be changed, e.g. using one central directory for images and
reorganisation of the overall directory structure and build options.
See https://github.com/asciidoctor/asciidoctor-maven-plugin/issues/729.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoBugfix: AspectJ installer extracts text files as US-ASCII
Alexander Kriegisch [Fri, 5 Jan 2024 07:35:24 +0000 (14:35 +0700)]
Bugfix: AspectJ installer extracts text files as US-ASCII

When extracting text or HTML files, special characters like German
umlauts "ÄÖÜäöüß" or copyright symbol "©" were destroyed while unpacking
the installer archive. As our files in Git SCM are all UTF-8, the
installer now also uses UTF-8 to read and write text files.

Fixes #270.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoMinor changes in IDE.md
Alexander Kriegisch [Fri, 5 Jan 2024 05:00:32 +0000 (12:00 +0700)]
Minor changes in IDE.md

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoRename doc generation profiles, making Asciidoctor the default
Alexander Kriegisch [Fri, 5 Jan 2024 04:30:00 +0000 (11:30 +0700)]
Rename doc generation profiles, making Asciidoctor the default

The Docbook etc. Ant task profile is now called 'create-docs-LEGACY' and
will go away with the cut-over to the new doc generator logic.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoAsciidoc: Create PDFs from multi-page guides
Alexander Kriegisch [Fri, 5 Jan 2024 04:28:07 +0000 (11:28 +0700)]
Asciidoc: Create PDFs from multi-page guides

Using Asciidoctor Maven, we now produce PDFs (which are also linked to
from the main documentation index page) for
  - Programming Guide,
  - AspectJ 5 Developer's Notebook,
  - Development Environment Guide,
  - Problem Diagnosis Guide,
  - AspectJ Design Overview.

Attention! PDF generation alone takes 3+ minutes, almost 4 minutes
including asciidoc to HTML conversion. Just deactivate the 'create-docs'
profile if you do not need docs during the build.

Closes #272.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoReplace docs GIFs by PNGs
Alexander Kriegisch [Fri, 5 Jan 2024 01:37:14 +0000 (08:37 +0700)]
Replace docs GIFs by PNGs

Follow-up on previous rename-only commit. This time, the binaries are
real PNGs. The asciidoc and other references to them have also been
replaced. File figures_classes.png in the teaching materials also was
rotated by 90° to display it correctly.

Background: The Asciidoctor PDF back-end cannot handle GIFs directly
without an additional Ruby Gem. It is easier to only use PNGs and JPEGs.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoRename docs GIF to PNG
Alexander Kriegisch [Fri, 5 Jan 2024 01:22:27 +0000 (08:22 +0700)]
Rename docs GIF to PNG

The files are still GIFs for now. In the next steps after the rename,
they will be replaced by real PNGs.

Background: The Asciidoctor PDF back-end cannot handle GIFs directly
without an additional Ruby Gem. It is easier to only use PNGs and JPEGs.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoFix some broken/invalid ADOC links
Alexander Kriegisch [Thu, 4 Jan 2024 08:08:24 +0000 (15:08 +0700)]
Fix some broken/invalid ADOC links

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoREADME.md: Beautify link to Maven Central
Alexander Kriegisch [Thu, 4 Jan 2024 06:46:57 +0000 (13:46 +0700)]
README.md: Beautify link to Maven Central

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoFix warning in Asciidoctor Maven by JRuby version bump
Alexander Kriegisch [Thu, 4 Jan 2024 06:42:52 +0000 (13:42 +0700)]
Fix warning in Asciidoctor Maven by JRuby version bump

Warning "Native subprocess control requires open access to the JDK IO
subsystem" can be avoided by upgrading JRuby, see
https://github.com/asciidoctor/asciidoctor-maven-plugin/issues/553.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoMove image used in IDE.md to images subfolder
Alexander Kriegisch [Thu, 4 Jan 2024 06:26:23 +0000 (13:26 +0700)]
Move image used in IDE.md to images subfolder

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoDelete some unused images from docs
Alexander Kriegisch [Thu, 4 Jan 2024 06:25:55 +0000 (13:25 +0700)]
Delete some unused images from docs

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoMove progguide images to subfolder
Alexander Kriegisch [Thu, 4 Jan 2024 06:18:25 +0000 (13:18 +0700)]
Move progguide images to subfolder

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoRename Visio files for images used in compiler-weaver.adoc
Alexander Kriegisch [Thu, 4 Jan 2024 06:15:09 +0000 (13:15 +0700)]
Rename Visio files for images used in compiler-weaver.adoc

to match the GIF file names, so it is easy to recognise which Visio file
was used to create which GIF, even if no Visio viewer is available.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoAdjust image links in compiler-weaver.adoc
Alexander Kriegisch [Thu, 4 Jan 2024 06:13:43 +0000 (13:13 +0700)]
Adjust image links in compiler-weaver.adoc

After move in previous commit, now the paths have been fixed, too.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoMove compiler-weaver.adoc up one directory level
Alexander Kriegisch [Thu, 4 Jan 2024 06:07:07 +0000 (13:07 +0700)]
Move compiler-weaver.adoc up one directory level

Also rename ADOC on the way and move images to subdirectory.
This makes the Maven Resource execution superfluous.

TODO: Adjust image links in compiler-weaver.adoc in next commit.
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoMove main license and readme files to docs root directory
Alexander Kriegisch [Thu, 4 Jan 2024 06:01:55 +0000 (13:01 +0700)]
Move main license and readme files to docs root directory

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoReformat asciidoc source for main docs page
Alexander Kriegisch [Thu, 4 Jan 2024 05:01:19 +0000 (12:01 +0700)]
Reformat asciidoc source for main docs page

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoLink to Java version compatibility matrix from main docs page
Alexander Kriegisch [Thu, 4 Jan 2024 04:42:35 +0000 (11:42 +0700)]
Link to Java version compatibility matrix from main docs page

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoChange syntax in JavaVersionCompatibility.adoc to asciidoc
Alexander Kriegisch [Thu, 4 Jan 2024 04:28:09 +0000 (11:28 +0700)]
Change syntax in JavaVersionCompatibility.adoc to asciidoc

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoRename JavaVersionCompatibility.md to .adoc
Alexander Kriegisch [Thu, 4 Jan 2024 04:27:13 +0000 (11:27 +0700)]
Rename JavaVersionCompatibility.md to .adoc

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoMove JavaVersionCompatibility.md to release directory
Alexander Kriegisch [Thu, 4 Jan 2024 04:22:40 +0000 (11:22 +0700)]
Move JavaVersionCompatibility.md to release directory

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoFix referenced images in README-1.6.7
Alexander Kriegisch [Thu, 4 Jan 2024 03:40:11 +0000 (10:40 +0700)]
Fix referenced images in README-1.6.7

Before, only one image was referenced, consisting of a screenshot of two
diagrams. The other image file, containing just one of the diagrams, was
not used. Now, both images have been cropped correctly and are both
referenced separately from the release notes.

Better late than never...

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoMove release notes README-*.adoc to separate directory
Alexander Kriegisch [Thu, 4 Jan 2024 03:37:45 +0000 (10:37 +0700)]
Move release notes README-*.adoc to separate directory

Also move two more release-related documents.
All referenced images are now in a common subdirectory.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoMove quick reference DOC/PDF files to separate directory
Alexander Kriegisch [Thu, 4 Jan 2024 03:20:29 +0000 (10:20 +0700)]
Move quick reference DOC/PDF files to separate directory

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoMove docs examples directory two levels up
Alexander Kriegisch [Thu, 4 Jan 2024 03:12:59 +0000 (10:12 +0700)]
Move docs examples directory two levels up

Now, the location more closely resembles where it is on the website.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoBulk-rename release read-me files to version numbers with dots
Alexander Kriegisch [Thu, 4 Jan 2024 01:29:34 +0000 (08:29 +0700)]
Bulk-rename release read-me files to version numbers with dots

Also rename references. E.g.
  - RELEASE-11   -> RELEASE-1.1
  - RELEASE-1810 -> RELEASE-1.8.10
  - RELEASE-1921 -> RELEASE-1.9.21

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoDelete 50+ XML DocBook resource files
Alexander Kriegisch [Thu, 4 Jan 2024 01:13:04 +0000 (08:13 +0700)]
Delete 50+ XML DocBook resource files

in favour of the already existing asciidoc ones.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoFix/add more links for multi-page docs
Alexander Kriegisch [Wed, 3 Jan 2024 07:14:35 +0000 (14:14 +0700)]
Fix/add more links for multi-page docs

In each case, link both to multi- and single-page docs separately.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoAdjust design overview docs to other multi-page docs
Alexander Kriegisch [Wed, 3 Jan 2024 07:05:32 +0000 (14:05 +0700)]
Adjust design overview docs to other multi-page docs

- Link to other pages in index.adoc
- Include other pages in design-overview.adoc

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoRemove references and docs about obsolete tools
Alexander Kriegisch [Wed, 3 Jan 2024 07:03:53 +0000 (14:03 +0700)]
Remove references and docs about obsolete tools

- AspectJ Browser (ajbrowser)
- Forte IDE integration
- JBuilder IDE integration
- Emacs integration

All this information was old and outdated. Ajbrowser was removed from
AspectJ a while ago. If the other tools even still exist, any possibly
existing AspectJ support is not part of AspectJ itself.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoRemove 'imagesdir' from Asciidoctor Maven config
Alexander Kriegisch [Wed, 3 Jan 2024 06:52:35 +0000 (13:52 +0700)]
Remove 'imagesdir' from Asciidoctor Maven config

User relative paths for images instead.

In one case, we need to copy images from a subdirectory one level up,
because otherwise the images are only found in the included document,
but not in the single-page one including it from the subdirectory. In
all other cases, included ADOCs are located in the same directory as the
including document.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoFix most xref/link URLs in main documentation index
Alexander Kriegisch [Wed, 3 Jan 2024 03:43:34 +0000 (10:43 +0700)]
Fix most xref/link URLs in main documentation index

To do:
  - API docs (javadoc)
  - all-in-one guides
  - Eclipse website links
  - add links to markdown files (maybe convert md to adoc)

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoMove main documentation index for website to root directory
Alexander Kriegisch [Wed, 3 Jan 2024 03:40:26 +0000 (10:40 +0700)]
Move main documentation index for website to root directory

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoAdd asciidoc release notes up to 1.9.21
Alexander Kriegisch [Tue, 2 Jan 2024 03:48:51 +0000 (10:48 +0700)]
Add asciidoc release notes up to 1.9.21

and fix some minor punctuation issues in older release notes.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoAdd README-198.adoc, README-199.adoc
Alexander Kriegisch [Sat, 9 Oct 2021 07:43:49 +0000 (09:43 +0200)]
Add README-198.adoc, README-199.adoc

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 months agoRename '*GuideDB' directories to their actual HTML site target names
Alexander Kriegisch [Sat, 8 Jan 2022 04:50:55 +0000 (11:50 +0700)]
Rename '*GuideDB' directories to their actual HTML site target names

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>