aboutsummaryrefslogtreecommitdiffstats
path: root/aspectjtools/pom.xml
diff options
context:
space:
mode:
authorAlexander Kriegisch <Alexander@Kriegisch.name>2021-05-15 10:19:08 +0700
committerAlexander Kriegisch <Alexander@Kriegisch.name>2021-05-16 07:05:28 +0700
commitc6155643d6576449f7f721e0ca26a7be9c9dc93a (patch)
tree159716f15695e65bdfa21c764d8741e85bcf32a7 /aspectjtools/pom.xml
parentde12ea9f2c59f4654c36e291e1f8160948d533eb (diff)
downloadaspectj-c6155643d6576449f7f721e0ca26a7be9c9dc93a.tar.gz
aspectj-c6155643d6576449f7f721e0ca26a7be9c9dc93a.zip
Create javadoc for all public artifacts, fix dependencies
Sonatype OSSRH repository rules require source and javadoc JARs in order to create staging repositories for releases to be promoted to Maven Central. So I added build steps to unzip the source JARs and then create Javadocs for them. FIXME: This configuration works with JDK 16, but throws errors on other JDK versions, e.g. 14. It looks as if the Maven Javadoc plugin does not do a particularly good job applying the plugin settings in a way making it work with different JDK javadoc tool versions. I am saying that, because when using the tool directly on the console, it works with basic settings and the correct classpath. In order to enable creating uber JARs via Maven Shade in the future, I also added missing dependencies. Maven Assembly descriptors just assume that all the necessary class files and sources already exist where it copies them from. But several of the dependency modules were not explicitly listed as such by the uber JAR modules. I fixed that. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Diffstat (limited to 'aspectjtools/pom.xml')
-rw-r--r--aspectjtools/pom.xml133
1 files changed, 129 insertions, 4 deletions
diff --git a/aspectjtools/pom.xml b/aspectjtools/pom.xml
index 2941aab3e..03bb6ed96 100644
--- a/aspectjtools/pom.xml
+++ b/aspectjtools/pom.xml
@@ -174,6 +174,66 @@
</executions>
</plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>truezip-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unzip-relocated-sources</id>
+ <phase>package</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <!--
+ Skip, if javadoc generation is also meant to be skipped, which is the default unless the 'release'
+ profile is active or the property is overridden manually to be false. See property definitions in parent
+ POM for default case and release profile.
+ -->
+ <skip>${maven.javadoc.skip}</skip>
+ <verbose>true</verbose>
+ <!-- TODO: Include 'aj' package for ASM-renamed contained in aspectjtools? -->
+ <fileset>
+ <directory>${project.build.directory}/${project.build.finalName}-sources.jar/org/aspectj</directory>
+ <outputDirectory>${project.build.directory}/unpacked-sources/org/aspectj</outputDirectory>
+ </fileset>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>3.2.0</version>
+ <executions>
+ <execution>
+ <id>javadoc-jar</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ <!--
+ FIXME: This configuration works with JDK 16, but throws errors on other JDK versions, e.g. 14. It looks as
+ if the Maven Javadoc plugin does not do a particularly good job applying the plugin settings in a way
+ making it work with different JDK javadoc tool versions. I am saying that, because when using the tool
+ directly on the console, it works with basic settings and the correct classpath.
+ -->
+ <configuration>
+ <sourcepath>${project.build.directory}/unpacked-sources</sourcepath>
+ <!-- TODO: Include 'aj' package for ASM-renamed contained in aspectjtools? -->
+ <subpackages>org.aspectj</subpackages>
+ <!-- Deactivate doclint checks in order to suppress errors -->
+ <doclint>none</doclint>
+ <!-- Generate class use xref, making javadocs considerably bigger, but also more informative -->
+ <use>true</use>
+ <!-- FIXME: Why does it fail without this parameter? -->
+ <javadocVersion>8</javadocVersion>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
<!-- Caveat: Attaching the flattened POM needs packaging=jar, so do not use packaging=pom for this module -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
@@ -198,23 +258,88 @@
</execution>
</executions>
</plugin>
-
</plugins>
+
</build>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
- <artifactId>org.aspectj.ajdt.core</artifactId>
+ <artifactId>org.eclipse.jdt.core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>asm-renamed</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>runtime</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
- <artifactId>org.eclipse.jdt.core</artifactId>
+ <artifactId>weaver</artifactId>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
- <artifactId>asm-renamed</artifactId>
+ <artifactId>util</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>bridge</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>asm</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>org.aspectj.matcher</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>bcel-builder</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>loadtime</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>ajbrowser</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>ajde</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>ajde.core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>ajdoc</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>org.aspectj.ajdt.core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>taskdefs</artifactId>
+ <version>${project.version}</version>
</dependency>
</dependencies>