]> source.dussan.org Git - aspectj.git/log
aspectj.git
3 years agoMerge branch 'master' into java-17
Alexander Kriegisch [Fri, 8 Oct 2021 07:33:04 +0000 (09:33 +0200)]
Merge branch 'master' into java-17

3 years agoFix Java17PreviewFeaturesTests (locale-specific floating-point output)
Alexander Kriegisch [Fri, 8 Oct 2021 05:23:44 +0000 (07:23 +0200)]
Fix Java17PreviewFeaturesTests (locale-specific floating-point output)

The test worked on my local workstation with German locale, but not on
GitHub with English locale.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoRemove Java 8 from GitHub workflow (ECJ needs Java 11+)
Alexander Kriegisch [Fri, 8 Oct 2021 04:44:52 +0000 (06:44 +0200)]
Remove Java 8 from GitHub workflow (ECJ needs Java 11+)

Since JDT Core 3.27 (Java 17) and Eclipse 2021-09 (4.21), respectively,
ECJ no longer works on JDK 8. Even if we backport JDT Core classes, some
of its dependencies contain Java 11 class files, which ultimately also
means that ACJ no longer works below JDK 11 due to those transitive
dependencies, e.g. org.eclipse.core.resources-3.14.0.jar.

For now, I added JDK 14 to the build matrix, i.e. we currently have 11,
14, 17. When JDK 18 is released, we can switch to 11, 17, 18, i.e. keep
the two LTS releases plus the latest one.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoRename DOM AST class TypePattern to AbstractTypePattern
Alexander Kriegisch [Fri, 8 Oct 2021 04:36:38 +0000 (06:36 +0200)]
Rename DOM AST class TypePattern to AbstractTypePattern

Since JDT Core 3.27 (Java 17), there is a name clash, because the new
class org.eclipse.jdt.core.dom.TypePattern (JEP 406) gets relocated to
org.aspectj.org.eclipse.jdt.core.dom.TypePattern during shading.
Fortunately, this made tests like AjASTTest and AjAST5Test fail with
rather nasty errors like:

java.lang.VerifyError: Bad return type (...)
  Type 'org/aspectj/org/eclipse/jdt/core/dom/TypePattern' (...) is not
  assignable to 'org/aspectj/org/eclipse/jdt/core/dom/Pattern' (...)

TODO: Update AJDT references to the renamed class in the following
classes after refreshing the AspectJ sources:
  - ExtraPackageReferenceFinder
  - ExtraTypeReferenceFinder
This also means, that for Eclipse 2021-09 (4.21) we need a new AJDT
update site, because simply deploying to the 4.19 one would probably
lead to problems in the IDE.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoBump GitHub CI build from JDK 17-ea to 17, remove 16
Alexander Kriegisch [Sat, 2 Oct 2021 12:01:27 +0000 (14:01 +0200)]
Bump GitHub CI build from JDK 17-ea to 17, remove 16

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoUpdate ECJ version, activate Java 17 preview features tests
Alexander Kriegisch [Sat, 2 Oct 2021 11:55:59 +0000 (13:55 +0200)]
Update ECJ version, activate Java 17 preview features tests

After JDT Core (ECJ) was updated to the final Java 17 feature set, the
tests now pass as expected.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoAdd Sonatype OSSRH snapshot (plugin) repositories
Alexander Kriegisch [Sat, 2 Oct 2021 11:54:26 +0000 (13:54 +0200)]
Add Sonatype OSSRH snapshot (plugin) repositories

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoMerge pull request #91 from kriegaex/nexus-staging-new-workaround
Andy Clement [Tue, 28 Sep 2021 14:20:04 +0000 (07:20 -0700)]
Merge pull request #91 from kriegaex/nexus-staging-new-workaround

Add JDK 16+ workaround for Nexus Staging Maven Plugin

3 years agoAdd JDK 16+ workaround for Nexus Staging Maven Plugin 91/head
Alexander Kriegisch [Tue, 28 Sep 2021 06:20:25 +0000 (08:20 +0200)]
Add JDK 16+ workaround for Nexus Staging Maven Plugin

Plugin version 1.6.8 does not work on JDK 16+ without special MAVEN_OPTS
opening certain modules, because the XStream version used needs it. One
workaround is to use a more recent XStream version.

