123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- <?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>
|