aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Change value of woven class in generatedClasses mapUri Simchoni2024-02-081-1/+1
| | | | | | | | 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.
* IT reproducing GitHub issue 279Alexander Kriegisch2024-02-089-2/+151
| | | | | | | | | 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>
* Replace old by new AspectJ GitHub URLAlexander Kriegisch2024-02-0822-72/+72
| | | | | | github.com/eclipse/org.aspectj -> github.com/eclipse-aspectj/aspectj Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add javadoc links to ClassFileTransformer::transformAlexander Kriegisch2024-02-072-0/+4
| | | | | | Relates to #277. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Weaver returns null instead of original bytes for unwoven classesAlexander Kriegisch2024-02-077-36/+58
| | | | | | | | | | | | | | | | | | 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>
* Bulk update GitHub actionsAlexander Kriegisch2024-02-071-13/+9
| | | | | | | 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>
* Workaround for non-English javadoc generationAlexander Kriegisch2024-02-011-0/+12
| | | | | | | | | | | | 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>
* DRY: Centralise common Maven Javadoc configurationAlexander Kriegisch2024-02-015-44/+16
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Fix some javadoc links in ADOCsAlexander Kriegisch2024-02-013-5/+5
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Unpack asm-commons during javadoc generationAlexander Kriegisch2024-02-012-2/+2
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Always use ":leveloffset: +1" with ":doctype: book"Alexander Kriegisch2024-02-01108-948/+965
| | | | | | | | | 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>
* Remove some old files relating to AspectJ Debugger ajdbAlexander Kriegisch2024-02-0112-1608/+0
| | | | | | | | 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>
* Update InstallContext.onWindowsPro for Windows 11+Alexander Kriegisch2024-01-291-3/+4
| | | | | | | | | 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>
* Bump asciidoctor-maven-plugin to 2.2.5Alexander Kriegisch2024-01-291-7/+1
| | | | | | | getting rid of JRuby dependency workaround for https://github.com/asciidoctor/asciidoctor-maven-plugin/issues/553 Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Remove unnecessary agent manifest entries from aspectjmatcher POMAlexander Kriegisch2024-01-291-5/+0
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Workaround for defining classes during LTWAlexander Kriegisch2024-01-2929-223/+395
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Update AJDT update site URLs after project terminationAlexander Kriegisch2024-01-211-6/+6
| | | | | | | | 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>
* Fix typo in BUILD.mdAlexander Kriegisch2024-01-071-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Attach installer to CI buildAlexander Kriegisch2024-01-071-0/+9
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Delete obsolete filesAlexander Kriegisch2024-01-0725-483/+0
| | | | | | | | | | | | | - 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>
* Update assemblies to include AspectJ licenceAlexander Kriegisch2024-01-0611-21/+21
| | | | | | | | | | | | | | | | | | | | | | 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>
* Fix docs links to example source codeAlexander Kriegisch2024-01-061-5/+3
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* CI build: fix "create docs" stepAlexander Kriegisch2024-01-061-1/+1
| | | | | | | | 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>
* Replace HTML content of readme-lib-module.adoc by asciidocAlexander Kriegisch2024-01-061-49/+17
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Rename readme-lib-module.html to .adocAlexander Kriegisch2024-01-061-0/+0
| | | | | | | 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>
* Remove obsolete DocBook build config in favour of AsciidoctorAlexander Kriegisch2024-01-067-825/+9
| | | | | | | | | | | | 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>
* Add local Maven site to 'distributionManagement'Alexander Kriegisch2024-01-061-0/+5
| | | | | | | | | 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>
* Add runtime and weaver API javadocs to installer againAlexander Kriegisch2024-01-063-3/+65
| | | | | | Closes #271. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Docs: Create separate CSS files, do not embed into HTMLAlexander Kriegisch2024-01-061-1/+10
| | | | | | | | | | | 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>
* Bugfix: AspectJ installer extracts text files as US-ASCIIAlexander Kriegisch2024-01-061-4/+6
| | | | | | | | | | | 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>
* Minor changes in IDE.mdAlexander Kriegisch2024-01-061-14/+16
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Rename doc generation profiles, making Asciidoctor the defaultAlexander Kriegisch2024-01-061-4/+4
| | | | | | | 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>
* Asciidoc: Create PDFs from multi-page guidesAlexander Kriegisch2024-01-063-16/+155
| | | | | | | | | | | | | | | | | | 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>
* Replace docs GIFs by PNGsAlexander Kriegisch2024-01-0616-20/+19
| | | | | | | | | | | | 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>
* Rename docs GIF to PNGAlexander Kriegisch2024-01-0610-0/+0
| | | | | | | | | | 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>
* Fix some broken/invalid ADOC linksAlexander Kriegisch2024-01-064-6/+6
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* README.md: Beautify link to Maven CentralAlexander Kriegisch2024-01-061-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Fix warning in Asciidoctor Maven by JRuby version bumpAlexander Kriegisch2024-01-061-1/+9
| | | | | | | | 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>
* Move image used in IDE.md to images subfolderAlexander Kriegisch2024-01-062-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Delete some unused images from docsAlexander Kriegisch2024-01-065-0/+0
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Move progguide images to subfolderAlexander Kriegisch2024-01-067-3/+3
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Rename Visio files for images used in compiler-weaver.adocAlexander Kriegisch2024-01-062-0/+0
| | | | | | | 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>
* Adjust image links in compiler-weaver.adocAlexander Kriegisch2024-01-061-5/+5
| | | | | | After move in previous commit, now the paths have been fixed, too. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Move compiler-weaver.adoc up one directory levelAlexander Kriegisch2024-01-0610-25/+1
| | | | | | | | 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>
* Move main license and readme files to docs root directoryAlexander Kriegisch2024-01-062-0/+0
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Reformat asciidoc source for main docs pageAlexander Kriegisch2024-01-061-125/+104
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Link to Java version compatibility matrix from main docs pageAlexander Kriegisch2024-01-061-4/+8
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Change syntax in JavaVersionCompatibility.adoc to asciidocAlexander Kriegisch2024-01-061-21/+23
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Rename JavaVersionCompatibility.md to .adocAlexander Kriegisch2024-01-061-0/+0
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Move JavaVersionCompatibility.md to release directoryAlexander Kriegisch2024-01-061-0/+0
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>