TODO: remove plugin dependency after OSSRH-66257, NEXUS-26993 are fixed.
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoActivate Java 17 build in GitHub workflow
Alexander Kriegisch [Wed, 28 Jul 2021 03:57:25 +0000 (10:57 +0700)]
Activate Java 17 build in GitHub workflow

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoAdd + activate some Java 17 tests
Alexander Kriegisch [Wed, 28 Jul 2021 03:55:02 +0000 (10:55 +0700)]
Add + activate some Java 17 tests

- Fix one fault sanity test configuration
- Deactivate Java 16 preview tests (no longer supported by Java 17
  compiler)
- Test sealed classes as final on Java 17 (no longer preview)
- Add tests for JEP 406, pattern matching for switch (preview). At
  present, the beta 17 branch of JDT Core does not handle the tested
  features and expected compile errors correctly yet, so I had to
  temporarily deactivate test execution, only printing TODO messages.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoTest comment cosmetics
Alexander Kriegisch [Wed, 28 Jul 2021 03:49:46 +0000 (10:49 +0700)]
Test comment cosmetics

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoIn ITD processing, use setter instead of assigning Scope directly
Alexander Kriegisch [Mon, 26 Jul 2021 01:44:05 +0000 (08:44 +0700)]
In ITD processing, use setter instead of assigning Scope directly

Change calls like
  pre.scope.parent = newParent;
to this pattern:
  // Use setter in order to also update member 'compilationUnitScope'
  pre.scope.setParent(newParent);

This should fix lots of failing tests after updating JDT Core.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoAdd AJDT support for printing switch expressions
Alexander Kriegisch [Sun, 25 Jul 2021 11:35:36 +0000 (18:35 +0700)]
Add AJDT support for printing switch expressions

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoAdd Sonatype OSSRH snapshots repositories
Alexander Kriegisch [Sun, 25 Jul 2021 10:35:04 +0000 (17:35 +0700)]
Add Sonatype OSSRH snapshots repositories

Otherwise
  - JDT Core 1.9.8-SNAPSHOT (classic OSSRH snapshot URL)
  - AspectJ Maven Plugin 1.13-SNAPSHOT (new OSSRH snapshot URL)
cannot be found

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoBump JDT Core from 1.9.7.M2 to 1.9.8-SNAPSHOT
Alexander Kriegisch [Sun, 25 Jul 2021 10:24:59 +0000 (17:24 +0700)]
Bump JDT Core from 1.9.7.M2 to 1.9.8-SNAPSHOT

Not Java 17 compatible yet, but refreshed from main branch for latest
Java 16 updates in compiler (mostly about records).

Let's see if CI is still green before trying to upgrade JDT Core to
Java 17 beta.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoBump ASM 9.1 to 9.2 (Java 17+18 support)
Alexander Kriegisch [Sat, 24 Jul 2021 05:24:46 +0000 (12:24 +0700)]
Bump ASM 9.1 to 9.2 (Java 17+18 support)

This is a first, preparatory step

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoMerge pull request #86 from kriegaex/update-download-maven-plugin
Andy Clement [Tue, 7 Sep 2021 02:16:24 +0000 (19:16 -0700)]
Merge pull request #86 from kriegaex/update-download-maven-plugin

Bump download-maven-plugin to 1.6.7

3 years agoBump download-maven-plugin to 1.6.7 86/head
Alexander Kriegisch [Sun, 5 Sep 2021 06:47:30 +0000 (08:47 +0200)]
Bump download-maven-plugin to 1.6.7

After my PR https://github.com/maven-download-plugin/maven-download-plugin/pull/191
was merged and https://github.com/maven-download-plugin/maven-download-plugin/issues/186
was closed, use a new release containing the option misnomer fix in
order to make the POM more readable.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoMerge pull request #84 from kriegaex/test-issue-83
Andy Clement [Mon, 9 Aug 2021 14:13:40 +0000 (07:13 -0700)]
Merge pull request #84 from kriegaex/test-issue-83

Stabilise flaky test in Ajc1612Tests

3 years agoRemove logging dots per test step in AjcTest.runTest 84/head
Alexander Kriegisch [Sun, 8 Aug 2021 05:15:11 +0000 (12:15 +0700)]
Remove logging dots per test step in AjcTest.runTest

