using Maven Shade Plugin.
In order to avoid committing the binary to the AspectJ SCM repository and using it as a system-scoped dependency, we
- deploy it to GitHub Packages.
+ deploy it to aspectj.dev.
Whenever it is necessary to upgrade to a new ASM version in order to make AspectJ compatible with a new Java
- version, please build and deploy this module after upgrading property 'asm.version'. Make sure you have a GitHub
- token with the necessary access rights and section like this in your settings.xml:
-
- <![CDATA[
- <server>
- <id>github</id>
- <username>MY_GITHUB_USER</username>
- <password>MY_GITHUB_TOKEN</password>
- </server>
- ]]>
+ version, please build and deploy this module after upgrading property 'asm.version'. Make sure you have the
+ credentials for write access to the aspectj.dev Maven repository WebDAV share and the correct server, profile and
+ property entries in settings.xml.
Then you should be able to run 'mvn clean deploy' for this module and be fine.
<maven.deploy.skip>false</maven.deploy.skip>
</properties>
- <distributionManagement>
- <repository>
- <id>github</id>
- <name>GitHub Packages Release</name>
- <url>https://maven.pkg.github.com/kriegaex/aspectj-packages</url>
- <uniqueVersion>false</uniqueVersion>
- </repository>
- <snapshotRepository>
- <id>github</id>
- <name>GitHub Packages Snapshot</name>
- <url>https://maven.pkg.github.com/kriegaex/aspectj-packages</url>
- <uniqueVersion>true</uniqueVersion>
- </snapshotRepository>
- </distributionManagement>
-
<build>
<plugins>
<name>AspectJ Parent Project</name>
<properties>
+ <!-- TODO: Do we still need this? -->
<revision>1.9.7.BUILD-SNAPSHOT</revision>
+ <!-- Basic build properties -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- By default, do not deploy artifacts - override for the ones which actually should be deployed -->
<maven.deploy.skip>true</maven.deploy.skip>
+ <!-- Dependency versions -->
<jdt.core.version>3.25.0-SNAPSHOT</jdt.core.version>
+ <asm.version>9.1</asm.version>
<lib.ant.version>1.6.3</lib.ant.version>
<lib.ant.xerces.version>2.6.2</lib.ant.xerces.version>
<lib.regexp.version>1.2</lib.regexp.version>
<lib.commons.digester.tag>DIGESTER_1_3</lib.commons.digester.tag>
<lib.commons.logging.version>1.0.1</lib.commons.logging.version>
<lib.commons.logging.tag>LOGGING_1_0_1</lib.commons.logging.tag>
- <asm.version>9.1</asm.version>
</properties>
+ <distributionManagement>
+ <repository>
+ <id>aspectj-dev-deploy</id>
+ <name>AspectJ.dev WebDAV Releases</name>
+ <!-- Please specify the local mount point for the WebDAV share in your settings.xml -->
+ <url>${aspectj.dev.webdav.share}</url>
+ <uniqueVersion>false</uniqueVersion>
+ </repository>
+ <snapshotRepository>
+ <id>aspectj-dev-deploy</id>
+ <name>AspectJ.dev WebDAV Snapshots</name>
+ <!-- Please specify the local mount point for the WebDAV share in your settings.xml -->
+ <url>${aspectj.dev.webdav.share}</url>
+ <uniqueVersion>true</uniqueVersion>
+ </snapshotRepository>
+ </distributionManagement>
+
<repositories>
<!--
- Separately built dependencies unavailable on Maven Central, e.g.:
- - org.aspectj:asm-renamed
- - org.aspectj:org.eclipse.jdt.core
- -->
+ Repeat Central definition from super POM https://maven.apache.org/ref/3.6.3/maven-model-builder/super-pom.html.
+ Define it as the first repository to search at, otherwise Maven would always search any other repositories defined
+ in the POM or in settings.xml first, slowing down the build, because most artifacts reside at Maven Central. See
+ https://maven.apache.org/guides/mini/guide-multiple-repositories.html#repository-order for more details.
+ -->
+ <repository>
+ <id>central</id>
+ <name>Central Repository</name>
+ <url>https://repo.maven.apache.org/maven2</url>
+ <layout>default</layout>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </releases>
+ </repository>
<repository>
- <id>github</id>
- <name>GitHub Packages</name>
- <url>https://maven.pkg.github.com/kriegaex/aspectj-packages</url>
+ <id>aspectj-dev</id>
+ <name>AspectJ artifacts on aspectj.dev</name>
+ <url>https://aspectj.dev/maven</url>
+ <layout>default</layout>
<snapshots>
<enabled>true</enabled>
+ <updatePolicy>always</updatePolicy>
</snapshots>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </releases>
</repository>
</repositories>
+ <pluginRepositories>
+ <!--
+ Repeat Central definition from super POM https://maven.apache.org/ref/3.6.3/maven-model-builder/super-pom.html.
+ Define it as the first repository to search at, otherwise Maven would always search any other repositories defined
+ in the POM or in settings.xml first, slowing down the build, because most artifacts reside at Maven Central. See
+ https://maven.apache.org/guides/mini/guide-multiple-repositories.html#repository-order for more details.
+ -->
+ <pluginRepository>
+ <id>central</id>
+ <name>Central Repository</name>
+ <url>https://repo.maven.apache.org/maven2</url>
+ <layout>default</layout>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </releases>
+ </pluginRepository>
+ <pluginRepository>
+ <id>aspectj-dev</id>
+ <name>AspectJ artifacts on aspectj.dev</name>
+ <url>https://aspectj.dev/maven</url>
+ <layout>default</layout>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>always</updatePolicy>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </releases>
+ </pluginRepository>
+ </pluginRepositories>
+
<modules>
<module>lib</module>
<module>util</module>