--- /dev/null
+<?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>
<destFileName>jdtcore-for-aspectj-src.zip</destFileName>
</artifactItem>
+ <artifactItem>
+ <!-- Available from GitHub Packages (needs special repository declaration) -->
+ <groupId>org.aspectj</groupId>
+ <artifactId>asm-renamed</artifactId>
+ <version>${asm.version}</version>
+ <type>jar</type>
+ <overWrite>false</overWrite>
+ <outputDirectory>asm</outputDirectory>
+ <destFileName>asm-${asm.version}.renamed.jar</destFileName>
+ </artifactItem>
+ <artifactItem>
+ <!-- Available from GitHub Packages (needs special repository declaration) -->
+ <groupId>org.aspectj</groupId>
+ <artifactId>asm-renamed</artifactId>
+ <version>${asm.version}</version>
+ <type>java-source</type>
+ <classifier>sources</classifier>
+ <overWrite>false</overWrite>
+ <outputDirectory>asm</outputDirectory>
+ <destFileName>asm-${asm.version}.renamed-src.zip</destFileName>
+ </artifactItem>
+
<!--
How relevant is JRockit in 2021?
https://en.wikipedia.org/wiki/JRockit
<directory>.</directory>
<includes>
<include>ant/**</include>
+ <include>asm/**</include>
<include>commons/**</include>
<include>jarjar/**</include>
<include>jdiff/**</include>
</build>
<dependencies>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>asm-renamed</artifactId>
+ </dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>org.eclipse.jdt.core</artifactId>