Methods AjcTest.runTest was logging something like "TEST: ...."
(4 dots), i.e. one dot per performed test step. Not only did this not
add much value, but due to usage of PrintStream.print for line
continuation it also messed up test step logging by scattering seemingly
random dot characters across test step logs. This looked quite ugly, so
I simply removed it.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoRefactor AnnoBinding test class used by Ajc1612Tests some more
Alexander Kriegisch [Sun, 8 Aug 2021 05:09:52 +0000 (12:09 +0700)]
Refactor AnnoBinding test class used by Ajc1612Tests some more

Improve improved general logging, error messages, variable naming and
indentation, making the code of class AnnoBinding a bit more readable.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoImprove flaky test in Ajc1612Tests further
Alexander Kriegisch [Sun, 8 Aug 2021 05:07:36 +0000 (12:07 +0700)]
Improve flaky test in Ajc1612Tests further

By using System.nanoTime() instead of currentTimeMillis(), the flakiness
even with the original 10,000 rounds is significantly lower than before.
Making my IDE repeat the test until failure, it took on average 150 runs
to make it fail. So, the more accurate timing helps. With 100,000
rounds, it was even more stable, but eventually I could make it fail.
With 1,000,000 rounds however, even running the test 500x could not make
it fail. So for all practical purposes, I think the test is reasonably
stable now.

Closes #83.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoStabilise flaky test in Ajc1612Tests
Alexander Kriegisch [Thu, 5 Aug 2021 08:16:17 +0000 (15:16 +0700)]
Stabilise flaky test in Ajc1612Tests

By increasing from 10,000 to 1,000,000 rounds, the times compared for
performance become considerably longer (but still in the tens or
hundreds or milliseconds), decreasing the probability of the test
failing due to CPU load or some other random effect.

Closes #83.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoMerge pull request #82 from kriegaex/readme-dev-tools
Andy Clement [Thu, 5 Aug 2021 05:48:22 +0000 (22:48 -0700)]
Merge pull request #82 from kriegaex/readme-dev-tools

Add "Setting up an AspectJ development environment" guide

3 years agoAdd "Setting up an AspectJ development environment" guide 82/head
Alexander Kriegisch [Thu, 5 Aug 2021 05:01:05 +0000 (12:01 +0700)]
Add "Setting up an AspectJ development environment" guide

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoMerge pull request #80 from kriegaex/release-1.9.8.M1
Andy Clement [Mon, 26 Jul 2021 15:19:34 +0000 (08:19 -0700)]
Merge pull request #80 from kriegaex/release-1.9.8.M1

Release 1.9.8.M1 featuring `--release N` fix

3 years agoSet version to 1.9.8-SNAPSHOT 80/head
Alexander Kriegisch [Mon, 26 Jul 2021 07:52:55 +0000 (14:52 +0700)]
Set version to 1.9.8-SNAPSHOT

3 years agoSet version to 1.9.8.M1 V1_9_8_M1
Alexander Kriegisch [Mon, 26 Jul 2021 07:51:47 +0000 (14:51 +0700)]
Set version to 1.9.8.M1

3 years agoMerge pull request #77 from SmallGiantGames/bug415838-test
Andy Clement [Wed, 30 Jun 2021 18:43:27 +0000 (11:43 -0700)]
Merge pull request #77 from SmallGiantGames/bug415838-test

Test for 1.9.6 concurrency bug in LocalVariableTable.unpack()

3 years agominor improvements 77/head
Dmitry Mikhaylov [Tue, 29 Jun 2021 06:53:18 +0000 (09:53 +0300)]
minor improvements

3 years agoMerge pull request #73 from kriegaex/ajc-release-option
Andy Clement [Mon, 28 Jun 2021 22:31:48 +0000 (15:31 -0700)]
Merge pull request #73 from kriegaex/ajc-release-option

Enable AJC compilation with `--release`

3 years agotest for failing synchronization in LocalVariableTable.unpack
Dmitry Mikhaylov [Mon, 28 Jun 2021 14:38:28 +0000 (17:38 +0300)]
test for failing synchronization in LocalVariableTable.unpack

3 years agoAdd integration test for '--release N' compiler option 73/head
Alexander Kriegisch [Sat, 26 Jun 2021 09:18:29 +0000 (16:18 +0700)]
Add integration test for '--release N' compiler option

