aboutsummaryrefslogtreecommitdiffstats
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
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>
-rw-r--r--asm-renamed/pom.xml97
-rw-r--r--aspectjmatcher/pom.xml72
-rw-r--r--aspectjrt/pom.xml70
-rw-r--r--aspectjtools/pom.xml133
-rw-r--r--aspectjweaver/pom.xml60
-rw-r--r--lib/pom.xml1
-rw-r--r--pom.xml119
-rw-r--r--runtime/pom.xml1
8 files changed, 507 insertions, 46 deletions
diff --git a/asm-renamed/pom.xml b/asm-renamed/pom.xml
index a94b1863c..e62b98565 100644
--- a/asm-renamed/pom.xml
+++ b/asm-renamed/pom.xml
@@ -19,20 +19,52 @@
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 aspectj.dev.
+ deploy it to and Sonatype OSSRH separately, promoting releases to Maven Central. From there it can be consumed by
+ the main AspectJ build.
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 the
- credentials for write access to the aspectj.dev Maven repository WebDAV share and the correct server, profile and
- property entries in settings.xml.
-
- Then you should be able to run 'mvn clean deploy' for this module and be fine.
+ version, please build and deploy this module after upgrading property 'asm.version'.
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>
+ <url>https://www.eclipse.org/aspectj/</url>
+
+ <licenses>
+ <!--
+ Even though we release the package-relocated version under the 'org.aspectj' group ID, we do respect the original
+ licence, hence BSD-3 and not Eclipse
+ -->
+ <license>
+ <name>BSD-3-Clause</name>
+ <url>https://asm.ow2.io/license.html</url>
+ </license>
+ </licenses>
+
+ <developers>
+ <!--
+ AspectJ developers only. For a list of original developers, mailing lists, SCM, issue management information etc.,
+ please see the original upstream POM, e.g. https://repo1.maven.org/maven2/org/ow2/asm/asm/9.1/asm-9.1.pom
+ -->
+ <developer>
+ <id>aclement</id>
+ <name>Andy Clement</name>
+ <email>aclement@vmware.com</email>
+ </developer>
+ <developer>
+ <id>kriegaex</id>
+ <name>Alexander Kriegisch</name>
+ <email>kriegaex@aspectj.dev</email>
+ </developer>
+ </developers>
+
+ <scm>
+ <url>https://github.com/eclipse/org.aspectj</url>
+ <connection>scm:git:https://github.com/eclipse/org.aspectj.git</connection>
+ <developerConnection>scm:git:ssh://git@github.com:eclipse/org.aspectj.git</developerConnection>
+ </scm>
<properties>
<!-- By default, do not deploy artifacts - but deploy this one used by the main build -->
@@ -110,6 +142,7 @@
<artifactId>maven-shade-plugin</artifactId>
<configuration>
<createSourcesJar>true</createSourcesJar>
+ <!-- Flatten Maven plugin takes care of customising the POM for deployment -->
<createDependencyReducedPom>false</createDependencyReducedPom>
<shadedArtifactAttached>false</shadedArtifactAttached>
</configuration>
@@ -149,6 +182,55 @@
<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>
+ <fileset>
+ <directory>${project.build.directory}/${project.build.finalName}-sources.jar</directory>
+ <outputDirectory>${project.build.directory}/unpacked-sources</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>
+ <configuration>
+ <sourcepath>${project.build.directory}/unpacked-sources</sourcepath>
+ <!-- Deactivate doclint checks in order to suppress errors -->
+ <doclint>none</doclint>
+ <subpackages>aj</subpackages>
+ <javadocVersion>8</javadocVersion>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>1.2.2</version>
<executions>
@@ -160,9 +242,10 @@
<goal>flatten</goal>
</goals>
<configuration>
- <flattenMode>defaults</flattenMode>
+ <flattenMode>oss</flattenMode>
<pomElements>
<dependencies>remove</dependencies>
+ <repositories>remove</repositories>
</pomElements>
<outputDirectory>${project.build.directory}</outputDirectory>
<flattenedPomFilename>flattened-pom.xml</flattenedPomFilename>
diff --git a/aspectjmatcher/pom.xml b/aspectjmatcher/pom.xml
index e0cd44e8a..ff456caa1 100644
--- a/aspectjmatcher/pom.xml
+++ b/aspectjmatcher/pom.xml
@@ -157,6 +157,59 @@
</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>
+ <fileset>
+ <directory>${project.build.directory}/${project.build.finalName}-sources.jar</directory>
+ <outputDirectory>${project.build.directory}/unpacked-sources</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>
+ <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>
@@ -184,4 +237,23 @@
</plugins>
</build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <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>org.aspectj.matcher</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
</project>
diff --git a/aspectjrt/pom.xml b/aspectjrt/pom.xml
index 0d6808a4d..c674b3601 100644
--- a/aspectjrt/pom.xml
+++ b/aspectjrt/pom.xml
@@ -50,14 +50,6 @@
<maven.deploy.skip>false</maven.deploy.skip>
</properties>
- <dependencies>
- <dependency>
- <groupId>org.aspectj</groupId>
- <artifactId>runtime</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
-
<build>
<plugins>
@@ -158,6 +150,59 @@
</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>
+ <fileset>
+ <directory>${project.build.directory}/${project.build.finalName}-sources.jar</directory>
+ <outputDirectory>${project.build.directory}/unpacked-sources</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>
+ <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>
@@ -185,4 +230,13 @@
</plugins>
</build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>runtime</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
</project>
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>
diff --git a/aspectjweaver/pom.xml b/aspectjweaver/pom.xml
index 806622208..4db51b332 100644
--- a/aspectjweaver/pom.xml
+++ b/aspectjweaver/pom.xml
@@ -175,6 +175,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 aspectjweaver? -->
+ <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>
diff --git a/lib/pom.xml b/lib/pom.xml
index 807d8a344..a8cddc23a 100644
--- a/lib/pom.xml
+++ b/lib/pom.xml
@@ -355,7 +355,6 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>truezip-maven-plugin</artifactId>
- <version>1.2</version>
<!--
The TrueZIP plugin can seamlessly copy out of or into (nested) ZIP files as if they were normal file system
paths. No additional moves and deletes with Antrun are necessary.
diff --git a/pom.xml b/pom.xml
index 17342e9b6..166549658 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,13 +1,13 @@
<?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"
+<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>
<groupId>org.aspectj</groupId>
<artifactId>aspectj-parent</artifactId>
- <packaging>pom</packaging>
<version>1.9.7.BUILD-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
<name>AspectJ Parent Project</name>
<properties>
@@ -16,8 +16,12 @@
<!-- Basic build properties -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+
<!-- By default, do not deploy artifacts - override for the ones which actually should be deployed -->
<maven.deploy.skip>true</maven.deploy.skip>
+ <!-- By default, do create javadoc - override in release profile or manually -->
+ <maven.javadoc.skip>true</maven.javadoc.skip>
+
<!-- Dependency versions -->
<jdt.core.version>3.25.0-SNAPSHOT</jdt.core.version>
<asm.version>9.1</asm.version>
@@ -35,29 +39,23 @@
</properties>
<distributionManagement>
- <repository>
- <id>aspectj-dev-deploy</id>
- <name>AspectJ.dev WebDAV Releases</name>
- <!-- Please specify the local mount point for the WebDAV share in your settings.xml -->
- <url>${aspectj.dev.webdav.share}</url>
- <uniqueVersion>false</uniqueVersion>
- </repository>
<snapshotRepository>
- <id>aspectj-dev-deploy</id>
- <name>AspectJ.dev WebDAV Snapshots</name>
- <!-- Please specify the local mount point for the WebDAV share in your settings.xml -->
- <url>${aspectj.dev.webdav.share}</url>
- <uniqueVersion>true</uniqueVersion>
+ <id>ossrh</id>
+ <url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
+ <repository>
+ <id>ossrh</id>
+ <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
+ </repository>
</distributionManagement>
<repositories>
<!--
- Repeat Central definition from super POM https://maven.apache.org/ref/3.6.3/maven-model-builder/super-pom.html.
- Define it as the first repository to search at, otherwise Maven would always search any other repositories defined
- in the POM or in settings.xml first, slowing down the build, because most artifacts reside at Maven Central. See
- https://maven.apache.org/guides/mini/guide-multiple-repositories.html#repository-order for more details.
- -->
+ Repeat Central definition from super POM https://maven.apache.org/ref/3.6.3/maven-model-builder/super-pom.html.
+ Define it as the first repository to search at, otherwise Maven would always search any other repositories defined
+ in the POM or in settings.xml first, slowing down the build, because most artifacts reside at Maven Central. See
+ https://maven.apache.org/guides/mini/guide-multiple-repositories.html#repository-order for more details.
+ -->
<repository>
<id>central</id>
<name>Central Repository</name>
@@ -89,11 +87,11 @@
<pluginRepositories>
<!--
- Repeat Central definition from super POM https://maven.apache.org/ref/3.6.3/maven-model-builder/super-pom.html.
- Define it as the first repository to search at, otherwise Maven would always search any other repositories defined
- in the POM or in settings.xml first, slowing down the build, because most artifacts reside at Maven Central. See
- https://maven.apache.org/guides/mini/guide-multiple-repositories.html#repository-order for more details.
- -->
+ Repeat Central definition from super POM https://maven.apache.org/ref/3.6.3/maven-model-builder/super-pom.html.
+ Define it as the first repository to search at, otherwise Maven would always search any other repositories defined
+ in the POM or in settings.xml first, slowing down the build, because most artifacts reside at Maven Central. See
+ https://maven.apache.org/guides/mini/guide-multiple-repositories.html#repository-order for more details.
+ -->
<pluginRepository>
<id>central</id>
<name>Central Repository</name>
@@ -188,6 +186,25 @@
<jvm.arg.addOpens>--add-opens java.base/java.lang=ALL-UNNAMED</jvm.arg.addOpens>
</properties>
</profile>
+ <profile>
+ <id>release</id>
+ <properties>
+ <!-- By default, do create javadoc - override in release profile -->
+ <maven.javadoc.skip>false</maven.javadoc.skip>
+ </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.sonatype.plugins</groupId>
+ <artifactId>nexus-staging-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
</profiles>
<build>
@@ -298,6 +315,58 @@
<artifactId>flatten-maven-plugin</artifactId>
<version>1.2.2</version>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>1.6</version>
+ <executions>
+ <execution>
+ <id>sign-artifacts</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.8.2</version>
+ <executions>
+ <execution>
+ <id>default-deploy</id>
+ <phase>deploy</phase>
+ <goals>
+ <goal>deploy</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <!-- Deploy at the end of a multi-module build -->
+ <deployAtEnd>true</deployAtEnd>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.sonatype.plugins</groupId>
+ <artifactId>nexus-staging-maven-plugin</artifactId>
+ <version>1.6.8</version>
+ <extensions>true</extensions>
+ <configuration>
+ <serverId>ossrh</serverId>
+ <nexusUrl>https://oss.sonatype.org/</nexusUrl>
+ <autoReleaseAfterClose>false</autoReleaseAfterClose>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>truezip-maven-plugin</artifactId>
+ <version>1.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>3.2.0</version>
+ </plugin>
</plugins>
</pluginManagement>
diff --git a/runtime/pom.xml b/runtime/pom.xml
index 7607e2823..ff4c8836d 100644
--- a/runtime/pom.xml
+++ b/runtime/pom.xml
@@ -16,7 +16,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>3.0.1</version>
<configuration>
</configuration>
<executions>