aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kriegisch <Alexander@Kriegisch.name>2021-05-12 12:03:33 +0700
committerAlexander Kriegisch <Alexander@Kriegisch.name>2021-05-16 07:05:28 +0700
commitde12ea9f2c59f4654c36e291e1f8160948d533eb (patch)
tree2aa3edd5b9894472509342c40d191b24e11564a5
parent49ae298d31859132fd61f187d53b91f5ec2c1d4b (diff)
downloadaspectj-de12ea9f2c59f4654c36e291e1f8160948d533eb.tar.gz
aspectj-de12ea9f2c59f4654c36e291e1f8160948d533eb.zip
Add information required by Maven Central to public artifact POMs
This is another step away from manual deployment towards Maven-triggered deployment for both releases and snapshots. The 5 main POMs (matcher, runtime, weaver, tools, installer) now contain information required by Sonatype for Maven Central deployments according to: https://central.sonatype.org/publish/requirements/ TODO: - Add corresponding 'distributionManagement' section and necessary release plugins for Sonatype OSS repositories to parent POM. - Enable Maven to also use Install plugin in order to automatically set release versions, commit to Git and tag releases, then upgrade to a new snapshot afterwards. - Make sure that Flatten Maven plugin does not strip off the required tags we just added to the POMs. It looks as if the chosen flattenMode=oss already retains the exact tags we need, only slightly reformatting (hence "uglifying") the POM. But an ugly POM does not block Maven Central deployments, as long as it is complete. So it looks as if this to-do item is already done. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
-rw-r--r--aspectjmatcher/pom.xml37
-rw-r--r--aspectjrt/pom.xml36
-rw-r--r--aspectjtools/pom.xml38
-rw-r--r--aspectjweaver/pom.xml36
-rw-r--r--installer/aspectjinstaller-assembly.xml1
-rw-r--r--installer/pom.xml75
6 files changed, 211 insertions, 12 deletions
diff --git a/aspectjmatcher/pom.xml b/aspectjmatcher/pom.xml
index 0cba8cae9..e0cd44e8a 100644
--- a/aspectjmatcher/pom.xml
+++ b/aspectjmatcher/pom.xml
@@ -1,6 +1,5 @@
<?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>
@@ -11,7 +10,41 @@
</parent>
<artifactId>aspectjmatcher</artifactId>
+
<name>AspectJ Matcher</name>
+ <description>
+ The AspectJ matcher can be used for matching pointcuts independently of any AspectJ compilation or weaving steps.
+ Most notably, this can be used by frameworks such as Spring AOP which utilise the @AspectJ pointcut syntax but
+ implement aspect weaving in a way independent of AspectJ, e.g. using dynamic proxies.
+ </description>
+ <url>https://www.eclipse.org/aspectj/</url>
+
+ <licenses>
+ <license>
+ <name>Eclipse Public License - v 1.0</name>
+ <url>http://www.eclipse.org/legal/epl-v10.html</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <developers>
+ <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 public one -->
diff --git a/aspectjrt/pom.xml b/aspectjrt/pom.xml
index 12571720c..0d6808a4d 100644
--- a/aspectjrt/pom.xml
+++ b/aspectjrt/pom.xml
@@ -1,6 +1,5 @@
<?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>
@@ -11,7 +10,40 @@
</parent>
<artifactId>aspectjrt</artifactId>
+
<name>AspectJ Runtime</name>
+ <description>
+ The AspectJ runtime is a small library necessary to run Java programs enhanced by AspectJ aspects during a previous
+ compile-time or post-compile-time (binary weaving) build step.
+ </description>
+ <url>https://www.eclipse.org/aspectj/</url>
+
+ <licenses>
+ <license>
+ <name>Eclipse Public License - v 1.0</name>
+ <url>http://www.eclipse.org/legal/epl-v10.html</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <developers>
+ <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 public one -->
diff --git a/aspectjtools/pom.xml b/aspectjtools/pom.xml
index edd60f711..2941aab3e 100644
--- a/aspectjtools/pom.xml
+++ b/aspectjtools/pom.xml
@@ -1,6 +1,5 @@
<?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>
@@ -11,7 +10,42 @@
</parent>
<artifactId>aspectjtools</artifactId>
+
<name>AspectJ Tools (Compiler)</name>
+ <description>
+ AspectJ tools most notably contains the AspectJ compiler (AJC). AJC applies aspects to Java classes during
+ compilation, fully replacing Javac for plain Java classes and also compiling native AspectJ or annotation-based
+ @AspectJ syntax. Furthermore, AJC can weave aspects into existing class files in a post-compile binary weaving step.
+ This library is a superset of AspectJ weaver and hence also of AspectJ runtime.
+ </description>
+ <url>https://www.eclipse.org/aspectj/</url>
+
+ <licenses>
+ <license>
+ <name>Eclipse Public License - v 1.0</name>
+ <url>http://www.eclipse.org/legal/epl-v10.html</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <developers>
+ <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 public one -->
diff --git a/aspectjweaver/pom.xml b/aspectjweaver/pom.xml
index a9147dd14..806622208 100644
--- a/aspectjweaver/pom.xml
+++ b/aspectjweaver/pom.xml
@@ -1,6 +1,5 @@
<?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>
@@ -11,7 +10,40 @@
</parent>
<artifactId>aspectjweaver</artifactId>
+
<name>AspectJ Weaver</name>
+ <description>
+ The AspectJ weaver applies aspects to Java classes. It can be used as a Java agent in order to apply load-time
+ weaving (LTW) during class-loading and also contains the AspectJ runtime classes.
+ </description>
+ <url>https://www.eclipse.org/aspectj/</url>
+
+ <licenses>
+ <license>
+ <name>Eclipse Public License - v 1.0</name>
+ <url>http://www.eclipse.org/legal/epl-v10.html</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <developers>
+ <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 public one -->
diff --git a/installer/aspectjinstaller-assembly.xml b/installer/aspectjinstaller-assembly.xml
index 2a5cfac7b..1a2c69190 100644
--- a/installer/aspectjinstaller-assembly.xml
+++ b/installer/aspectjinstaller-assembly.xml
@@ -22,6 +22,7 @@
<directory>../aj-build/dist/docs</directory>
<outputDirectory>files</outputDirectory>
</fileSet>
+ <!-- Runtime javadocs - TODO: use full tools javadocs instead -->
<fileSet>
<directory>../runtime/target/site/apidocs</directory>
<outputDirectory>files/doc/runtime-apidocs</outputDirectory>
diff --git a/installer/pom.xml b/installer/pom.xml
index 321d573a8..dece35288 100644
--- a/installer/pom.xml
+++ b/installer/pom.xml
@@ -1,6 +1,5 @@
<?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>
@@ -11,17 +10,85 @@
</parent>
<artifactId>installer</artifactId>
+
<name>AspectJ Installer</name>
+ <description>
+ The AspectJ installer is an executable JAR capable of installing a full AspectJ distribution consisting of libraries
+ (AspectJ runtime, weaver and tools/compiler) and API Javadoc.
+ </description>
+ <url>https://www.eclipse.org/aspectj/</url>
+
+ <licenses>
+ <license>
+ <name>Eclipse Public License - v 1.0</name>
+ <url>http://www.eclipse.org/legal/epl-v10.html</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <developers>
+ <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>
+ <!--
+ TODO: Decide whether to publish this artifact on Maven Central or not. For now, skip the deployment until a final
+ decision was made. If we do decide to publish, we need to add source and javadoc JARs. I suggest to re-use the
+ ones from aspectjtools, because the installer contains runtime, weaver and tools and the latter one is a
+ superset of the former two.
+ -->
<!-- By default, do not deploy artifacts - but deploy this public one -->
- <maven.deploy.skip>false</maven.deploy.skip>
+ <!--<maven.deploy.skip>false</maven.deploy.skip>-->
</properties>
<dependencies>
+ <!-- Uber JARs to add to the installer archive: runtime, weaver, tools -->
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>aspectjrt</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>aspectjweaver</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>aspectjtools</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <!-- Executable JAR installer classes -->
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>build</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <!-- AspectJ documentation, created by Ant job in aj-build/dist/docs -->
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>docs</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <!-- Runtime javadocs - TODO: use full tools javadocs instead -->
<dependency>
<groupId>org.aspectj</groupId>
- <artifactId>run-all-junit-tests</artifactId>
+ <artifactId>runtime</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>