Relates to #70

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoAdd AspectJ 1.9.7 and Java 17 test skeletons
Alexander Kriegisch [Sat, 26 Jun 2021 09:16:18 +0000 (16:16 +0700)]
Add AspectJ 1.9.7 and Java 17 test skeletons

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoAjBuildConfig: simplify null classpath removal from path list
Alexander Kriegisch [Sat, 26 Jun 2021 02:23:41 +0000 (09:23 +0700)]
AjBuildConfig: simplify null classpath removal from path list

Use removeIf(Objects::isNull) instead of old-fashioned iterator loop.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoQuick fix for AJC '--release' option
Alexander Kriegisch [Sat, 26 Jun 2021 01:48:35 +0000 (08:48 +0700)]
Quick fix for AJC '--release' option

Work in progress, relates to #70

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoMerge pull request #74 from kriegaex/readme-cosmetics
Andy Clement [Sat, 26 Jun 2021 04:41:42 +0000 (21:41 -0700)]
Merge pull request #74 from kriegaex/readme-cosmetics

Minor build + release read-me improvements

3 years agoMerge pull request #75 from kriegaex/minor-code-cleanup
Andy Clement [Sat, 26 Jun 2021 04:40:16 +0000 (21:40 -0700)]
Merge pull request #75 from kriegaex/minor-code-cleanup

Minor code clean-ups

3 years agoMinor code clean-ups 75/head
Alexander Kriegisch [Sat, 26 Jun 2021 02:04:08 +0000 (09:04 +0700)]
Minor code clean-ups

Add a bit more type safety and accept some minor refactorings suggested
by the IDE.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoMinor build + release read-me improvements 74/head
Alexander Kriegisch [Sat, 26 Jun 2021 01:55:23 +0000 (08:55 +0700)]
Minor build + release read-me improvements

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoUpdate RELEASE.md
Andy Clement [Thu, 24 Jun 2021 23:30:58 +0000 (16:30 -0700)]
Update RELEASE.md

3 years agoSet version to 1.9.8-SNAPSHOT
Andy Clement [Thu, 24 Jun 2021 23:25:22 +0000 (16:25 -0700)]
Set version to 1.9.8-SNAPSHOT

3 years ago1.9.7 release V1_9_7
Andy Clement [Thu, 24 Jun 2021 23:23:33 +0000 (16:23 -0700)]
1.9.7 release

3 years agoMerge branch 'master' of https://github.com/eclipse/org.aspectj
Andy Clement [Thu, 24 Jun 2021 22:51:40 +0000 (15:51 -0700)]
Merge branch 'master' of https://github.com/eclipse/org.aspectj

3 years agoFinalize 1.9.7 release date
Andy Clement [Thu, 24 Jun 2021 22:51:29 +0000 (15:51 -0700)]
Finalize 1.9.7 release date

3 years agoUpdate RELEASE.md
Andy Clement [Thu, 24 Jun 2021 22:45:17 +0000 (15:45 -0700)]
Update RELEASE.md

3 years agoUpdate RELEASE.md
Andy Clement [Thu, 24 Jun 2021 22:44:58 +0000 (15:44 -0700)]
Update RELEASE.md

Fixes #71

3 years agoMerge pull request #64 from SmallGiantGames/bug415838
Andy Clement [Thu, 24 Jun 2021 22:03:11 +0000 (15:03 -0700)]
Merge pull request #64 from SmallGiantGames/bug415838

add synchronization to LocalVariableTable

3 years agoMerge pull request #69 from kriegaex/document-improve-build-profiles
Andy Clement [Thu, 10 Jun 2021 14:38:40 +0000 (07:38 -0700)]
Merge pull request #69 from kriegaex/document-improve-build-profiles

Document build profiles and properties in `docs/developer/BUILD.md`

3 years agoAdd link to BUILD.md to main README.md 69/head
Alexander Kriegisch [Thu, 10 Jun 2021 05:22:25 +0000 (12:22 +0700)]
Add link to BUILD.md to main README.md

Plus a small enhancement in the build description.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoFix minor indentation issues in org.aspectj.tools.ajdoc.Main
Alexander Kriegisch [Thu, 10 Jun 2021 05:11:52 +0000 (12:11 +0700)]
Fix minor indentation issues in org.aspectj.tools.ajdoc.Main

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoDocument build profiles and properties in docs/developer/BUILD.md
Alexander Kriegisch [Thu, 10 Jun 2021 05:11:03 +0000 (12:11 +0700)]
Document build profiles and properties in docs/developer/BUILD.md

