|
|
@@ -0,0 +1,201 @@ |
|
|
|
<?xml version="1.0" encoding="UTF-8"?> |
|
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|
|
|
<modelVersion>4.0.0</modelVersion> |
|
|
|
|
|
|
|
<!-- The AspectJ root POM is the parent, but this module is not a submodule --> |
|
|
|
<parent> |
|
|
|
<groupId>org.aspectj</groupId> |
|
|
|
<artifactId>aspectj-parent</artifactId> |
|
|
|
<version>1.9.7.BUILD-SNAPSHOT</version> |
|
|
|
</parent> |
|
|
|
|
|
|
|
<artifactId>asm-renamed</artifactId> |
|
|
|
<version>${asm.version}</version> |
|
|
|
|
|
|
|
<name>ASM for AspectJ</name> |
|
|
|
<description> |
|
|
|
This module relocates the original ASM artifact from package name 'org.objectweb.asm' to 'aj.org.objectweb.asm', |
|
|
|
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. |
|
|
|
|
|
|
|
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> |
|
|
|
]]> |
|
|
|
|
|
|
|
Then you should be able to run 'mvn clean deploy' for this module and be fine. |
|
|
|
|
|
|
|
Caveat for IntelliJ IDEA: The project cannot be built in IDEA (Ctrl-F9) if this module is visible in the Maven view. |
|
|
|
If so, right-click it and select "Unlink Maven Projects". Unfortunately, "Ignore Projects" is not enough. If Maven |
|
|
|
knows of this Maven module, it cannot compile other modules depending on shaded class names, because it cannot find |
|
|
|
the binaries. IDEA will just stop looking at the local Maven repository in this case. |
|
|
|
</description> |
|
|
|
|
|
|
|
<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> |
|
|
|
|
|
|
|
<plugin> |
|
|
|
<groupId>org.apache.maven.plugins</groupId> |
|
|
|
<artifactId>maven-compiler-plugin</artifactId> |
|
|
|
<executions> |
|
|
|
<!-- Nothing to compile in this module --> |
|
|
|
<execution> |
|
|
|
<id>default-compile</id> |
|
|
|
<phase>none</phase> |
|
|
|
</execution> |
|
|
|
<execution> |
|
|
|
<id>default-testCompile</id> |
|
|
|
<phase>none</phase> |
|
|
|
</execution> |
|
|
|
</executions> |
|
|
|
</plugin> |
|
|
|
|
|
|
|
<plugin> |
|
|
|
<groupId>org.apache.maven.plugins</groupId> |
|
|
|
<artifactId>maven-source-plugin</artifactId> |
|
|
|
<configuration> |
|
|
|
<!-- Re-create original source JAR in order to avoid re-shading already shaded JAR in non-clean builds --> |
|
|
|
<forceCreation>true</forceCreation> |
|
|
|
<!-- |
|
|
|
Avoid attaching the source JAR here, because Maven Shade will add the source uber JAR later. Because both |
|
|
|
JARs have the same final name, Maven Install/Deploy would see two artifacts attached to the build, which |
|
|
|
would lead to double deployment and hence to an error "Transfer failed for ...-sources.jar 409 Conflict". |
|
|
|
See also https://issues.apache.org/jira/browse/MDEPLOY-254 and comments by Alexander Kriegisch. |
|
|
|
--> |
|
|
|
<attach>false</attach> |
|
|
|
<archive> |
|
|
|
<addMavenDescriptor>false</addMavenDescriptor> |
|
|
|
</archive> |
|
|
|
</configuration> |
|
|
|
<executions> |
|
|
|
<execution> |
|
|
|
<id>attach-sources</id> |
|
|
|
<phase>package</phase> |
|
|
|
<goals> |
|
|
|
<goal>jar-no-fork</goal> |
|
|
|
</goals> |
|
|
|
</execution> |
|
|
|
</executions> |
|
|
|
</plugin> |
|
|
|
|
|
|
|
<plugin> |
|
|
|
<groupId>org.apache.maven.plugins</groupId> |
|
|
|
<artifactId>maven-jar-plugin</artifactId> |
|
|
|
<configuration> |
|
|
|
<archive> |
|
|
|
<addMavenDescriptor>false</addMavenDescriptor> |
|
|
|
</archive> |
|
|
|
<!-- Re-create original JAR in order to avoid re-shading already shaded JAR in non-clean builds --> |
|
|
|
<forceCreation>true</forceCreation> |
|
|
|
</configuration> |
|
|
|
<executions> |
|
|
|
<execution> |
|
|
|
<!-- Avoid creating test JAR --> |
|
|
|
<id>test-jar</id> |
|
|
|
<phase>none</phase> |
|
|
|
</execution> |
|
|
|
</executions> |
|
|
|
</plugin> |
|
|
|
|
|
|
|
<plugin> |
|
|
|
<groupId>org.apache.maven.plugins</groupId> |
|
|
|
<artifactId>maven-shade-plugin</artifactId> |
|
|
|
<configuration> |
|
|
|
<createSourcesJar>true</createSourcesJar> |
|
|
|
<createDependencyReducedPom>false</createDependencyReducedPom> |
|
|
|
<shadedArtifactAttached>false</shadedArtifactAttached> |
|
|
|
</configuration> |
|
|
|
<executions> |
|
|
|
<execution> |
|
|
|
<id>asm-relocate</id> |
|
|
|
<phase>package</phase> |
|
|
|
<goals> |
|
|
|
<goal>shade</goal> |
|
|
|
</goals> |
|
|
|
<configuration> |
|
|
|
<minimizeJar>false</minimizeJar> |
|
|
|
<shadeSourcesContent>true</shadeSourcesContent> |
|
|
|
<artifactSet> |
|
|
|
<excludes> |
|
|
|
<exclude>${project.groupId}</exclude> |
|
|
|
</excludes> |
|
|
|
</artifactSet> |
|
|
|
<filters> |
|
|
|
<filter> |
|
|
|
<artifact>*</artifact> |
|
|
|
<excludes> |
|
|
|
<exclude>META-INF/*</exclude> |
|
|
|
</excludes> |
|
|
|
</filter> |
|
|
|
</filters> |
|
|
|
<relocations> |
|
|
|
<relocation> |
|
|
|
<pattern>org.objectweb.asm</pattern> |
|
|
|
<shadedPattern>aj.org.objectweb.asm</shadedPattern> |
|
|
|
</relocation> |
|
|
|
</relocations> |
|
|
|
</configuration> |
|
|
|
</execution> |
|
|
|
</executions> |
|
|
|
</plugin> |
|
|
|
|
|
|
|
<plugin> |
|
|
|
<groupId>org.codehaus.mojo</groupId> |
|
|
|
<artifactId>flatten-maven-plugin</artifactId> |
|
|
|
<version>1.2.2</version> |
|
|
|
<executions> |
|
|
|
<!-- Remove shaded dependencies from uber JAR --> |
|
|
|
<execution> |
|
|
|
<id>flatten</id> |
|
|
|
<phase>process-resources</phase> |
|
|
|
<goals> |
|
|
|
<goal>flatten</goal> |
|
|
|
</goals> |
|
|
|
<configuration> |
|
|
|
<flattenMode>oss</flattenMode> |
|
|
|
<pomElements> |
|
|
|
<dependencies>remove</dependencies> |
|
|
|
</pomElements> |
|
|
|
<outputDirectory>${project.build.directory}</outputDirectory> |
|
|
|
<flattenedPomFilename>flattened-pom.xml</flattenedPomFilename> |
|
|
|
</configuration> |
|
|
|
</execution> |
|
|
|
</executions> |
|
|
|
</plugin> |
|
|
|
|
|
|
|
</plugins> |
|
|
|
</build> |
|
|
|
|
|
|
|
<dependencies> |
|
|
|
<dependency> |
|
|
|
<groupId>org.ow2.asm</groupId> |
|
|
|
<artifactId>asm</artifactId> |
|
|
|
</dependency> |
|
|
|
</dependencies> |
|
|
|
|
|
|
|
</project> |