Parent pom for all gCube artifacts.
Go to file
Roberto Cirillo 1ba2854b80 Merge pull request 'fix conflict with master' (!28) from conflict into master
Reviewed-on: #28
2024-04-05 15:36:30 +02:00
.settings Ignored generated target directory and eclipse project file 2020-10-08 14:08:54 +02:00
.gitignore add .idea to gitignore 2022-09-22 09:53:31 +02:00
.project git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/build-utils/maven-parent@45674 82a268e6-3cf1-43bd-a215-b396298e98cf 2011-09-15 15:19:56 +00:00
CHANGELOG.md fix conflict with master 2024-04-05 15:35:28 +02:00
LICENSE.md Add LICENSE. 2020-06-19 14:50:26 -04:00
README.md update README 2023-07-26 16:25:54 +02:00
pom.xml fix conflict with master 2024-04-05 15:35:28 +02:00

README.md

MAVEN PARENT POM

A parent pom for all the gCube artifacts.

Enforcements

  • Java 8 (target and source) unless otherwise specified inside the pom
  • OpenJDK as target Java VM.
  • Maven 3.3.9+
  • README.md, CHANGELOG.md and LICENSE.md are present in the baseDir of each Maven module
  • CHANGELOG.md must declare a tag [v+Pom version] (e.g. [v1.0.0])

Build Profiles

The build profiles are separated in three main branches: developer, staging, releases. Each branch has a set of profile based on the idk. The developer branch contains the profiles related to the snapshot build:

  • gcore-legacy jdk7
  • gcube-legacy - jdk8
  • gcube-official -jdk11
  • gcube-experimental - jdk17

In the same way are organised the other branch profiles related to the staging (integration) phase and to the release phase.

In addition there are a set of common profiles useful in order to avoid replication of plugins and rules definitions:

  • common-snapshot
  • common-release
  • dry-run
  • disable-java8-doclint
  • set-local-classpath
  • generate-distribution-packages

Below the descriptions of the most used profiles by gCube components:

common-snapshot

This profile defines the common plugin used by all the snapshot profiles

common-releases

This profile defines the common plugin used by all the staging and release profiles

gcube-official

  • Dependencies resolved against local, gcube-snapshots and gcube-releases
  • Snapshot artifacts installed to local
  • Snapshot artifacts deployed to gcube-snapshots
  • Deployments of releases artifacts are not permitted

jenkins-staging-official

  • Dependencies resolved against local-staging, gcube-jenkins-staging, gcube-staging and gcube-releases
  • Release/snapshot artifacts installed to local-staging
  • Release/snapshot artifacts deployed to gcube-jenkins-staging

jenkins-releases

  • Dependencies resolved against local-releases, gcube-releases, gcube-jenkins-staging and gcube staging
  • Release artifacts installed to local-releases
  • Deployments of snapshot artifacts are not permitted
  • Release artifacts deployed to gcube-releases

dry-run

This profile disables the deployment of the artifacts.

disable-java8-doclint

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.

set-local-classpath

This profile set a generic folder that will be added to the classpath