diff options
author | Alexander Kriegisch <Alexander@Kriegisch.name> | 2021-05-12 12:03:33 +0700 |
---|---|---|
committer | Alexander Kriegisch <Alexander@Kriegisch.name> | 2021-05-16 07:05:28 +0700 |
commit | de12ea9f2c59f4654c36e291e1f8160948d533eb (patch) | |
tree | 2aa3edd5b9894472509342c40d191b24e11564a5 | |
parent | 49ae298d31859132fd61f187d53b91f5ec2c1d4b (diff) | |
download | aspectj-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.xml | 37 | ||||
-rw-r--r-- | aspectjrt/pom.xml | 36 | ||||
-rw-r--r-- | aspectjtools/pom.xml | 38 | ||||
-rw-r--r-- | aspectjweaver/pom.xml | 36 | ||||
-rw-r--r-- | installer/aspectjinstaller-assembly.xml | 1 | ||||
-rw-r--r-- | installer/pom.xml | 75 |
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> |