In doing so, I also noticed a few things in need of improvement. So,
documenting the build also drive those enhancements, such as
  - the new 'fast-build' profile skipping test compilation and execution
    as well as documentation generation,
  - an option to skip generating source assemblies,
  - to skip unzipping source assemblies if javadoc generation for them
    is to be skipped too,
  - activating the 'create-docs' profile by property which is
    true by default instead of using 'activeByDefault=true', because the
    latter does not work reliably if other profiles are activated
    manually according to a Maven bug that was closed as "won't fix",
  - no longer generating separate javadocs for the 'runtime' module,
    because that module is not deployed and the main artifacts recreate
    Javadocs from scratch for all of their constituent sources anyway.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoMerge pull request #67 from kriegaex/libs-improve-download
Andy Clement [Tue, 8 Jun 2021 04:13:39 +0000 (21:13 -0700)]
Merge pull request #67 from kriegaex/libs-improve-download

Detect previously failed downloads by verifying existing file checksums

3 years agoBuild readme whitespace cosmetics 67/head
Alexander Kriegisch [Tue, 8 Jun 2021 01:54:13 +0000 (08:54 +0700)]
Build readme whitespace cosmetics

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoDetect previously failed downloads by verifying existing file checksums
Alexander Kriegisch [Tue, 8 Jun 2021 01:52:11 +0000 (08:52 +0700)]
Detect previously failed downloads by verifying existing file checksums

There was a helpful option hiding in Download Maven plugin, which we use
to download artifacts unavailable on Maven Central, such as the Ant
installer and several source packages: 'checkSignature'. It has the
effect of verifying checksums of existing, i.e. previously downloaded
files too, not only newly downloaded ones. This helps detect interrupted
downloads from previous runs or generally invalid files, whatever the
reason. I was looking for this option before, but did not notice it
because of the name. This is about verifying checksums, not checking
signatures. Anyway, a maintainer just told me about it here:

https://github.com/maven-download-plugin/maven-download-plugin/issues/186

I requested that the option be renamed and described better.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoAdded issue tracker links
Andy Clement [Mon, 7 Jun 2021 23:30:41 +0000 (16:30 -0700)]
Added issue tracker links

3 years agoMerge pull request #66 from kriegaex/release-notes-197
Andy Clement [Mon, 7 Jun 2021 23:22:04 +0000 (16:22 -0700)]
Merge pull request #66 from kriegaex/release-notes-197

Add release notes for 1.9.7

3 years agoMerge pull request #65 from kriegaex/licence-upgrade-epl2
Andy Clement [Sun, 6 Jun 2021 23:56:17 +0000 (16:56 -0700)]
Merge pull request #65 from kriegaex/licence-upgrade-epl2

Upgrade license from CPLv1/EPLv1 to EPLv2

3 years agoAdd release notes for 1.9.7 66/head
Alexander Kriegisch [Fri, 4 Jun 2021 03:08:54 +0000 (10:08 +0700)]
Add release notes for 1.9.7

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoUpgrade license from CPLv1/EPLv1 to EPLv2 65/head
Alexander Kriegisch [Fri, 4 Jun 2021 00:58:52 +0000 (07:58 +0700)]
Upgrade license from CPLv1/EPLv1 to EPLv2

This was required by the Eclipse team as one precondition for the next
release.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoadd synchronization to LocalVariableTable 64/head
Dmitry Mikhaylov [Mon, 11 Jan 2021 19:37:36 +0000 (21:37 +0200)]
add synchronization to LocalVariableTable

3 years agoMerge pull request #62 from kriegaex/release-1.9.7.M3
Andy Clement [Fri, 28 May 2021 16:15:32 +0000 (09:15 -0700)]
Merge pull request #62 from kriegaex/release-1.9.7.M3

Bugfix release 1.9.7.M3

3 years agoMerge pull request #59 from kriegaex/deploy-installer-to-aspectj-dev
Andy Clement [Fri, 28 May 2021 16:13:57 +0000 (09:13 -0700)]
Merge pull request #59 from kriegaex/deploy-installer-to-aspectj-dev

