Merge pull request 'feature/22842' (!14) from feature/22842 into master

Reviewed-on: #14
This commit is contained in:
Roberto Cirillo 2022-03-07 10:43:45 +01:00
commit 3f83c491fa
1 changed files with 566 additions and 318 deletions

786
pom.xml
View File

@ -78,7 +78,6 @@
</pluginRepositories>
<profiles>
<!-- This profile sets an additional parameter for javadoc generation to disables the doclint.
It avoids the build fails if formal/syntax errors are found in javadoc comments.
The parameter is only understood by jdk 1.8, so we set it only when jdk 1.8 is used -->
@ -91,10 +90,6 @@
<javadoc.opts>-Xdoclint:none</javadoc.opts>
</properties>
</profile>
<!--
This profile enables the generation fo the source package
-->
<profile>
<id>generate-distribution-packages</id>
<activation>
@ -119,43 +114,13 @@
</plugins>
</build>
</profile>
<profile>
<id>gcube-developer</id>
<id>common-snapshot</id>
<activation>
<!-- This profile will automatically be active for all builds unless another profile in the POM is activated -->
<activeByDefault>true</activeByDefault>
<property>
<name>!Release</name>
</property>
</activation>
<!-- Repositories for dependency resolution -->
<repositories>
<repository>
<id>gcube-snapshots</id>
<name>gCube Snapshots</name>
<url>${repository.snapshots.url}</url>
</repository>
<repository>
<id>gcube-releases</id>
<name>gCube Releases</name>
<url>${repository.releases.url}</url>
</repository>
<repository>
<id>gcube-externals</id>
<name>gCube Externals</name>
<url>${repository.externals.readonly}</url>
</repository>
</repositories>
<!-- Repositories for deployments -->
<distributionManagement>
<repository>
<id>gcube-snapshots</id>
<name>gCube Snapshots</name>
<url>${repository.snapshots.url}</url>
</repository>
</distributionManagement>
<build>
<plugins>
<plugin>
@ -192,33 +157,131 @@
</plugins>
</build>
</profile>
<profile>
<id>jenkins-snapshots</id>
<id>common-release</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>jenkins-snapshots</name>
<value>true</value>
<name>Release</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${plugin.build.helper.version}</version>
<executions>
<execution>
<!-- sets the skip.when.is.snapshot.used property to true if SNAPSHOT was used,
to the project version otherwise -->
<id>build-helper-regex-is-snapshot-used</id>
<phase>validate</phase>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>skip.when.is.snapshot.used</name>
<value>${project.version}</value>
<regex>.*-SNAPSHOT$</regex>
<replacement>true</replacement>
<failIfNoMatch>false</failIfNoMatch>
</configuration>
</execution>
<execution>
<!--fails if SNAPSHOT was used-->
<id>fail-helper-regex-is-snapshot-used</id>
<phase>validate</phase>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>fail.when.is.snapshot.used</name>
<value>${project.version}</value>
<regex>^((?!.*-SNAPSHOT).)*$</regex>
<failIfNoMatch>true</failIfNoMatch>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.github.olivierlemasle.maven</groupId>
<artifactId>plaintext-maven-plugin</artifactId>
<version>${plugin.plaintext.version}</version>
<configuration>
<outputDirectory>${env.MAVEN_CONFIG_FOLDER}</outputDirectory>
<files>
<file>
<name>build_commits.csv</name>
<append>true</append>
<lines>
<line>
${project.groupId},${project.artifactId},${project.version},${project.scm.url},${buildNumber},${repository},${project.build.finalName},${project.packaging}
</line>
</lines>
</file>
</files>
</configuration>
<executions>
<execution>
<id>generate-file</id>
<phase>package</phase>
<goals>
<goal>write</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>gcube-official</id>
<activation>
<activeByDefault>false</activeByDefault>
<jdk>[1.8,9)</jdk>
<property>
<name>!Release</name>
</property>
</activation>
<properties>
<java_version>1.8</java_version>
<maven.compiler.source>${java_version}</maven.compiler.source>
<maven.compiler.target>${java_version}</maven.compiler.target>
</properties>
<!-- Repositories for dependency resolution -->
<repositories>
<repository>
<id>gcube-snapshots</id>
<name>gCube Snapshots</name>
<url>${repository.snapshots.url}</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
<repository>
<id>gcube-releases</id>
<name>gCube Releases</name>
<url>${repository.releases.url}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-externals</id>
<name>gCube Externals</name>
<url>${repository.externals.readonly}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
@ -230,83 +293,253 @@
<url>${repository.snapshots.url}</url>
</repository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${plugin.build.helper.version}</version>
<executions>
<execution>
<!-- sets the skip.when.is.release.used property to true if SNAPSHOT is NOT used,
to the project version otherwise -->
<id>build-helper-regex-is-snapshot-used</id>
<phase>validate</phase>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>skip.when.is.release.used</name>
<value>${project.version}</value>
<regex>^((?!.*-SNAPSHOT).)*$</regex>
<replacement>true</replacement>
<failIfNoMatch>false</failIfNoMatch>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>${plugin.deploy.version}</version>
<configuration>
<skip>${skip.when.is.release.used}</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.4</version>
<configuration>
<skip>${skip.when.is.release.used}</skip>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!-- profile activated with jdk > 8 -->
<profile>
<id>jenkins-releases</id>
<id>gcube-experimental</id>
<activation>
<activeByDefault>false</activeByDefault>
<jdk>[9,)</jdk>
<property>
<name>!Release</name>
</property>
</activation>
<properties>
<java_version>11</java_version>
<maven.compiler.source>${java_version}</maven.compiler.source>
<maven.compiler.target>${java_version}</maven.compiler.target>
</properties>
<!-- Repositories for dependency resolution -->
<repositories>
<repository>
<id>gcube-snapshots</id>
<name>gCube Snapshots</name>
<url>${repository.snapshots.url}</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
<repository>
<id>gcube-releases</id>
<name>gCube Releases</name>
<url>${repository.releases.url}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-externals</id>
<name>gCube Externals</name>
<url>${repository.externals.readonly}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<!-- Repositories for deployments -->
<distributionManagement>
<repository>
<id>gcube-snapshots</id>
<name>gCube Snapshots</name>
<url>${repository.snapshots.url}</url>
</repository>
</distributionManagement>
</profile>
<!-- The following profile prevent build with jdk minor than 8 -->
<profile>
<id>gcube-legacy</id>
<activation>
<jdk>[, 1.8)</jdk>
<property>
<name>!Release</name>
</property>
</activation>
<!-- Repositories for dependency resolution -->
<repositories>
<repository>
<id>gcube-snapshots</id>
<name>gCube Snapshots</name>
<url>${repository.snapshots.url}</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
<repository>
<id>gcube-releases</id>
<name>gCube Releases</name>
<url>${repository.releases.url}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-externals</id>
<name>gCube Externals</name>
<url>${repository.externals.readonly}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<!-- Repositories for deployments -->
<distributionManagement>
<repository>
<id>gcube-snapshots</id>
<name>gCube Snapshots</name>
<url>${repository.snapshots.url}</url>
</repository>
</distributionManagement>
</profile>
<profile>
<id>jenkins-releases</id>
<activation>
<jdk>[1.8,9)</jdk>
<property>
<name>jenkins-releases</name>
<value>true</value>
</property>
</activation>
<properties>
<repository>${repository.releases.url}</repository>
</properties>
<!-- Repositories for dependency resolution -->
<repositories>
<repository>
<id>gcube-releases</id>
<name>gCube Releases</name>
<url>${repository.releases.url}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-externals</id>
<name>gCube Externals</name>
<url>${repository.externals.readonly}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-staging</id>
<name>gCube Staging</name>
<url>${repository.staging.url}</url>
</repository>
<repository>
<id>gcube-jenkins-staging</id>
<name>gCube Jenkins Staging</name>
<url>${repository.jenkins.staging.url}</url>
</repository>
</repositories>
<!-- Repositories for deployments -->
<distributionManagement>
<repository>
<id>gcube-staging</id>
<name>gCube Staging</name>
<url>${repository.staging.url}</url>
<id>gcube-releases</id>
<name>gCube Releases</name>
<url>${repository.releases.url}</url>
</repository>
</distributionManagement>
<build>
<finalName>${project.artifactId}-${project.version}</finalName>
</build>
</profile>
<profile>
<id>jenkins-releases-experimental</id>
<activation>
<jdk>[9,17)</jdk>
<property>
<name>jenkins-releases</name>
<value>true</value>
</property>
</activation>
<properties>
<repository>${repository.releases.url}</repository>
</properties>
<!-- Repositories for dependency resolution -->
<repositories>
<repository>
<id>gcube-releases</id>
<name>gCube Releases</name>
<url>${repository.releases.url}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-externals</id>
<name>gCube Externals</name>
<url>${repository.externals.readonly}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-jenkins-staging-java11</id>
<name>gCube Jenkins Staging Java11</name>
<url>${repository.jenkins.staging.java11.url}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-staging</id>
<name>gCube Staging</name>
<url>${repository.staging.url}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-jenkins-staging</id>
<name>gCube Jenkins Staging</name>
<url>${repository.jenkins.staging.url}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
@ -318,127 +551,129 @@
<url>${repository.releases.url}</url>
</repository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${plugin.build.helper.version}</version>
<executions>
<execution>
<!-- sets the skip.when.is.snapshot.used property to true if SNAPSHOT was used,
to the project version otherwise -->
<id>build-helper-regex-is-snapshot-used</id>
<phase>validate</phase>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>skip.when.is.snapshot.used</name>
<value>${project.version}</value>
<regex>.*-SNAPSHOT$</regex>
<replacement>true</replacement>
<failIfNoMatch>false</failIfNoMatch>
</configuration>
</execution>
<execution>
<!--fails if SNAPSHOT was used-->
<id>fail-helper-regex-is-snapshot-used</id>
<phase>validate</phase>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>fail.when.is.snapshot.used</name>
<value>${project.version}</value>
<regex>^((?!.*-SNAPSHOT).)*$</regex>
<failIfNoMatch>true</failIfNoMatch>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>${plugin.deploy.version}</version>
<executions>
<execution>
<id>fail-if-snapshot-used</id>
<phase>deploy</phase>
<configuration>
<skip>${skip.when.is.snapshot.used}</skip>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.github.olivierlemasle.maven</groupId>
<artifactId>plaintext-maven-plugin</artifactId>
<version>${plugin.plaintext.version}</version>
<configuration>
<outputDirectory>${env.MAVEN_CONFIG_FOLDER}</outputDirectory>
<files>
<file>
<name>build_commits.csv</name>
<append>true</append>
<lines>
<line>
${project.groupId},${project.artifactId},${project.version},${project.scm.url},${buildNumber},${repository.releases.url},${project.build.finalName},${project.packaging}
</line>
</lines>
</file>
</files>
</configuration>
<executions>
<execution>
<id>generate-file</id>
<phase>package</phase>
<goals>
<goal>write</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<finalName>${project.artifactId}-${project.version}</finalName>
</build>
</profile>
<profile>
<id>jenkins-staging</id>
<id>jenkins-staging-legacy</id>
<activation>
<activeByDefault>false</activeByDefault>
<jdk>[,1.8)</jdk>
<property>
<name>jenkins-staging</name>
<value>true</value>
</property>
</activation>
<properties>
<repository>${repository.staging.java7.url}</repository>
</properties>
<!-- Repositories for dependency resolution -->
<repositories>
<repository>
<id>gcube-staging-java7</id>
<name>gCube Staging Java7</name>
<url>${repository.staging.java7.url}</url>
<snapshots>
<enabled>false</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-staging-gcore</id>
<name>gCube Staging gCore</name>
<url>${repository.staging.gcore.url}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-externals</id>
<name>gCube Externals</name>
<url>${repository.externals.readonly}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<!-- Repositories for deployments -->
<distributionManagement>
<repository>
<id>gcube-staging-jenkins</id>
<name>gCube Staging</name>
<url>${repository.jenkins.staging.url}</url>
</repository>
</distributionManagement>
<build>
<finalName>${project.artifactId}-${project.version}</finalName>
</build>
</profile>
<profile>
<id>jenkins-staging-official</id>
<activation>
<jdk>[1.8,9)</jdk>
<property>
<name>jenkins-staging</name>
<value>true</value>
</property>
</activation>
<properties>
<repository>${repository.jenkins.staging.url}</repository>
</properties>
<!-- Repositories for dependency resolution -->
<repositories>
<repository>
<id>gcube-staging-jenkins</id>
<name>gCube Jenkins Staging</name>
<url>${repository.jenkins.staging.url}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-staging</id>
<name>gCube Staging</name>
<url>${repository.staging.url}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-releases</id>
<name>gCube Releases</name>
<url>${repository.releases.url}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-externals</id>
<name>gCube Externals</name>
<url>${repository.externals.readonly}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
@ -451,92 +686,92 @@
</repository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${plugin.build.helper.version}</version>
<executions>
<execution>
<!-- sets the skip.when.is.snapshot.used property to true if SNAPSHOT was used,
to the project version otherwise -->
<id>build-helper-regex-is-snapshot-used</id>
<phase>validate</phase>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>skip.when.is.snapshot.used</name>
<value>${project.version}</value>
<regex>.*-SNAPSHOT$</regex>
<replacement>true</replacement>
<failIfNoMatch>false</failIfNoMatch>
</configuration>
</execution>
<execution>
<!--fails if SNAPSHOT was used-->
<id>fail-helper-regex-is-snapshot-used</id>
<phase>validate</phase>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>fail.when.is.snapshot.used</name>
<value>${project.version}</value>
<regex>^((?!.*-SNAPSHOT).)*$</regex>
<failIfNoMatch>true</failIfNoMatch>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.github.olivierlemasle.maven</groupId>
<artifactId>plaintext-maven-plugin</artifactId>
<version>${plugin.plaintext.version}</version>
<configuration>
<outputDirectory>${env.MAVEN_CONFIG_FOLDER}</outputDirectory>
<files>
<file>
<name>build_commits.csv</name>
<append>true</append>
<lines>
<line>
${project.groupId},${project.artifactId},${project.version},${project.scm.url},${buildNumber},${repository.jenkins.staging.url},${project.build.finalName},${project.packaging}
</line>
</lines>
</file>
</files>
</configuration>
<executions>
<execution>
<id>generate-file</id>
<phase>package</phase>
<goals>
<goal>write</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>${plugin.deploy.version}</version>
<executions>
<execution>
<id>fail-if-snapshot-used</id>
<phase>deploy</phase>
<configuration>
<skip>${skip.when.is.snapshot.used}</skip>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<finalName>${project.artifactId}-${project.version}</finalName>
</build>
</profile>
<profile>
<id>jenkins-staging-experimental</id>
<activation>
<jdk>[9,)</jdk>
<property>
<name>jenkins-staging</name>
<value>true</value>
</property>
</activation>
<properties>
<repository>${repository.jenkins.staging.java11.url}</repository>
</properties>
<!-- Repositories for dependency resolution -->
<repositories>
<repository>
<id>gcube-staging-jenkins</id>
<name>gCube Jenkins Staging</name>
<url>${repository.jenkins.staging.url}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-staging-jenkins-java11</id>
<name>gCube Jenkins Staging Java11</name>
<url>${repository.jenkins.staging.java11.url}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-staging</id>
<name>gCube Staging</name>
<url>${repository.staging.url}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-releases</id>
<name>gCube Releases</name>
<url>${repository.releases.url}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>gcube-externals</id>
<name>gCube Externals</name>
<url>${repository.externals.readonly}</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<!-- Repositories for deployments -->
<distributionManagement>
<repository>
<id>gcube-staging-jenkins-java11</id>
<name>gCube Staging</name>
<url>${repository.jenkins.staging.java11.url}</url>
</repository>
</distributionManagement>
<build>
<finalName>${project.artifactId}-${project.version}</finalName>
</build>
</profile>
<profile>
<id>dry-run</id>
<activation>
@ -562,10 +797,7 @@
</build>
</profile>
</profiles>
<build>
<pluginManagement>
<plugins>
<plugin>
@ -887,7 +1119,20 @@
<!-- attached to all profiles -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-help-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>show-profiles</id>
<phase>compile</phase>
<goals>
<goal>active-profiles</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
@ -1131,6 +1376,9 @@
<repository.jenkins.staging.url>
https://nexus.d4science.org/nexus/content/repositories/gcube-staging-jenkins
</repository.jenkins.staging.url>
<repository.jenkins.staging.java11.url>
https://nexus.d4science.org/nexus/content/repositories/gcube-staging-jenkins-java11
</repository.jenkins.staging.java11.url>
<repository.staging.url>https://nexus.d4science.org/nexus/content/repositories/gcube-staging/
</repository.staging.url>