diff options
Diffstat (limited to 'asm-renamed/pom.xml')
-rw-r--r-- | asm-renamed/pom.xml | 201 |
1 files changed, 201 insertions, 0 deletions
diff --git a/asm-renamed/pom.xml b/asm-renamed/pom.xml new file mode 100644 index 000000000..bb29f7838 --- /dev/null +++ b/asm-renamed/pom.xml @@ -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> |