aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kriegisch <Alexander@Kriegisch.name>2021-04-16 12:14:31 +0700
committerAlexander Kriegisch <Alexander@Kriegisch.name>2021-04-16 12:14:31 +0700
commitd35885bc5faef4936aa5c4207da8f9a3a855630a (patch)
tree60a0679ccfe0b74e29f118d7c9894dbc1631f391
parent2f981bdde6263a1ab9f5e26ce202cbd8ed51ca70 (diff)
downloadaspectj-d35885bc5faef4936aa5c4207da8f9a3a855630a.tar.gz
aspectj-d35885bc5faef4936aa5c4207da8f9a3a855630a.zip
Use dependencies instead of copies under 'lib' for assemblies
This is one step to get rid of org.aspectj:org.eclipse.jdt.core and org.aspectj:asm-renamed in the 'lib' directory. AspectJ tools + weaver uber JAR builds now use dependencies in the POM in order to deal with creating binary + source assemblies. They no longer rely on manually updated copies under 'lib'. Details: - Binaries are copied via 'dependencySets' in the assembly descriptor. - Sources are unzipped via Maven Dependency Plugin before including them into the source uber JAR via assembly descriptor. - NEW: This also includes ASM-renamed sources which so far were ignored. It is a positive side-effect from the fact that for ASM-renamed Maven Shade automatically creates a source JAR. - Maven Ant Run is no longer used for unzipping binary + source JARs. - While working in parallel with JDT Core and AspectJ it is now much easier to produce up to date artifacts, e.g. for consumption by AJDT, because it does not matter anymore if we forget to run the build in module 'lib' in order to update the JDT Core copy. Status quo: - Folder lib/asm is no longer used and will be removed in a subsequent commit. - Folder lib/jdtcore-aj is no longer used by the Maven build, but still referenced in a few UNIX shell scripts and Ant build files. TODO: Find out if those are still actively used. If yes, refactor them to look for the file in the local Mavven repository. Otherwise, delete the referencing files and also lib/jdtcore-aj. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
-rw-r--r--aspectjmatcher/aspectjmatcher-assembly.xml8
-rw-r--r--aspectjmatcher/aspectjmatcher-sources-assembly.xml6
-rw-r--r--aspectjmatcher/pom.xml26
-rw-r--r--aspectjrt/aspectjrt-assembly.xml4
-rw-r--r--aspectjrt/aspectjrt-sources-assembly.xml6
-rw-r--r--aspectjtools/aspectjtools-assembly.xml34
-rw-r--r--aspectjtools/aspectjtools-sources-assembly.xml22
-rw-r--r--aspectjtools/pom.xml77
-rw-r--r--aspectjweaver/aspectjweaver-assembly.xml26
-rw-r--r--aspectjweaver/aspectjweaver-sources-assembly.xml11
-rw-r--r--aspectjweaver/pom.xml46
-rw-r--r--installer/aspectjinstaller-assembly.xml6
12 files changed, 107 insertions, 165 deletions
diff --git a/aspectjmatcher/aspectjmatcher-assembly.xml b/aspectjmatcher/aspectjmatcher-assembly.xml
index 2a95e6fd1..3146028d2 100644
--- a/aspectjmatcher/aspectjmatcher-assembly.xml
+++ b/aspectjmatcher/aspectjmatcher-assembly.xml
@@ -1,13 +1,13 @@
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
+ xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
<id>aspectjmatcher</id>
-
+
<formats>
<format>jar</format>
</formats>
-
+
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
diff --git a/aspectjmatcher/aspectjmatcher-sources-assembly.xml b/aspectjmatcher/aspectjmatcher-sources-assembly.xml
index cb55a4667..c3f925a4a 100644
--- a/aspectjmatcher/aspectjmatcher-sources-assembly.xml
+++ b/aspectjmatcher/aspectjmatcher-sources-assembly.xml
@@ -1,8 +1,8 @@
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
+ xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
- <id>sources</id>
+<id>aspectjmatcher-sources</id>
<formats>
<format>jar</format>
diff --git a/aspectjmatcher/pom.xml b/aspectjmatcher/pom.xml
index 06597f41c..3aa998b6c 100644
--- a/aspectjmatcher/pom.xml
+++ b/aspectjmatcher/pom.xml
@@ -29,32 +29,6 @@
</executions>
</plugin>
-
- <!--
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>3.0.0</version>
- <executions>
- <execution>
- <id>unzipasm</id>
- <phase>prepare-package</phase>
- <configuration>
- <target>
- <echo message="unzip jarjar'd asm" />
- <unzip
- src="${project.basedir}/../lib/asm/asm-9.1.renamed.jar"
- dest="target/asm-unzipped" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- -->
-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
diff --git a/aspectjrt/aspectjrt-assembly.xml b/aspectjrt/aspectjrt-assembly.xml
index d4108da92..5c3e41713 100644
--- a/aspectjrt/aspectjrt-assembly.xml
+++ b/aspectjrt/aspectjrt-assembly.xml
@@ -1,6 +1,6 @@
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
+ xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
<id>aspectjrt</id>
diff --git a/aspectjrt/aspectjrt-sources-assembly.xml b/aspectjrt/aspectjrt-sources-assembly.xml
index ec393398e..b4c13e2a9 100644
--- a/aspectjrt/aspectjrt-sources-assembly.xml
+++ b/aspectjrt/aspectjrt-sources-assembly.xml
@@ -1,8 +1,8 @@
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
+ xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
- <id>sources</id>
+<id>aspectjrt-sources</id>
<formats>
<format>jar</format>
diff --git a/aspectjtools/aspectjtools-assembly.xml b/aspectjtools/aspectjtools-assembly.xml
index 310dbe098..fbf45c808 100644
--- a/aspectjtools/aspectjtools-assembly.xml
+++ b/aspectjtools/aspectjtools-assembly.xml
@@ -1,15 +1,25 @@
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
+ xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
<id>aspectjtools</id>
-
+
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
+ <dependencySets>
+ <dependencySet>
+ <unpack>true</unpack>
+ <includes>
+ <include>org.aspectj:org.eclipse.jdt.core</include>
+ <include>org.aspectj:asm-renamed</include>
+ </includes>
+ </dependencySet>
+ </dependencySets>
+
<fileSets>
<!-- runtime -->
<fileSet>
@@ -70,16 +80,7 @@
<exclude>META-INF/maven/**</exclude>
</excludes>
</fileSet>
- <fileSet>
- <directory>target/asm-unzipped</directory>
- <outputDirectory>.</outputDirectory>
- <excludes>
- <exclude>META-INF/maven/**</exclude>
- <exclude>org/**</exclude>
- <exclude>META-INF/MANIFEST.MF</exclude>
- </excludes>
- </fileSet>
-
+
<!-- tools -->
<fileSet>
<directory>../ajbrowser/target/classes</directory>
@@ -123,13 +124,6 @@
<exclude>META-INF/maven/**</exclude>
</excludes>
</fileSet>
- <fileSet>
- <directory>target/jdtcore-unzipped</directory>
- <outputDirectory>.</outputDirectory>
- <excludes>
- <exclude>META-INF/MANIFEST.MF</exclude>
- </excludes>
- </fileSet>
</fileSets>
</assembly>
diff --git a/aspectjtools/aspectjtools-sources-assembly.xml b/aspectjtools/aspectjtools-sources-assembly.xml
index a382e5e8b..7b54c09b2 100644
--- a/aspectjtools/aspectjtools-sources-assembly.xml
+++ b/aspectjtools/aspectjtools-sources-assembly.xml
@@ -1,8 +1,8 @@
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
+ xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
- <id>sources</id>
+<id>aspectjtools-sources</id>
<formats>
<format>jar</format>
@@ -11,6 +11,7 @@
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
+
<fileSet>
<directory>../weaver/src/main/java</directory>
<outputDirectory>.</outputDirectory>
@@ -43,14 +44,8 @@
<directory>../loadtime/src/main/java</directory>
<outputDirectory>.</outputDirectory>
</fileSet>
- <!--
- <fileSet>
- <directory>target/asm-unzipped</directory>
- <outputDirectory>.</outputDirectory>
- </fileSet>
- -->
-
- <!-- tools -->
+
+ <!-- Tools -->
<fileSet>
<directory>../ajbrowser/src/main/java</directory>
<outputDirectory>.</outputDirectory>
@@ -75,10 +70,13 @@
<directory>../taskdefs/src/main/java</directory>
<outputDirectory>.</outputDirectory>
</fileSet>
+
+ <!-- Dependencies -->
<fileSet>
- <directory>target/jdtcore-unzipped-src</directory>
+ <directory>target/unzipped-sources</directory>
<outputDirectory>.</outputDirectory>
</fileSet>
+
</fileSets>
</assembly>
diff --git a/aspectjtools/pom.xml b/aspectjtools/pom.xml
index b14b2fe01..cac9b9e2f 100644
--- a/aspectjtools/pom.xml
+++ b/aspectjtools/pom.xml
@@ -14,14 +14,6 @@
<packaging>pom</packaging>
<name>AspectJ Compiler</name>
- <dependencies>
- <dependency>
- <groupId>org.aspectj</groupId>
- <artifactId>org.aspectj.ajdt.core</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
-
<build>
<plugins>
@@ -37,58 +29,24 @@
</executions>
</plugin>
-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>3.0.0</version>
+ <artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
- <id>unzipasm</id>
- <phase>prepare-package</phase>
- <configuration>
- <target>
- <echo message="unzip jarjar'd asm" />
- <unzip
- src="${project.basedir}/../lib/asm/asm-9.1.renamed.jar"
- dest="target/asm-unzipped" />
- </target>
- </configuration>
+ <id>unzip-dependency-sources</id>
<goals>
- <goal>run</goal>
+ <goal>unpack-dependencies</goal>
</goals>
- </execution>
-
- <execution>
- <id>unzipjdt</id>
<phase>prepare-package</phase>
<configuration>
- <target>
- <echo message="unzip patched jdtcore" />
- <unzip
- src="${project.basedir}/../lib/jdtcore-aj/jdtcore-for-aspectj.jar"
- dest="target/jdtcore-unzipped" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
-
- <execution>
- <id>unzipjdtsrc</id>
- <phase>prepare-package</phase>
- <configuration>
- <target>
- <echo message="unzip patched jdtcore sources" />
- <unzip
- src="${project.basedir}/../lib/jdtcore-aj/jdtcore-for-aspectj-src.zip"
- dest="target/jdtcore-unzipped-src" />
- </target>
+ <classifier>sources</classifier>
+ <!--<failOnMissingClassifierArtifact>false</failOnMissingClassifierArtifact>-->
+ <includeArtifactIds>org.eclipse.jdt.core,asm-renamed</includeArtifactIds>
+ <outputDirectory>${project.build.directory}/unzipped-sources</outputDirectory>
+ <!-- Avoid accidentally shading test-scoped dependencies like JUnit -->
+ <includeScope>runtime</includeScope>
</configuration>
- <goals>
- <goal>run</goal>
- </goals>
</execution>
</executions>
</plugin>
@@ -176,4 +134,21 @@
</plugins>
</build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>org.aspectj.ajdt.core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>org.eclipse.jdt.core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>asm-renamed</artifactId>
+ </dependency>
+ </dependencies>
+
</project>
diff --git a/aspectjweaver/aspectjweaver-assembly.xml b/aspectjweaver/aspectjweaver-assembly.xml
index af08bc45c..4130c3c32 100644
--- a/aspectjweaver/aspectjweaver-assembly.xml
+++ b/aspectjweaver/aspectjweaver-assembly.xml
@@ -1,15 +1,24 @@
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
+ xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
<id>aspectjweaver</id>
-
+
<formats>
<format>jar</format>
</formats>
-
+
<includeBaseDirectory>false</includeBaseDirectory>
+ <dependencySets>
+ <dependencySet>
+ <unpack>true</unpack>
+ <includes>
+ <include>org.aspectj:asm-renamed</include>
+ </includes>
+ </dependencySet>
+ </dependencySets>
+
<fileSets>
<fileSet>
<directory>../weaver/target/classes</directory>
@@ -67,15 +76,6 @@
<exclude>META-INF/maven/**</exclude>
</excludes>
</fileSet>
- <fileSet>
- <directory>target/asm-unzipped</directory>
- <outputDirectory>.</outputDirectory>
- <excludes>
- <exclude>META-INF/maven/**</exclude>
- <exclude>org/**</exclude>
- <exclude>META-INF/MANIFEST.MF</exclude>
- </excludes>
- </fileSet>
</fileSets>
</assembly>
diff --git a/aspectjweaver/aspectjweaver-sources-assembly.xml b/aspectjweaver/aspectjweaver-sources-assembly.xml
index 17e112d39..e1760dfe5 100644
--- a/aspectjweaver/aspectjweaver-sources-assembly.xml
+++ b/aspectjweaver/aspectjweaver-sources-assembly.xml
@@ -1,8 +1,8 @@
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
+ xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
- <id>sources</id>
+<id>aspectjweaver-sources</id>
<formats>
<format>jar</format>
@@ -43,12 +43,11 @@
<directory>../loadtime/src/main/java</directory>
<outputDirectory>.</outputDirectory>
</fileSet>
- <!--
+ <!-- Dependencies -->
<fileSet>
- <directory>target/asm-unzipped</directory>
+ <directory>target/unzipped-sources</directory>
<outputDirectory>.</outputDirectory>
</fileSet>
- -->
</fileSets>
</assembly>
diff --git a/aspectjweaver/pom.xml b/aspectjweaver/pom.xml
index da4b3b233..921401691 100644
--- a/aspectjweaver/pom.xml
+++ b/aspectjweaver/pom.xml
@@ -14,14 +14,6 @@
<packaging>pom</packaging>
<name>AspectJ Weaver</name>
- <dependencies>
- <dependency>
- <groupId>org.aspectj</groupId>
- <artifactId>weaver</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
-
<build>
<plugins>
@@ -37,26 +29,24 @@
</executions>
</plugin>
-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>3.0.0</version>
+ <artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
- <id>unzipasm</id>
+ <id>unzip-dependency-sources</id>
+ <goals>
+ <goal>unpack-dependencies</goal>
+ </goals>
<phase>prepare-package</phase>
<configuration>
- <target>
- <echo message="unzip jarjar'd asm" />
- <unzip
- src="${project.basedir}/../lib/asm/asm-9.1.renamed.jar"
- dest="target/asm-unzipped" />
- </target>
+ <classifier>sources</classifier>
+ <!--<failOnMissingClassifierArtifact>false</failOnMissingClassifierArtifact>-->
+ <includeArtifactIds>asm-renamed</includeArtifactIds>
+ <outputDirectory>${project.build.directory}/unzipped-sources</outputDirectory>
+ <!-- Avoid accidentally shading test-scoped dependencies like JUnit -->
+ <includeScope>runtime</includeScope>
</configuration>
- <goals>
- <goal>run</goal>
- </goals>
</execution>
</executions>
</plugin>
@@ -82,7 +72,6 @@
<Can-Redefine-Classes>true</Can-Redefine-Classes>
</manifestEntries>
-
<manifestSections>
<manifestSection>
<name>org/aspectj/weaver/</name>
@@ -148,4 +137,17 @@
</plugins>
</build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>weaver</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>asm-renamed</artifactId>
+ </dependency>
+ </dependencies>
+
</project>
diff --git a/installer/aspectjinstaller-assembly.xml b/installer/aspectjinstaller-assembly.xml
index 2927dd618..f7255b345 100644
--- a/installer/aspectjinstaller-assembly.xml
+++ b/installer/aspectjinstaller-assembly.xml
@@ -1,6 +1,6 @@
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
+ xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
<id>aspectjinstaller</id>
<formats>
@@ -20,7 +20,7 @@
<directory>../aj-build/dist/docs</directory>
<outputDirectory>files</outputDirectory>
</fileSet>
-
+
<fileSet>
<directory>../runtime/target/site/apidocs</directory>
<outputDirectory>files/doc/runtime-apidocs</outputDirectory>