Initial cleanup of maven set up in the parents' module

- Increase version of Guava dependency from 22.0 to 27.1-jre.

Note: In an OSGi runtime, Guice version 4.2.3 expects Guava with an exact version of 27.1-jre. For now, higher versions of Guava are not possible.

- Separate version numbers from dependencies and plugins

Following is a description of the purpose of the feature.

New contributors find it difficult to understand the function and intent of different plugins integrated into JClouds.

The primary goal is to simplify and streamline the overall setup.

On closer examination of the integrated plugins you will notice that,

- different plugins are used for the same or a similar goal
- the development activity of used plugins has been terminated
- modified integration requirements through Maven. The development of used plugins is progressing. Versions of the plugins integrated into JClouds are not up to date. Newer plugin versions require an adjustment to how integration into a project is done.

Basically the setup of the plugins used in the Maven project POM was done a long time ago. The project POM file of the JClouds project serves as a parent for all modules in JClouds.

The first step is to consolidate the used plugins.

The same aspects apply to the build profiles used in the project. On closer look these must be considered obsolete. A deconstruction of declared build profiles is aimed at.

In order to support newer runtime environments, for example JDK11 and above, we aim to integrate build profiles.

In the respective build profile the libraries which are no longer contained in the respective target JDK but needed in JClouds are to be integrated.

In the course of this rebuild, a property-based way of declaring the version number of dependencies and plugins will be implemented.
This commit is contained in:
gurkerl83 2020-10-26 14:20:51 +01:00 committed by Andrew Gaul
parent 647af7e365
commit 40d2b1227f
1 changed files with 144 additions and 106 deletions

View File