RELEASE.md: Deploying AspectJ installer to aspectj.dev

3 years agoRemove duplicate command from RELEASE.md 62/head
Alexander Kriegisch [Fri, 28 May 2021 09:56:52 +0000 (16:56 +0700)]
Remove duplicate command from RELEASE.md

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoSet version to 1.9.7-SNAPSHOT
Alexander Kriegisch [Fri, 28 May 2021 09:56:26 +0000 (16:56 +0700)]
Set version to 1.9.7-SNAPSHOT

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoSet version to 1.9.7.M3 V1_9_7_M3
Alexander Kriegisch [Fri, 28 May 2021 08:20:36 +0000 (15:20 +0700)]
Set version to 1.9.7.M3

This is a bugfix release, reverting the essential parts of commit
f70aeb5e, because it causes AspectJ Maven integration tests using
javadoc to fail on JDK 8.

See commit discussion on
https://github.com/eclipse/org.aspectj/commit/f70aeb5e#commitcomment-51417353

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoRevert "Always run javadoc using the ToolProvider API"
Alexander Kriegisch [Fri, 28 May 2021 08:11:32 +0000 (15:11 +0700)]
Revert "Always run javadoc using the ToolProvider API"

This reverts commit f70aeb5e, except for some commented-out parts of
code and an unused method. I also simplified the code, e.g. with regard
to exception handling, and did some more cosmetic stuff, but basically
it is a revert.

In order to make it compile on more recent JDKs which doe not have class
com.sun.tools.javadoc.Main, I used Class.forName in the method being
called on JDK 8 only.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoRELEASE.md: Deploying AspectJ installer to aspectj.dev 59/head
Alexander Kriegisch [Wed, 26 May 2021 03:25:28 +0000 (10:25 +0700)]
RELEASE.md: Deploying AspectJ installer to aspectj.dev

How to deploy to the aspectj.dev Maven repository, mounted as a WebDAV
share.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoMerge pull request #58 from kriegaex/release-1.9.7.M2
Andy Clement [Tue, 25 May 2021 02:07:13 +0000 (19:07 -0700)]
Merge pull request #58 from kriegaex/release-1.9.7.M2

Release 1.9.7.M2

3 years agoAdd "how to release" guide and point to it from README.md 58/head
Alexander Kriegisch [Mon, 24 May 2021 06:49:08 +0000 (13:49 +0700)]
Add "how to release" guide and point to it from README.md

Also fix a few minor wording and formatting things in the main read-me.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoSet version to 1.9.7-SNAPSHOT again
Alexander Kriegisch [Mon, 24 May 2021 03:52:47 +0000 (10:52 +0700)]
Set version to 1.9.7-SNAPSHOT again

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoSet version to 1.9.7.M2 V1_9_7_M2
Alexander Kriegisch [Mon, 24 May 2021 01:13:52 +0000 (08:13 +0700)]
Set version to 1.9.7.M2

Also depend on JDT Core 1.9.7.M2

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoFix Javadoc generation by also unpacking relocated ASM sources
Alexander Kriegisch [Mon, 24 May 2021 01:57:06 +0000 (08:57 +0700)]
Fix Javadoc generation by also unpacking relocated ASM sources

Suddenly, for AspectJ Weaver + Tools Javadoc generation started to fail.
This might be due to switching from ASM-renamed to dynamically shaded
ASM. Either way, the Javadoc tool complains about the missing source
files. Therefore, we also unpack them from the source uber JAR now via
TrueZIP before generating Javadoc.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoUpgrade Maven Shade Plugin to 3.2.4.MSHADE-252-391
Alexander Kriegisch [Sun, 23 May 2021 07:37:33 +0000 (14:37 +0700)]
Upgrade Maven Shade Plugin to 3.2.4.MSHADE-252-391

Unfortunately, the issues fixed in the aspectj.dev fork are still not
available upstream (MSHADE-252 is merged, but unreleased, MSHADE-391 is
in review).

Also use Maven Javadoc Plugin version from parent POM.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoDocumentation links
Andy Clement [Mon, 24 May 2021 00:58:28 +0000 (17:58 -0700)]
Documentation links

3 years agoSlightly more detailed readme
Andy Clement [Mon, 24 May 2021 00:49:49 +0000 (17:49 -0700)]
Slightly more detailed readme

