dev.orne:java-module-root-pom

Orne Java Root POM


License
GPL-3.0

Documentation

Root POMs for orne.dev Maven projects

Latest version License Maven site Latest version Sonar status

Development CI status Development Sonar status

This projects provides root POM artifacts to be used as parents by projects developed by orne.dev.

For project details see Maven site.

Global root POM

The dev.orne:root-pom artifact provides general configuration for Maven based projects.

Usage:

<project ...>
...
  <parent>
    <groupId>dev.orne</groupId>
    <artifactId>root-pom</artifactId>
    <version>RELEASE</version>
    <relativePath />
  </parent>
...
  <packaging>pom</packaging>
...
</project>

Provides the next features:

  • Version management
  • License management
  • Pre-release verifications on pre-release profile
    • Dependency version upper bound verification
    • Dependency release version verification
  • Release verifications and configurations on release profile
    • Parent release version verification
    • Dependency version upper bound verification
    • Dependency release version verification
    • GPG signing of released artifacts
  • Automatic Maven site publishing in gh-pages branch

Root POM for Java projects

The dev.orne:java-root-pom artifact provides general configuration for Maven based Java projects.

Usage:

<project ...>
...
  <parent>
    <groupId>dev.orne</groupId>
    <artifactId>java-root-pom</artifactId>
    <version>RELEASE</version>
    <relativePath />
  </parent>
...
  <packaging>jar</packaging>
...
</project>

Provides the next features:

  • Version management
  • License management
    • Automatic update of source files headers
  • Unit tests execution configuration on ut profile
    • Automatic unit test execution
    • Automatic unit test coverage reports
  • Integration tests execution configuration on it profile
    • Automatic integration test execution
    • Automatic integration test coverage reports
  • API compatibility automatic checks based on revapi and apiguardian
  • Pre-release verifications on pre-release profile
    • Dependency version upper bound verifications
  • Release verifications and configurations on release profile
    • Parent release version verification
    • Dependency version upper bound verification
    • Dependency release version verification
    • GPG signing of released artifacts
  • Automatic Maven site publishing in gh-pages branch

Root POM for Maven archetype projects

The dev.orne:archetype-root-pom artifact provides general configuration for Maven archetype projects.

Usage:

<project ...>
...
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>dev.orne</groupId>
    <artifactId>archetype-root-pom</artifactId>
    <version>RELEASE</version>
    <relativePath />
  </parent>
...
  <packaging>maven-archetype</packaging>
...
</project>

Provides the next features:

  • Version management
  • License management
  • Pre-release verifications on pre-release profile
    • Dependency version upper bound verification
    • Dependency release version verification
  • Release verifications and configurations on release profile
    • Parent release version verification
    • Dependency version upper bound verification
    • Dependency release version verification
    • GPG signing of released artifacts
  • Maven archetypes packaging and testing
  • Automatic Maven site publishing in gh-pages branch

Archetype for POM projects and modules

The dev.orne:pom-project-archetype artifact provides a basic archetype for generation of projects or modules base en POM dev.orne:root-pom.

Usage:

mvn archetype:generate                              \
      -DarchetypeGroupId=dev.orne                   \
      -DarchetypeArtifactId=pom-project-archetype   \
      -DarchetypeVersion=RELEASE                    \
      -DgroupId=<my.groupid>                        \
      -DartifactId=<my-artifactId>

Archetype for Java projects and modules

The dev.orne:java-project-archetype artifact provides a basic archetype for generation of projects or modules base en POM dev.orne:java-root-pom.

Usage:

mvn archetype:generate                              \
      -DarchetypeGroupId=dev.orne                   \
      -DarchetypeArtifactId=java-project-archetype  \
      -DarchetypeVersion=RELEASE                    \
      -DgroupId=<my.groupid>                        \
      -DartifactId=<my-artifactId>