@ -217,36 +217,54 @@
</developers> </developers>
<properties> <properties>
<jdk.version>1.8</jdk.version>
<maven.compile.source>${jdk.version}</maven.compile.source>
<maven.compile.target>${jdk.version}</maven.compile.target>
<maven.compile.deprecation>true</maven.compile.deprecation>
<!-- Plugin versions -->
<bnd.version>5.2.0</bnd.version> <bnd.version>5.2.0</bnd.version>
<maven-jar-plugin.version>3.0.1</maven-jar-plugin.version> <maven-jar-plugin.version>3.0.1</maven-jar-plugin.version>
<maven-surefire-plugin.version>2.17</maven-surefire-plugin.version>
<maven.compile.source>1.8</maven.compile.source> <!-- General dependency versions -->
<maven.compile.target>1.8</maven.compile.target>
<jdk.version>1.8</jdk.version>
<maven.compile.deprecation>true</maven.compile.deprecation>
<maven.site.url.base>gitsite:git@github.com/jclouds/jclouds-maven-site.git</maven.site.url.base>
<guava.version>22.0</guava.version>
<!-- TODO: this has to be addressed in another feature -->
<guava.osgi.import>com.google.common.*;version="[22.0,30.0.0)"</guava.osgi.import>
<guice.version>4.2.3</guice.version>
<gson.version>2.8.5</gson.version> <gson.version>2.8.5</gson.version>
<guava.version>27.1-jre</guava.version>
<guice.version>4.2.3</guice.version>
<okhttp.version>2.2.0</okhttp.version> <okhttp.version>2.2.0</okhttp.version>
<!-- TODO: this has to be addressed in another feature -->
<okio.osgi.import>okio;version="[1.2.0,1.3)"</okio.osgi.import>
<surefire.version>2.17</surefire.version>
<assertj-core.version>1.7.0</assertj-core.version>
<assertj-guava.version>1.3.0</assertj-guava.version>
<auto-factory.version>0.1-beta1</auto-factory.version> <auto-factory.version>0.1-beta1</auto-factory.version>
<auto-service.version>1.0-rc3</auto-service.version> <auto-service.version>1.0-rc3</auto-service.version>
<auto-value.version>1.4.1</auto-value.version> <auto-value.version>1.4.1</auto-value.version>
<java-xmlbuilder.version>1.2</java-xmlbuilder.version> <java-xmlbuilder.version>1.2</java-xmlbuilder.version>
<jetty.version>8.1.8.v20121106</jetty.version>
<modernizer-maven-annotations.version>1.8.0</modernizer-maven-annotations.version>
<!-- Log dependency versions -->
<log4j.version>1.2.17</log4j.version>
<logback.version>1.1.2</logback.version>
<!-- OSGi dependency versions -->
<osgi.version>4.2.0</osgi.version> <osgi.version>4.2.0</osgi.version>
<osgi.compendium.version>${osgi.version}</osgi.compendium.version> <osgi.compendium.version>${osgi.version}</osgi.compendium.version>
<!-- Test dependency versions -->
<testng.version>6.8.21</testng.version>
<xmlunit.version>1.3</xmlunit.version>
<assertj-core.version>1.7.0</assertj-core.version>
<assertj-guava.version>1.3.0</assertj-guava.version>
<!-- Mock dependency versions -->
<easymock.version>3.4</easymock.version>
<!-- Static analysis dependency versions -->
<error_prone.version>2.1.0</error_prone.version>
<jsr305.version>1.3.9</jsr305.version>
<maven.site.url.base>gitsite:git@github.com/jclouds/jclouds-maven-site.git</maven.site.url.base>
<http.proxyHost /> <http.proxyHost />
<http.proxyPort /> <http.proxyPort />
<jclouds.wire.httpstream.url>https://archive.apache.org/dist/commons/logging/binaries/commons-logging-1.1.1-bin.tar.gz</jclouds.wire.httpstream.url> <jclouds.wire.httpstream.url>https://archive.apache.org/dist/commons/logging/binaries/commons-logging-1.1.1-bin.tar.gz</jclouds.wire.httpstream.url>
@ -260,25 +278,16 @@
<dependencyManagement> <dependencyManagement>
<dependencies> <dependencies>
<dependency> <!-- General dependencies -->
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency> <dependency>
<groupId>com.google.code.gson</groupId> <groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId> <artifactId>gson</artifactId>
<version>${gson.version}</version> <version>${gson.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.google.code.findbugs</groupId> <groupId>com.google.guava</groupId>
<artifactId>jsr305</artifactId> <artifactId>guava</artifactId>
<version>1.3.9</version> <version>${guava.version}</version>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-assistedinject</artifactId>
<version>${guice.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.google.inject</groupId> <groupId>com.google.inject</groupId>
@ -291,71 +300,11 @@
<version>${guice.version}</version> <version>${guice.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.easymock</groupId> <groupId>com.google.inject.extensions</groupId>
<artifactId>easymock</artifactId> <artifactId>guice-assistedinject</artifactId>
<version>3.4</version> <version>${guice.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-security</artifactId>
<version>8.1.8.v20121106</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>8.1.8.v20121106</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp</groupId>
<artifactId>mockwebserver</artifactId>
<version>${okhttp.version}</version>
</dependency>
<dependency>
<groupId>org.gaul</groupId>
<artifactId>modernizer-maven-annotations</artifactId>
<version>1.8.0</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.21</version>
<exclusions>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>xmlunit</groupId>
<artifactId>xmlunit</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj-core.version}</version>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-guava</artifactId>
<version>${assertj-guava.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.google.auto.factory</groupId> <groupId>com.google.auto.factory</groupId>
<artifactId>auto-factory</artifactId> <artifactId>auto-factory</artifactId>
@ -376,6 +325,42 @@
<artifactId>java-xmlbuilder</artifactId> <artifactId>java-xmlbuilder</artifactId>
<version>${java-xmlbuilder.version}</version> <version>${java-xmlbuilder.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-security</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.gaul</groupId>
<artifactId>modernizer-maven-annotations</artifactId>
<version>${modernizer-maven-annotations.version}</version>
</dependency>
<!-- Log dependencies -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
<!-- OSGi dependencies -->
<dependency> <dependency>
<groupId>org.osgi</groupId> <groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId> <artifactId>org.osgi.core</artifactId>
@ -386,19 +371,62 @@
<artifactId>org.osgi.compendium</artifactId> <artifactId>org.osgi.compendium</artifactId>
<version>${osgi.compendium.version}</version> <version>${osgi.compendium.version}</version>
</dependency> </dependency>
<!-- Test dependencies -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${testng.version}</version>
<exclusions>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>xmlunit</groupId>
<artifactId>xmlunit</artifactId>
<version>${xmlunit.version}</version>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj-core.version}</version>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-guava</artifactId>
<version>${assertj-guava.version}</version>
</dependency>
<!-- Mock dependencies -->
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>${easymock.version}</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp</groupId>
<artifactId>mockwebserver</artifactId>
<version>${okhttp.version}</version>
</dependency>
<!-- Static analysis dependencies -->
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
<version>${error_prone.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>${jsr305.version}</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
<dependencies> <dependencies>
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<scope>provided</scope>
</dependency>
<dependency> <dependency>
<groupId>org.testng</groupId> <groupId>org.testng</groupId>
<artifactId>testng</artifactId> <artifactId>testng</artifactId>
@ -424,6 +452,16 @@
<artifactId>assertj-guava</artifactId> <artifactId>assertj-guava</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<scope>provided</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>
@ -507,7 +545,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId> <artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.version}</version> <version>${maven-surefire-plugin.version}</version>
<executions> <executions>
<execution> <execution>
<id>integration</id> <id>integration</id>
@ -933,7 +971,7 @@
</plugin> </plugin>
<plugin> <plugin>
<artifactId>maven-surefire-report-plugin</artifactId> <artifactId>maven-surefire-report-plugin</artifactId>
<version>${surefire.version}</version> <version>${maven-surefire-plugin.version}</version>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.rat</groupId> <groupId>org.apache.rat</groupId>