1470 lines
70 KiB
XML
1470 lines
70 KiB
XML
<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.gcube.tools</groupId>
|
||
<artifactId>maven-parent</artifactId>
|
||
<version>1.1.0</version>
|
||
<packaging>pom</packaging>
|
||
|
||
<scm>
|
||
<connection>scm:git:https://code-repo.d4science.org/gCubeSystem/maven-parent.git</connection>
|
||
<developerConnection>scm:git:https://code-repo.d4science.org/gCubeSystem/maven-parent.git</developerConnection>
|
||
<url>https://code-repo.d4science.org/gCubeSystem/maven-parent</url>
|
||
<tag>HEAD</tag>
|
||
</scm>
|
||
|
||
<!-- Plugin repos are common across the profiles -->
|
||
<pluginRepositories>
|
||
<pluginRepository>
|
||
<id>gcube-snapshots</id>
|
||
<name>gCube Snapshots</name>
|
||
<url>http://maven.research-infrastructures.eu/nexus/content/repositories/gcube-snapshots</url>
|
||
<releases>
|
||
<enabled>false</enabled>
|
||
</releases>
|
||
<snapshots>
|
||
<enabled>true</enabled>
|
||
</snapshots>
|
||
</pluginRepository>
|
||
<pluginRepository>
|
||
<id>gcube-releases</id>
|
||
<name>gCube Releases</name>
|
||
<url>http://maven.research-infrastructures.eu/nexus/content/repositories/gcube-releases</url>
|
||
<snapshots>
|
||
<enabled>false</enabled>
|
||
</snapshots>
|
||
<releases>
|
||
<enabled>true</enabled>
|
||
</releases>
|
||
</pluginRepository>
|
||
|
||
<pluginRepository>
|
||
<id>gcube-staging-jenkins</id>
|
||
<name>gCube Jenkins Staging</name>
|
||
<url>http://maven.research-infrastructures.eu/nexus/content/repositories/gcube-staging-jenkins</url>
|
||
<snapshots>
|
||
<enabled>false</enabled>
|
||
</snapshots>
|
||
<releases>
|
||
<enabled>true</enabled>
|
||
</releases>
|
||
</pluginRepository>
|
||
|
||
<pluginRepository>
|
||
<id>gcube-staging</id>
|
||
<name>gCube Staging</name>
|
||
<url>http://maven.research-infrastructures.eu/nexus/content/repositories/gcube-staging/</url>
|
||
<snapshots>
|
||
<enabled>false</enabled>
|
||
</snapshots>
|
||
<releases>
|
||
<enabled>true</enabled>
|
||
</releases>
|
||
</pluginRepository>
|
||
|
||
<pluginRepository>
|
||
<id>gcube-externals</id>
|
||
<name>gCube Externals</name>
|
||
<url>http://maven.research-infrastructures.eu/nexus/content/repositories/gcube-externals</url>
|
||
<snapshots>
|
||
<enabled>false</enabled>
|
||
</snapshots>
|
||
<releases>
|
||
<enabled>true</enabled>
|
||
</releases>
|
||
</pluginRepository>
|
||
</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 -->
|
||
<profile>
|
||
<id>disable-java8-doclint</id>
|
||
<activation>
|
||
<jdk>[1.8,)</jdk>
|
||
</activation>
|
||
<properties>
|
||
<javadoc.opts>-Xdoclint:none</javadoc.opts>
|
||
</properties>
|
||
</profile>
|
||
|
||
<!--
|
||
This profile enables the generation fo the source package
|
||
-->
|
||
<profile>
|
||
<id>generate-distribution-packages</id>
|
||
<activation>
|
||
<property>
|
||
<name>generateDistribution</name>
|
||
<value>true</value>
|
||
</property>
|
||
</activation>
|
||
<build>
|
||
<plugins>
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-assembly-plugin</artifactId>
|
||
<version>${plugin.assembly.version}</version>
|
||
<executions>
|
||
<execution>
|
||
<id>make-source-package</id>
|
||
<phase>install</phase>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
</plugins>
|
||
</build>
|
||
</profile>
|
||
|
||
|
||
<profile>
|
||
<id>gcube-developer</id>
|
||
<activation>
|
||
<!-- This profile will automatically be active for all builds unless another profile in the POM is activated -->
|
||
<activeByDefault>true</activeByDefault>
|
||
</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>
|
||
<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>
|
||
</plugins>
|
||
</build>
|
||
</profile>
|
||
|
||
<profile>
|
||
<id>jenkins-snapshots</id>
|
||
<activation>
|
||
<activeByDefault>false</activeByDefault>
|
||
<property>
|
||
<name>jenkins-snapshots</name>
|
||
<value>true</value>
|
||
</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>
|
||
<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>
|
||
<id>jenkins-releases</id>
|
||
|
||
<activation>
|
||
<activeByDefault>false</activeByDefault>
|
||
<property>
|
||
<name>jenkins-releases</name>
|
||
<value>true</value>
|
||
</property>
|
||
</activation>
|
||
|
||
<!-- Repositories for dependency resolution -->
|
||
<repositories>
|
||
<repository>
|
||
<id>gcube-releases</id>
|
||
<name>gCube Releases</name>
|
||
<url>${repository.releases.url}</url>
|
||
</repository>
|
||
<repository>
|
||
<id>gcube-jenkins-staging</id>
|
||
<name>gCube Jenkins Staging</name>
|
||
<url>${repository.jenkins.staging.url}</url>
|
||
</repository>
|
||
<repository>
|
||
<id>gcube-staging</id>
|
||
<name>gCube Staging</name>
|
||
<url>${repository.staging.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-releases</id>
|
||
<name>gCube Releases</name>
|
||
<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>
|
||
<activation>
|
||
<activeByDefault>false</activeByDefault>
|
||
<property>
|
||
<name>jenkins-staging</name>
|
||
<value>true</value>
|
||
</property>
|
||
</activation>
|
||
|
||
<!-- Repositories for dependency resolution -->
|
||
<repositories>
|
||
<repository>
|
||
<id>gcube-staging-jenkins</id>
|
||
<name>gCube Jenkins Staging</name>
|
||
<url>${repository.jenkins.staging.url}</url>
|
||
</repository>
|
||
<repository>
|
||
<id>gcube-staging</id>
|
||
<name>gCube Staging</name>
|
||
<url>${repository.staging.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-staging-jenkins</id>
|
||
<name>gCube Staging</name>
|
||
<url>${repository.jenkins.staging.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>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>dry-run</id>
|
||
<activation>
|
||
<activeByDefault>false</activeByDefault>
|
||
<property>
|
||
<name>build-dry-run</name>
|
||
<value>true</value>
|
||
</property>
|
||
</activation>
|
||
<build>
|
||
<pluginManagement>
|
||
<plugins>
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-deploy-plugin</artifactId>
|
||
<version>${plugin.deploy.version}</version>
|
||
<configuration>
|
||
<skip>true</skip>
|
||
</configuration>
|
||
</plugin>
|
||
</plugins>
|
||
</pluginManagement>
|
||
</build>
|
||
</profile>
|
||
</profiles>
|
||
|
||
|
||
<build>
|
||
|
||
<pluginManagement>
|
||
<plugins>
|
||
<plugin>
|
||
<groupId>org.codehaus.mojo</groupId>
|
||
<artifactId>buildnumber-maven-plugin</artifactId>
|
||
<version>${plugin.buildnumber.version}</version>
|
||
<executions>
|
||
<execution>
|
||
<id>useLastCommittedRevision</id>
|
||
<phase>validate</phase>
|
||
<goals>
|
||
<goal>create</goal>
|
||
</goals>
|
||
<configuration>
|
||
<useLastCommittedRevision>true</useLastCommittedRevision>
|
||
<scmBranchPropertyName>scmBranch</scmBranchPropertyName>
|
||
<doCheck>false</doCheck>
|
||
<doUpdate>false</doUpdate>
|
||
</configuration>
|
||
</execution>
|
||
</executions>
|
||
|
||
</plugin>
|
||
|
||
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-jar-plugin</artifactId>
|
||
<version>${plugin.jar.version}</version>
|
||
<configuration>
|
||
<archive>
|
||
<manifest>
|
||
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
||
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
|
||
</manifest>
|
||
<manifestEntries>
|
||
<SCM-Revision>${buildNumber}</SCM-Revision>
|
||
<Build-Time>${maven.build.timestamp}</Build-Time>
|
||
<SCM-Branch>${scmBranch}</SCM-Branch>
|
||
<SCM-Revision-URL>${project.scm.url}/commit/${buildNumber}</SCM-Revision-URL>
|
||
</manifestEntries>
|
||
</archive>
|
||
</configuration>
|
||
</plugin>
|
||
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-war-plugin</artifactId>
|
||
<version>${plugin.war.version}</version>
|
||
<configuration>
|
||
<archive>
|
||
<manifest>
|
||
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
||
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
|
||
</manifest>
|
||
<manifestEntries>
|
||
<SCM-Revision>${buildNumber}</SCM-Revision>
|
||
<Build-Time>${maven.build.timestamp}</Build-Time>
|
||
<SCM-Branch>${scmBranch}</SCM-Branch>
|
||
<SCM-Revision-URL>${project.scm.url}/commit/${buildNumber}</SCM-Revision-URL>
|
||
</manifestEntries>
|
||
</archive>
|
||
</configuration>
|
||
</plugin>
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-enforcer-plugin</artifactId>
|
||
<version>${plugin.enforcer.version}</version>
|
||
<executions>
|
||
<execution>
|
||
<id>enforce</id>
|
||
<phase>validate</phase>
|
||
<goals>
|
||
<goal>enforce</goal>
|
||
</goals>
|
||
<configuration>
|
||
<rules>
|
||
<requireMavenVersion>
|
||
<version>[${maven.version},)</version>
|
||
<message>Check for Maven version >=${maven.version} failed. Update your Maven
|
||
install.
|
||
</message>
|
||
</requireMavenVersion>
|
||
<!--requireJavaVersion>
|
||
<version>${java_version}</version>
|
||
</requireJavaVersion-->
|
||
<requireProperty>
|
||
<property>java.vm.name</property>
|
||
<message>Java Vendor must be OpenJDK.</message>
|
||
<regex>${java.expected.vm}</regex>
|
||
<regexMessage>Java Vendor must be OpenJDK. Found: ${java.vm.name}</regexMessage>
|
||
</requireProperty>
|
||
</rules>
|
||
</configuration>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-assembly-plugin</artifactId>
|
||
<version>${plugin.assembly.version}</version>
|
||
<dependencies>
|
||
<dependency>
|
||
<groupId>org.gcube.tools</groupId>
|
||
<artifactId>shared-assemblies</artifactId>
|
||
<version>1.1.0</version>
|
||
</dependency>
|
||
</dependencies>
|
||
<executions>
|
||
<!-- uberjar creation -->
|
||
<execution>
|
||
<id>make-uberjar</id>
|
||
<configuration>
|
||
<descriptorRefs>
|
||
<descriptorRef>gcube-uberjar</descriptorRef>
|
||
</descriptorRefs>
|
||
<!--
|
||
override the plugin-scope configuration that some components have in their pom:
|
||
<descriptors>
|
||
<descriptor>${distroDirectory}/descriptor.xml</descriptor>
|
||
</descriptors>
|
||
|
||
If not done, the servicearchive will be built also during this execution.
|
||
-->
|
||
<descriptors combine.self="override"></descriptors>
|
||
|
||
<!--
|
||
make sure the "-src" is appended to the filename. It is the default
|
||
behaviour but it has been set explicitly because some components
|
||
(e.g. ghn-distribution) set it to false in their pom
|
||
-->
|
||
<appendAssemblyId>true</appendAssemblyId>
|
||
</configuration>
|
||
<goals>
|
||
<goal>single</goal>
|
||
</goals>
|
||
</execution>
|
||
|
||
<!-- default servicearchive creation-->
|
||
<execution>
|
||
<id>make-servicearchive</id>
|
||
<configuration>
|
||
<descriptorRefs>
|
||
<descriptorRef>gcube-default-servicearchive</descriptorRef>
|
||
</descriptorRefs>
|
||
|
||
<!--
|
||
override the plugin-scope configuration that some components have in their pom:
|
||
<descriptors>
|
||
<descriptor>${distroDirectory}/descriptor.xml</descriptor>
|
||
</descriptors>
|
||
|
||
If not done, the servicearchive will be built also during this execution.
|
||
-->
|
||
<descriptors combine.self="override"></descriptors>
|
||
|
||
<!--
|
||
make sure the "-src" is appended to the filename. It is the default
|
||
behaviour but it has been set explicitly because some components
|
||
(e.g. ghn-distribution) set it to false in their pom
|
||
-->
|
||
<appendAssemblyId>true</appendAssemblyId>
|
||
</configuration>
|
||
<goals>
|
||
<goal>single</goal>
|
||
</goals>
|
||
</execution>
|
||
<!-- source package creation -->
|
||
<execution>
|
||
<id>make-source-package</id>
|
||
<configuration>
|
||
<descriptorRefs>
|
||
<descriptorRef>gcube-source-package</descriptorRef>
|
||
</descriptorRefs>
|
||
|
||
<!--
|
||
override the plugin-scope configuration that some components have in their pom:
|
||
<descriptors>
|
||
<descriptor>${distroDirectory}/descriptor.xml</descriptor>
|
||
</descriptors>
|
||
|
||
If not done, the servicearchive will be built also during this execution.
|
||
-->
|
||
<descriptors combine.self="override"></descriptors>
|
||
|
||
<!--
|
||
make sure the "-src" is appended to the filename. It is the default
|
||
behaviour but it has been set explicitly because some components
|
||
(e.g. ghn-distribution) set it to false in their pom
|
||
-->
|
||
<appendAssemblyId>true</appendAssemblyId>
|
||
</configuration>
|
||
<goals>
|
||
<goal>single</goal>
|
||
</goals>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-surefire-plugin</artifactId>
|
||
<version>3.0.0-M5</version>
|
||
<configuration>
|
||
<parallel>classes</parallel> <!-- each class in its own JVM-->
|
||
<threadCountClasses>10</threadCountClasses>
|
||
<forkCount>3</forkCount> <!-- 3 JVMs at build time -->
|
||
<reuseForks>true</reuseForks> <!-- reuse the JVMs across classes -->
|
||
<reportsDirectory>${project.test.outputDirectory}</reportsDirectory>
|
||
</configuration>
|
||
</plugin>
|
||
|
||
<!-- eclipse integration -->
|
||
<plugin>
|
||
<groupId>org.eclipse.m2e</groupId>
|
||
<artifactId>lifecycle-mapping</artifactId>
|
||
<version>1.0.0</version>
|
||
<configuration>
|
||
<lifecycleMappingMetadata>
|
||
<pluginExecutions>
|
||
<pluginExecution>
|
||
<pluginExecutionFilter>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-antrun-plugin</artifactId>
|
||
<versionRange>[1.8,)</versionRange>
|
||
<goals>
|
||
<goal>run</goal>
|
||
</goals>
|
||
</pluginExecutionFilter>
|
||
<action>
|
||
<ignore></ignore>
|
||
</action>
|
||
</pluginExecution>
|
||
<pluginExecution>
|
||
<pluginExecutionFilter>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-enforcer-plugin</artifactId>
|
||
<versionRange>${plugin.enforcer.version}</versionRange>
|
||
<goals>
|
||
<goal>enforce</goal>
|
||
</goals>
|
||
</pluginExecutionFilter>
|
||
<action>
|
||
<ignore></ignore>
|
||
</action>
|
||
</pluginExecution>
|
||
<pluginExecution>
|
||
<pluginExecutionFilter>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-dependency-plugin</artifactId>
|
||
<versionRange>3.1.1</versionRange>
|
||
<goals>
|
||
<goal>unpack</goal>
|
||
<goal>copy-dependencies</goal>
|
||
</goals>
|
||
</pluginExecutionFilter>
|
||
<action>
|
||
<ignore></ignore>
|
||
</action>
|
||
</pluginExecution>
|
||
<pluginExecution>
|
||
<pluginExecutionFilter>
|
||
<groupId>org.gcube.tools</groupId>
|
||
<artifactId>maven-service-plugin</artifactId>
|
||
<versionRange>1.0.0</versionRange>
|
||
<goals>
|
||
<goal>stub-gen</goal>
|
||
</goals>
|
||
</pluginExecutionFilter>
|
||
<action>
|
||
<execute/>
|
||
</action>
|
||
</pluginExecution>
|
||
<pluginExecution>
|
||
<pluginExecutionFilter>
|
||
<groupId>org.gcube.tools</groupId>
|
||
<artifactId>maven-service-plugin</artifactId>
|
||
<versionRange>1.0.0</versionRange>
|
||
<goals>
|
||
<goal>gar-gen</goal>
|
||
<goal>local-deploy</goal>
|
||
</goals>
|
||
</pluginExecutionFilter>
|
||
<action>
|
||
<ignore></ignore>
|
||
</action>
|
||
</pluginExecution>
|
||
<pluginExecution>
|
||
<pluginExecutionFilter>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-resources-plugin</artifactId>
|
||
<versionRange>${plugin.resources.version}</versionRange>
|
||
<goals>
|
||
<goal>copy-resources</goal>
|
||
</goals>
|
||
</pluginExecutionFilter>
|
||
<action>
|
||
<ignore></ignore>
|
||
</action>
|
||
</pluginExecution>
|
||
</pluginExecutions>
|
||
</lifecycleMappingMetadata>
|
||
</configuration>
|
||
</plugin>
|
||
|
||
<!-- JVM targets -->
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-compiler-plugin</artifactId>
|
||
<version>${plugin.compiler.version}</version>
|
||
<configuration>
|
||
<target>${maven.compiler.target}</target>
|
||
<source>${maven.compiler.source}</source>
|
||
</configuration>
|
||
</plugin>
|
||
</plugins>
|
||
</pluginManagement>
|
||
|
||
|
||
<!-- attached to all profiles -->
|
||
<plugins>
|
||
|
||
<plugin>
|
||
<groupId>org.codehaus.mojo</groupId>
|
||
<artifactId>buildnumber-maven-plugin</artifactId>
|
||
</plugin>
|
||
|
||
<!-- enforce integration build requirements -->
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-enforcer-plugin</artifactId>
|
||
<executions>
|
||
<execution>
|
||
<id>enforce-files-exist</id>
|
||
<goals>
|
||
<goal>enforce</goal>
|
||
</goals>
|
||
<configuration>
|
||
<rules>
|
||
<requireFilesExist>
|
||
<files>
|
||
<file>${project.basedir}/README.md</file>
|
||
<file>${project.basedir}/LICENSE.md</file>
|
||
<file>${project.basedir}/CHANGELOG.md</file>
|
||
</files>
|
||
</requireFilesExist>
|
||
</rules>
|
||
<fail>true</fail>
|
||
</configuration>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
<plugin>
|
||
<groupId>org.codehaus.mojo</groupId>
|
||
<artifactId>build-helper-maven-plugin</artifactId>
|
||
<version>${plugin.build.helper.version}</version>
|
||
</plugin>
|
||
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-antrun-plugin</artifactId>
|
||
<version>3.0.0</version>
|
||
<executions>
|
||
<execution>
|
||
<id>set-vars</id>
|
||
<phase>generate-resources</phase>
|
||
<configuration>
|
||
<exportAntProperties>true</exportAntProperties>
|
||
<target name="seOuttputDirectories">
|
||
<condition property="isService">
|
||
<contains string="${project.packaging}" substring="war"/>
|
||
</condition>
|
||
<condition property="project.webinf.outputDirectory"
|
||
value="${project.build.directory}/${project.build.finalName}/WEB-INF">
|
||
<isset property="isService"/>
|
||
</condition>
|
||
<condition property="project.metainf.outputDirectory"
|
||
value="${project.build.directory}/${project.build.finalName}/META-INF">
|
||
<isset property="isService"/>
|
||
</condition>
|
||
<!-- Properties in ant are immutable, so the following assignments
|
||
will only take place if the properties are not yet set. -->
|
||
<property name="project.webinf.outputDirectory"
|
||
value="${project.build.outputDirectory}/WEB-INF"/>
|
||
|
||
<property name="project.metainf.outputDirectory"
|
||
value="${project.build.outputDirectory}/META-INF"/>
|
||
</target>
|
||
</configuration>
|
||
<goals>
|
||
<goal>run</goal>
|
||
</goals>
|
||
</execution>
|
||
<execution>
|
||
<id>print</id>
|
||
<phase>compile</phase>
|
||
<goals>
|
||
<goal>run</goal>
|
||
</goals>
|
||
<configuration>
|
||
<target name="printOutputDirectories">
|
||
<echo>******** Displaying value of *.outputDirectory properties ********</echo>
|
||
<echo>project.metainf.outputDirectory=${project.metainf.outputDirectory}</echo>
|
||
<echo>project.webinf.outputDirectory=${project.webinf.outputDirectory}</echo>
|
||
</target>
|
||
</configuration>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
<plugin>
|
||
<artifactId>maven-resources-plugin</artifactId>
|
||
<version>${plugin.resources.version}</version>
|
||
<executions>
|
||
<execution>
|
||
<id>copy-web-inf</id>
|
||
<phase>generate-resources</phase>
|
||
<goals>
|
||
<goal>copy-resources</goal>
|
||
</goals>
|
||
<configuration>
|
||
<outputDirectory>${project.webinf.outputDirectory}</outputDirectory>
|
||
<resources>
|
||
<resource>
|
||
<directory>gcube/extra-resources/WEB-INF</directory>
|
||
<filtering>true</filtering>
|
||
</resource>
|
||
</resources>
|
||
</configuration>
|
||
</execution>
|
||
<execution>
|
||
<id>copy-meta-inf</id>
|
||
<phase>generate-resources</phase>
|
||
<goals>
|
||
<goal>copy-resources</goal>
|
||
</goals>
|
||
<configuration>
|
||
<outputDirectory>${project.metainf.outputDirectory}</outputDirectory>
|
||
<resources>
|
||
<resource>
|
||
<directory>gcube/extra-resources/META-INF</directory>
|
||
<filtering>true</filtering>
|
||
</resource>
|
||
</resources>
|
||
</configuration>
|
||
</execution>
|
||
<execution>
|
||
<id>copy-license</id>
|
||
<phase>compile</phase>
|
||
<goals>
|
||
<goal>copy-resources</goal>
|
||
</goals>
|
||
<configuration>
|
||
<outputDirectory>${project.metainf.outputDirectory}</outputDirectory>
|
||
<resources>
|
||
<resource>
|
||
<directory>${project.basedir}</directory>
|
||
<includes>
|
||
<include>LICENSE.md</include>
|
||
</includes>
|
||
<filtering>true</filtering>
|
||
</resource>
|
||
</resources>
|
||
</configuration>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-source-plugin</artifactId>
|
||
<version>${plugin.source.version}</version>
|
||
<executions>
|
||
<execution>
|
||
<id>generate-sources</id>
|
||
<phase>install</phase>
|
||
<goals>
|
||
<goal>jar</goal>
|
||
</goals>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-javadoc-plugin</artifactId>
|
||
<version>${plugin.javadoc.version}</version>
|
||
<executions>
|
||
<execution>
|
||
<id>generate-doc</id>
|
||
<phase>install</phase>
|
||
<goals>
|
||
<goal>jar</goal>
|
||
</goals>
|
||
<configuration>
|
||
<additionalparam>${javadoc.opts}</additionalparam>
|
||
</configuration>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
|
||
|
||
<plugin>
|
||
<groupId>org.codehaus.gmaven</groupId>
|
||
<artifactId>groovy-maven-plugin</artifactId>
|
||
<version>2.0</version>
|
||
<executions>
|
||
<execution>
|
||
<phase>process-classes</phase>
|
||
<goals>
|
||
<goal>execute</goal>
|
||
</goals>
|
||
<configuration>
|
||
<defaults>
|
||
<name>tag</name>
|
||
</defaults>
|
||
<source>
|
||
def fileContents = new File("${project.basedir}/CHANGELOG.md").getText('UTF-8')
|
||
matcher = (fileContents =~ /(?s).\[v$project.version\].*?/)
|
||
if (!matcher.find()) {
|
||
throw new IllegalArgumentException("Tag [v$project.version] not found in ${project.basedir}/CHANGELOG.md")
|
||
}
|
||
assert matcher[0][1]: "Tag [v$project.version] not found in ${project.basedir}/CHANGELOG.md"
|
||
</source>
|
||
</configuration>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
|
||
</plugins>
|
||
</build>
|
||
|
||
<properties>
|
||
<!-- version of commonly used plugins -->
|
||
<plugin.enforcer.version>3.0.0-M3</plugin.enforcer.version>
|
||
<plugin.buildnumber.version>1.4</plugin.buildnumber.version>
|
||
<plugin.build.helper.version>3.0.0</plugin.build.helper.version>
|
||
<plugin.deploy.version>3.0.0-M1</plugin.deploy.version>
|
||
<plugin.plaintext.version>1.0.0</plugin.plaintext.version>
|
||
<plugin.jar.version>3.1.2</plugin.jar.version>
|
||
<plugin.war.version>3.3.1</plugin.war.version>
|
||
<plugin.assembly.version>2.6</plugin.assembly.version>
|
||
<plugin.compiler.version>3.8.1</plugin.compiler.version>
|
||
<plugin.source.version>2.1.2</plugin.source.version>
|
||
<plugin.javadoc.version>2.8</plugin.javadoc.version>
|
||
<plugin.resources.version>3.1.0</plugin.resources.version>
|
||
|
||
<!-- default value for the distro directory -->
|
||
<distroDirectory>distro</distroDirectory>
|
||
|
||
<project.test.outputDirectory>${project.build.directory}/surefire-reports</project.test.outputDirectory>
|
||
|
||
<java_version>1.8</java_version>
|
||
<java.expected.vm>.*OpenJDK.*</java.expected.vm>
|
||
<maven.compiler.source>${java_version}</maven.compiler.source>
|
||
<maven.compiler.target>${java_version}</maven.compiler.target>
|
||
|
||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||
<maven.version>3.3.9</maven.version>
|
||
<repository.snapshots.url>http://maven.research-infrastructures.eu/nexus/content/repositories/gcube-snapshots
|
||
</repository.snapshots.url>
|
||
<repository.releases.url>http://maven.research-infrastructures.eu/nexus/content/repositories/gcube-releases
|
||
</repository.releases.url>
|
||
<repository.jenkins.staging.url>
|
||
http://maven.research-infrastructures.eu/nexus/content/repositories/gcube-staging-jenkins
|
||
</repository.jenkins.staging.url>
|
||
<repository.staging.url>http://maven.research-infrastructures.eu/nexus/content/repositories/gcube-staging/
|
||
</repository.staging.url>
|
||
|
||
<repository.externals.readonly>
|
||
http://maven.research-infrastructures.eu/nexus/content/repositories/gcube-externals
|
||
</repository.externals.readonly>
|
||
|
||
<!-- following properties contains common information on gCube that are used for filtering resources like README, LICENSE, ... -->
|
||
|
||
<gcube.wikiRoot>https://wiki.gcube-system.org/gcube/index.php</gcube.wikiRoot>
|
||
<maven.build.timestamp.format>yyyyMMdd-HHmmss</maven.build.timestamp.format>
|
||
<buildDate>${maven.build.timestamp}</buildDate>
|
||
<gcube.issueTracking>https://support.d4science.org/projects/gcube/</gcube.issueTracking>
|
||
<gcube.website>https://www.gcube-system.org/</gcube.website>
|
||
<gcube.description>
|
||
This software is part of the gCube Framework (https://www.gcube-system.org/): an
|
||
open-source software toolkit used for building and operating Hybrid Data
|
||
Infrastructures enabling the dynamic deployment of Virtual Research Environments
|
||
by favouring the realisation of reuse oriented policies.
|
||
</gcube.description>
|
||
<gcube.funding>
|
||
The projects leading to this software have received funding from a series of
|
||
European Union programmes including:
|
||
* the Sixth Framework Programme for Research and Technological Development -
|
||
DILIGENT (grant no. 004260);
|
||
* the Seventh Framework Programme for research, technological development and
|
||
demonstration - D4Science (grant no. 212488), D4Science-II (grant no.
|
||
239019),ENVRI (grant no. 283465), EUBrazilOpenBio (grant no. 288754), iMarine
|
||
(grant no. 283644);
|
||
* the H2020 research and innovation programme - BlueBRIDGE (grant no. 675680),
|
||
EGIEngage (grant no. 654142), ENVRIplus (grant no. 654182), Parthenos (grant
|
||
no. 654119), SoBigData (grant no. 654024), AGINFRA PLUS (grant no. 731001).
|
||
</gcube.funding>
|
||
<gcube.license>
|
||
European Union Public Licence V. 1.1
|
||
|
||
|
||
EUPL © the European Community 2007
|
||
|
||
|
||
This European Union Public Licence (the “EUPL”) applies to the Work or Software
|
||
(as defined below) which is provided under the terms of this Licence. Any use of
|
||
the Work, other than as authorised under this Licence is prohibited (to the
|
||
extent such use is covered by a right of the copyright holder of the Work).
|
||
|
||
The Original Work is provided under the terms of this Licence when the Licensor
|
||
(as defined below) has placed the following notice immediately following the
|
||
copyright notice for the Original Work:
|
||
|
||
Licensed under the EUPL V.1.1
|
||
|
||
or has expressed by any other mean his willingness to license under the EUPL.
|
||
|
||
|
||
1. Definitions
|
||
|
||
In this Licence, the following terms have the following meaning:
|
||
|
||
- The Licence: this Licence.
|
||
|
||
- The Original Work or the Software: the software distributed and/or
|
||
communicated by the Licensor under this Licence, available as Source Code and
|
||
also as Executable Code as the case may be.
|
||
|
||
- Derivative Works: the works or software that could be created by the Licensee,
|
||
based upon the Original Work or modifications thereof. This Licence does not
|
||
define the extent of modification or dependence on the Original Work required
|
||
in order to classify a work as a Derivative Work; this extent is determined by
|
||
copyright law applicable in the country mentioned in Article 15.
|
||
|
||
- The Work: the Original Work and/or its Derivative Works.
|
||
|
||
- The Source Code: the human-readable form of the Work which is the most
|
||
convenient for people to study and modify.
|
||
|
||
- The Executable Code: any code which has generally been compiled and which is
|
||
meant to be interpreted by a computer as a program.
|
||
|
||
- The Licensor: the natural or legal person that distributes and/or communicates
|
||
the Work under the Licence.
|
||
|
||
- Contributor(s): any natural or legal person who modifies the Work under the
|
||
Licence, or otherwise contributes to the creation of a Derivative Work.
|
||
|
||
- The Licensee or “You”: any natural or legal person who makes any usage of the
|
||
Software under the terms of the Licence.
|
||
|
||
- Distribution and/or Communication: any act of selling, giving, lending,
|
||
renting, distributing, communicating, transmitting, or otherwise making
|
||
available, on-line or off-line, copies of the Work or providing access to its
|
||
essential functionalities at the disposal of any other natural or legal
|
||
person.
|
||
|
||
|
||
2. Scope of the rights granted by the Licence
|
||
|
||
The Licensor hereby grants You a world-wide, royalty-free, non-exclusive,
|
||
sub-licensable licence to do the following, for the duration of copyright vested
|
||
in the Original Work:
|
||
|
||
- use the Work in any circumstance and for all usage, reproduce the Work, modify
|
||
- the Original Work, and make Derivative Works based upon the Work, communicate
|
||
- to the public, including the right to make available or display the Work or
|
||
- copies thereof to the public and perform publicly, as the case may be, the
|
||
- Work, distribute the Work or copies thereof, lend and rent the Work or copies
|
||
- thereof, sub-license rights in the Work or copies thereof.
|
||
|
||
Those rights can be exercised on any media, supports and formats, whether now
|
||
known or later invented, as far as the applicable law permits so.
|
||
|
||
In the countries where moral rights apply, the Licensor waives his right to
|
||
exercise his moral right to the extent allowed by law in order to make effective
|
||
the licence of the economic rights here above listed.
|
||
|
||
The Licensor grants to the Licensee royalty-free, non exclusive usage rights to
|
||
any patents held by the Licensor, to the extent necessary to make use of the
|
||
rights granted on the Work under this Licence.
|
||
|
||
|
||
3. Communication of the Source Code
|
||
|
||
The Licensor may provide the Work either in its Source Code form, or as
|
||
Executable Code. If the Work is provided as Executable Code, the Licensor
|
||
provides in addition a machine-readable copy of the Source Code of the Work
|
||
along with each copy of the Work that the Licensor distributes or indicates, in
|
||
a notice following the copyright notice attached to the Work, a repository where
|
||
the Source Code is easily and freely accessible for as long as the Licensor
|
||
continues to distribute and/or communicate the Work.
|
||
|
||
|
||
4. Limitations on copyright
|
||
|
||
Nothing in this Licence is intended to deprive the Licensee of the benefits from
|
||
any exception or limitation to the exclusive rights of the rights owners in the
|
||
Original Work or Software, of the exhaustion of those rights or of other
|
||
applicable limitations thereto.
|
||
|
||
|
||
5. Obligations of the Licensee
|
||
|
||
The grant of the rights mentioned above is subject to some restrictions and
|
||
obligations imposed on the Licensee. Those obligations are the following:
|
||
|
||
Attribution right: the Licensee shall keep intact all copyright, patent or
|
||
trademarks notices and all notices that refer to the Licence and to the
|
||
disclaimer of warranties. The Licensee must include a copy of such notices and a
|
||
copy of the Licence with every copy of the Work he/she distributes and/or
|
||
communicates. The Licensee must cause any Derivative Work to carry prominent
|
||
notices stating that the Work has been modified and the date of modification.
|
||
|
||
Copyleft clause: If the Licensee distributes and/or communicates copies of the
|
||
Original Works or Derivative Works based upon the Original Work, this
|
||
Distribution and/or Communication will be done under the terms of this Licence
|
||
or of a later version of this Licence unless the Original Work is expressly
|
||
distributed only under this version of the Licence. The Licensee (becoming
|
||
Licensor) cannot offer or impose any additional terms or conditions on the Work
|
||
or Derivative Work that alter or restrict the terms of the Licence.
|
||
|
||
Compatibility clause: If the Licensee Distributes and/or Communicates Derivative
|
||
Works or copies thereof based upon both the Original Work and another work
|
||
licensed under a Compatible Licence, this Distribution and/or Communication can
|
||
be done under the terms of this Compatible Licence. For the sake of this clause,
|
||
“Compatible Licence” refers to the licences listed in the appendix attached to
|
||
this Licence. Should the Licensee’s obligations under the Compatible Licence
|
||
conflict with his/her obligations under this Licence, the obligations of the
|
||
Compatible Licence shall prevail.
|
||
|
||
Provision of Source Code: When distributing and/or communicating copies of the
|
||
Work, the Licensee will provide a machine-readable copy of the Source Code or
|
||
indicate a repository where this Source will be easily and freely available for
|
||
as long as the Licensee continues to distribute and/or communicate the Work.
|
||
|
||
Legal Protection: This Licence does not grant permission to use the trade names,
|
||
trademarks, service marks, or names of the Licensor, except as required for
|
||
reasonable and customary use in describing the origin of the Work and
|
||
reproducing the content of the copyright notice.
|
||
|
||
|
||
6. Chain of Authorship
|
||
|
||
The original Licensor warrants that the copyright in the Original Work granted
|
||
hereunder is owned by him/her or licensed to him/her and that he/she has the
|
||
power and authority to grant the Licence.
|
||
|
||
Each Contributor warrants that the copyright in the modifications he/she brings
|
||
to the Work are owned by him/her or licensed to him/her and that he/she has the
|
||
power and authority to grant the Licence.
|
||
|
||
Each time You accept the Licence, the original Licensor and subsequent
|
||
Contributors grant You a licence to their contributions to the Work, under the
|
||
terms of this Licence.
|
||
|
||
|
||
7. Disclaimer of Warranty
|
||
|
||
The Work is a work in progress, which is continuously improved by numerous
|
||
contributors. It is not a finished work and may therefore contain defects or
|
||
“bugs” inherent to this type of software development.
|
||
|
||
For the above reason, the Work is provided under the Licence on an “as is” basis
|
||
and without warranties of any kind concerning the Work, including without
|
||
limitation merchantability, fitness for a particular purpose, absence of defects
|
||
or errors, accuracy, non-infringement of intellectual property rights other than
|
||
copyright as stated in Article 6 of this Licence.
|
||
|
||
This disclaimer of warranty is an essential part of the Licence and a condition
|
||
for the grant of any rights to the Work.
|
||
|
||
|
||
8. Disclaimer of Liability
|
||
|
||
Except in the cases of wilful misconduct or damages directly caused to natural
|
||
persons, the Licensor will in no event be liable for any direct or indirect,
|
||
material or moral, damages of any kind, arising out of the Licence or of the use
|
||
of the Work, including without limitation, damages for loss of goodwill, work
|
||
stoppage, computer failure or malfunction, loss of data or any commercial
|
||
damage, even if the Licensor has been advised of the possibility of such
|
||
damage. However, the Licensor will be liable under statutory product liability
|
||
laws as far such laws apply to the Work.
|
||
|
||
|
||
9. Additional agreements
|
||
|
||
While distributing the Original Work or Derivative Works, You may choose to
|
||
conclude an additional agreement to offer, and charge a fee for, acceptance of
|
||
support, warranty, indemnity, or other liability obligations and/or services
|
||
consistent with this Licence. However, in accepting such obligations, You may
|
||
act only on your own behalf and on your sole responsibility, not on behalf of
|
||
the original Licensor or any other Contributor, and only if You agree to
|
||
indemnify, defend, and hold each Contributor harmless for any liability incurred
|
||
by, or claims asserted against such Contributor by the fact You have accepted
|
||
any such warranty or additional liability.
|
||
|
||
|
||
10. Acceptance of the Licence
|
||
|
||
The provisions of this Licence can be accepted by clicking on an icon “I agree”
|
||
placed under the bottom of a window displaying the text of this Licence or by
|
||
affirming consent in any other similar way, in accordance with the rules of
|
||
applicable law. Clicking on that icon indicates your clear and irrevocable
|
||
acceptance of this Licence and all of its terms and conditions.
|
||
|
||
Similarly, you irrevocably accept this Licence and all of its terms and
|
||
conditions by exercising any rights granted to You by Article 2 of this Licence,
|
||
such as the use of the Work, the creation by You of a Derivative Work or the
|
||
Distribution and/or Communication by You of the Work or copies thereof.
|
||
|
||
|
||
11. Information to the public
|
||
|
||
In case of any Distribution and/or Communication of the Work by means of
|
||
electronic communication by You (for example, by offering to download the Work
|
||
from a remote location) the distribution channel or media (for example, a
|
||
website) must at least provide to the public the information requested by the
|
||
applicable law regarding the Licensor, the Licence and the way it may be
|
||
accessible, concluded, stored and reproduced by the Licensee.
|
||
|
||
|
||
12. Termination of the Licence
|
||
|
||
The Licence and the rights granted hereunder will terminate automatically upon
|
||
any breach by the Licensee of the terms of the Licence.
|
||
|
||
Such a termination will not terminate the licences of any person who has
|
||
received the Work from the Licensee under the Licence, provided such persons
|
||
remain in full compliance with the Licence.
|
||
|
||
|
||
13. Miscellaneous
|
||
|
||
Without prejudice of Article 9 above, the Licence represents the complete
|
||
agreement between the Parties as to the Work licensed hereunder.
|
||
|
||
If any provision of the Licence is invalid or unenforceable under applicable
|
||
law, this will not affect the validity or enforceability of the Licence as a
|
||
whole. Such provision will be construed and/or reformed so as necessary to make
|
||
it valid and enforceable.
|
||
|
||
The European Commission may publish other linguistic versions and/or new
|
||
versions of this Licence, so far this is required and reasonable, without
|
||
reducing the scope of the rights granted by the Licence. New versions of the
|
||
Licence will be published with a unique version number.
|
||
|
||
All linguistic versions of this Licence, approved by the European Commission,
|
||
have identical value. Parties can take advantage of the linguistic version of
|
||
their choice.
|
||
|
||
|
||
14. Jurisdiction
|
||
|
||
Any litigation resulting from the interpretation of this License, arising
|
||
between the European Commission, as a Licensor, and any Licensee, will be
|
||
subject to the jurisdiction of the Court of Justice of the European Communities,
|
||
as laid down in article 238 of the Treaty establishing the European Community.
|
||
|
||
Any litigation arising between Parties, other than the European Commission, and
|
||
resulting from the interpretation of this License, will be subject to the
|
||
exclusive jurisdiction of the competent court where the Licensor resides or
|
||
conducts its primary business.
|
||
|
||
|
||
15. Applicable Law
|
||
|
||
This Licence shall be governed by the law of the European Union country where
|
||
the Licensor resides or has his registered office.
|
||
|
||
This licence shall be governed by the Belgian law if:
|
||
|
||
- a litigation arises between the European Commission, as a Licensor, and any
|
||
- Licensee; the Licensor, other than the European Commission, has no residence
|
||
- or registered office inside a European Union country.
|
||
|
||
|
||
===
|
||
|
||
|
||
Appendix
|
||
|
||
|
||
“Compatible Licences” according to article 5 EUPL are:
|
||
|
||
|
||
- GNU General Public License (GNU GPL) v. 2
|
||
|
||
- Open Software License (OSL) v. 2.1, v. 3.0
|
||
|
||
- Common Public License v. 1.0
|
||
|
||
- Eclipse Public License v. 1.0
|
||
|
||
- Cecill v. 2.0
|
||
|
||
</gcube.license>
|
||
</properties>
|
||
|
||
</project>
|