This projects provides root POM artifacts to be used as parents by projects developed by orne.dev.
For project details see Maven site.
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
- External 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
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>
Provided features:
- Version management
- License management
- Automatic update of source files headers
- Java 9 automatic module name management
- 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
andapiguardian
- Pre-release verifications on
pre-release
profile- Dependency version upper bound verifications
- External 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
The dev.orne:java-module-root-pom
artifact provides general configuration for
Maven based Java 9+ module projects.
Usage:
<project ...>
...
<parent>
<groupId>dev.orne</groupId>
<artifactId>java-module-root-pom</artifactId>
<version>RELEASE</version>
<relativePath />
</parent>
...
<packaging>jar</packaging>
...
</project>
Provided features:
- Version management
- License management
- Automatic update of source files headers
- Two phase compilation
- Module descriptor compilation for target module Java version
- Regular classes compilation for target library Java version
- 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
andapiguardian
- Pre-release verifications on
pre-release
profile- Dependency version upper bound verifications
- External 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
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>
Provided features:
- Version management
- License management
- Pre-release verifications on
pre-release
profile- Dependency version upper bound verification
- External 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
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> \
-Dversion=<my.version>
When use to create modules of multi-module Maven projects automatically cleans the additional configuration and launchers intended for root projects.
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> \
-Dversion=<my.version>
When use to create modules of multi-module Maven projects automatically cleans the additional configuration and launchers intended for root projects.
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-module-project-archetype \
-DarchetypeVersion=RELEASE \
-DgroupId=<my.groupid> \
-DartifactId=<my-artifactId> \
-Dversion=<my.version>
When use to create modules of multi-module Maven projects automatically cleans the additional configuration and launchers intended for root projects.
Create a new Git repository with a private, unpublished, root POM project, and a public JAR module and a GitHub pages orphan branch:
mvn archetype:generate \
-DarchetypeGroupId=dev.orne \
-DarchetypeArtifactId=pom-project-archetype \
-DarchetypeVersion=RELEASE \
-DgroupId=my.groupid \
-DartifactId=my-root \
-Dversion=0.1.0-SNAPSHOT
cd my-parent
mvn versions:set-property -Dproperty=install.skip -DnewVersion=true
mvn versions:set-property -Dproperty=deploy.skip -DnewVersion=true
git init .
git flow init -d
git add .
git commit -a -m "Created root POM"
mvn archetype:generate \
-DarchetypeGroupId=dev.orne \
-DarchetypeArtifactId=java-project-archetype \
-DarchetypeVersion=RELEASE \
-DgroupId=my.groupid \
-DartifactId=my-artifact \
-Dversion=0.1.0-SNAPSHOT
git add .
git commit -a -m "Created my-artifact module"
git checkout --orphan gh-pages
git rm -rf .
echo "" > .gitignore
git add .
git commit -a -m "Created GitHub site branch"
git checkout develop