3 years agoECA reference
Andy Clement [Mon, 24 May 2021 00:42:19 +0000 (17:42 -0700)]
ECA reference

3 years agohousekeeping
Andy Clement [Mon, 24 May 2021 00:36:18 +0000 (17:36 -0700)]
housekeeping

3 years agoMerge pull request #56 from kriegaex/canonical-snapshot-version
Andy Clement [Sun, 23 May 2021 05:09:35 +0000 (22:09 -0700)]
Merge pull request #56 from kriegaex/canonical-snapshot-version

Use canonical snapshot version 1.9.7-SNAPSHOT

3 years agoUse canonical snapshot version 1.9.7-SNAPSHOT 56/head
Alexander Kriegisch [Sun, 23 May 2021 02:42:29 +0000 (09:42 +0700)]
Use canonical snapshot version 1.9.7-SNAPSHOT

Before, we used 1.9.7.BUILD-SNAPSHOT, which according to Andy Clement
was originally an intent across a group of Spring projects he was
involved in, to ensure that SNAPSHOTS were sorted alphabetically ahead
of MILESTONEs and ahead of RCs.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoRevert "polish"
Andy Clement [Sun, 23 May 2021 03:10:20 +0000 (20:10 -0700)]
Revert "polish"

This reverts commit 9ba62b64fb2fd3a8b20d259189d392d9a4b30b72.

3 years agopolish
Andy Clement [Sun, 23 May 2021 02:58:46 +0000 (19:58 -0700)]
polish

3 years agopolish
Andy Clement [Sun, 23 May 2021 02:46:04 +0000 (19:46 -0700)]
polish

3 years agoFix pom.xml problem
Andy Clement [Sun, 23 May 2021 02:41:03 +0000 (19:41 -0700)]
Fix pom.xml problem

3 years agoMerge remote-tracking branch 'xander/maven-central-deployment'
Andy Clement [Sun, 23 May 2021 01:08:43 +0000 (18:08 -0700)]
Merge remote-tracking branch 'xander/maven-central-deployment'

3 years agoMerge pull request #51 from kriegaex/remove-github-packages-references
Andy Clement [Sun, 23 May 2021 00:56:06 +0000 (17:56 -0700)]
Merge pull request #51 from kriegaex/remove-github-packages-references

Remove GitHub Packages references

3 years agoMerge pull request #53 from kriegaex/remove-asm-renamed
Andy Clement [Sun, 23 May 2021 00:55:00 +0000 (17:55 -0700)]
Merge pull request #53 from kriegaex/remove-asm-renamed

Remove ASM-renamed, replace by dynamic relocation via Maven Shade

3 years agoDelete all release POM templates in 'build' 52/head
Alexander Kriegisch [Sun, 16 May 2021 04:05:05 +0000 (11:05 +0700)]
Delete all release POM templates in 'build'

In order to keep developers from creating AspectJ releases manually or
using Ant script 'build/build.xml', get rid of all POM templates. This
step does not involve updating any build or release how-to documents or
any other clean-up work under 'build', but it is a first step and a
simple, implicit reminder that now we can build and release using Maven.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoCompletely remove module ASM-renamed + references 53/head
Alexander Kriegisch [Sun, 16 May 2021 03:22:42 +0000 (10:22 +0700)]
Completely remove module ASM-renamed + references

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoReplace use of ASM-renamed by original ASM
Alexander Kriegisch [Sun, 16 May 2021 03:17:12 +0000 (10:17 +0700)]
Replace use of ASM-renamed by original ASM

This involves replacing references in weaver application code as well as
a few tests.

In order to make AspectJ weaver + tools contain a relocated ASM version,
I added a Maven Shade relocation step after Maven Assembly created the
uber JARs. Relocation works for both binaries and sources and also
encompasses Class::forName calls like in class AsmDetector.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoFix selective Nexus deployment to Sonatype OSSRH
Alexander Kriegisch [Sat, 15 May 2021 10:34:15 +0000 (17:34 +0700)]
Fix selective Nexus deployment to Sonatype OSSRH

Other than Maven Deploy, Nexus Staging plugin cannot just be added to
the 'build/plugins' section of the parent POM once and (de-)activated
with a simple property like 'maven.deploy.skip' on a per-module basis.
See also https://issues.sonatype.org/browse/OSSRH-68966. Consequently,
we do not add it to the parent but separately to each module meant to be
published.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoOnly sign + stage artifacts meant to be deployed
Alexander Kriegisch [Sat, 15 May 2021 05:54:48 +0000 (12:54 +0700)]
Only sign + stage artifacts meant to be deployed

Even with the 'release' profile, it is not necessary to sign each
artifact, because only the ones to be published on Maven Central need
signatures.

Similarly, make Nexus staging deployment to Sonatype OSSRH dependent on
'maven.deploy.skip' and skip staging for non-public artifacts.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoCreate javadoc for all public artifacts, fix dependencies
Alexander Kriegisch [Sat, 15 May 2021 03:19:08 +0000 (10:19 +0700)]
Create javadoc for all public artifacts, fix dependencies

Sonatype OSSRH repository rules require source and javadoc JARs in
order to create staging repositories for releases to be promoted to
Maven Central. So I added build steps to unzip the source JARs and then
create Javadocs for them.

FIXME: This configuration works with JDK 16, but throws errors on other
JDK versions, e.g. 14. It looks as if the Maven Javadoc plugin does not
do a particularly good job applying the plugin settings in a way making
it work with different JDK javadoc tool versions. I am saying that,
because when using the tool directly on the console, it works with basic
settings and the correct classpath.

In order to enable creating uber JARs via Maven Shade in the future, I
also added missing dependencies. Maven Assembly descriptors just assume
that all the necessary class files and sources already exist where it
copies them from. But several of the dependency modules were not
explicitly listed as such by the uber JAR modules. I fixed that.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoAdd information required by Maven Central to public artifact POMs
Alexander Kriegisch [Wed, 12 May 2021 05:03:33 +0000 (12:03 +0700)]
Add information required by Maven Central to public artifact POMs

This is another step away from manual deployment towards Maven-triggered
deployment for both releases and snapshots. The 5 main POMs (matcher,
runtime, weaver, tools, installer) now contain information required by
Sonatype for Maven Central deployments according to:
https://central.sonatype.org/publish/requirements/

TODO:

  - Add corresponding 'distributionManagement' section and necessary
    release plugins for Sonatype OSS repositories to parent POM.

  - Enable Maven to also use Install plugin in order to automatically
    set release versions, commit to Git and tag releases, then upgrade
    to a new snapshot afterwards.

  - Make sure that Flatten Maven plugin does not strip off the required
    tags we just added to the POMs. It looks as if the chosen
    flattenMode=oss already retains the exact tags we need, only
    slightly reformatting (hence "uglifying") the POM. But an ugly POM
    does not block Maven Central deployments, as long as it is complete.
    So it looks as if this to-do item is already done.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoReplace links to aspectj.org by links to eclipse.org/aspectj
Alexander Kriegisch [Wed, 12 May 2021 04:57:12 +0000 (11:57 +0700)]
Replace links to aspectj.org by links to eclipse.org/aspectj

As discussed with Andy Clement, domain aspectj.org seems to still be
owned by Xerox, and currently no website for it is online. Therefore, it
is better to link to the AspectJ Eclipse homepage.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoRemove obsolete .mvn/settings-read-github-packages.xml 51/head
Alexander Kriegisch [Sat, 15 May 2021 01:38:12 +0000 (08:38 +0700)]
Remove obsolete .mvn/settings-read-github-packages.xml

The GitHub workflow also does not reference it anymore, which I forgot
to do earlier.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agoRevert "use the alternate maven settings by default"
Alexander Kriegisch [Sat, 15 May 2021 01:32:57 +0000 (08:32 +0700)]
Revert "use the alternate maven settings by default"

This reverts commit @95fc5eec, because that commit was only helpful
before merging branch 'migrate-to-aspectj-dev' with PR #49, but was
actually committed afterwards, making it obsolete.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
3 years agouse the alternate maven settings by default
Andy Clement [Fri, 14 May 2021 21:50:11 +0000 (14:50 -0700)]
use the alternate maven settings by default

3 years agoMerge pull request #49 from kriegaex/migrate-to-aspectj-dev
Andy Clement [Fri, 14 May 2021 20:02:02 +0000 (13:02 -0700)]
Merge pull request #49 from kriegaex/migrate-to-aspectj-dev

Migrate deployment from GitHub Packages to aspectj.dev