cui-parent-pom
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.github.cuioss</groupId>
<artifactId>cui-parent-pom</artifactId>
<version>0.1.3</version>
</dependency><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>io.github.cuioss</groupId>
<artifactId>cui-parent-pom</artifactId>
<name>cui parent pom</name>
<packaging>pom</packaging>
<version>0.1.3</version>
<description>Parent pom for all cui-oss projects. It defines the sonatype repositories and the basic maven plugins:
In addition it provides sensible release profiles: "release-pom" for pom-only releases and "release" for standard java-releases.</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- Repository-Urls -->
<public.repo.url>https://oss.sonatype.org/content/groups/public</public.repo.url>
<staging.repo.url>https://oss.sonatype.org/content/groups/staging</staging.repo.url>
<deploy.snapshot.repo.url>https://s01.oss.sonatype.org/content/repositories/snapshots</deploy.snapshot.repo.url>
<deploy.staging.repo.url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2</deploy.staging.repo.url>
<!-- Standard maven plugins: org.apache.maven. -->
<maven.assembly.plugin.version>3.5.0</maven.assembly.plugin.version>
<maven.clean.plugin.version>3.2.0</maven.clean.plugin.version>
<maven.compiler.plugin.version>3.11.0</maven.compiler.plugin.version>
<maven.dependency.plugin.version>3.5.0</maven.dependency.plugin.version>
<maven.deploy.plugin.version>3.1.0</maven.deploy.plugin.version>
<maven.enforcer.plugin.version>3.2.1</maven.enforcer.plugin.version>
<maven.failsafe.plugin.version>2.22.2</maven.failsafe.plugin.version>
<maven.gpg.plugin.version>3.0.1</maven.gpg.plugin.version>
<maven.install.plugin.version>3.1.0</maven.install.plugin.version>
<maven.jar.plugin.version>3.3.0</maven.jar.plugin.version>
<maven.javadoc.plugin.version>3.5.0</maven.javadoc.plugin.version>
<maven.release.plugin.version>2.5.3</maven.release.plugin.version>
<maven.resources.plugin.version>3.3.0</maven.resources.plugin.version>
<maven.site.plugin.version>3.12.1</maven.site.plugin.version>
<maven.site.fluido.skin.version>1.11.1</maven.site.fluido.skin.version>
<maven.project.info.reports.plugin.version>3.4.2</maven.project.info.reports.plugin.version>
<maven.source.plugin.version>3.2.1</maven.source.plugin.version>
<maven.surefire.plugin.version>2.22.2</maven.surefire.plugin.version>
<maven.surefire_report.plugin.version>2.22.2</maven.surefire_report.plugin.version>
<maven.war.plugin.version>3.3.2</maven.war.plugin.version>
<!-- Plugin Configuration -->
<!-- org.codehaus plugins -->
<enforcer.extra.rules.version>1.6.1</enforcer.extra.rules.version>
<buildhelper.maven.plugin.version>3.3.0</buildhelper.maven.plugin.version>
<buildnumber.maven.plugin.version>3.0.0</buildnumber.maven.plugin.version>
<versions.maven.plugin.version>2.15.0</versions.maven.plugin.version>
<!-- jandex plugin -->
<jandex.maven.plugin.version>1.2.3</jandex.maven.plugin.version>
<!-- Maven compiler Plugin -->
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<!-- Sonatype -->
<nexus.staging.maven.plugin.version>1.6.13</nexus.staging.maven.plugin.version>
<sonar.organization>cuioss-github</sonar.organization>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
<sonar.maven.plugin.version>3.9.1.2184</sonar.maven.plugin.version>
<jacoco.maven.plugin.version>0.8.8</jacoco.maven.plugin.version>
<asciidoctor.maven.plugin.version>2.2.2</asciidoctor.maven.plugin.version>
<lombok-maven-plugin.version>1.18.20.0</lombok-maven-plugin.version>
</properties>
<inceptionYear>2022</inceptionYear>
<url>https://github.com/cuioss/cui-parent-pom/</url>
<scm>
<url>https://github.com/cuioss/cui-parent-pom/</url>
<connection>scm:git:https://github.com/cuioss/cui-parent-pom.git</connection>
<developerConnection>scm:git:https://github.com/cuioss/cui-parent-pom/</developerConnection>
<tag>0.1.3</tag>
</scm>
<issueManagement>
<url>https://github.com/cuioss/cui-parent-pom/issues</url>
<system>GitHub Issues</system>
</issueManagement>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<name>Oliver Wolff</name>
<url>https://github.com/cuioss</url>
<roles>
<role>owner</role>
<role>developer</role>
</roles>
</developer>
<developer>
<name>Matthias Walliczek</name>
<url>https://github.com/mwalliczek</url>
<roles>
<role>owner</role>
<role>developer</role>
</roles>
</developer>
<developer>
<name>Eugen Fischer</name>
<url>https://github.com/EugenFischer</url>
<roles>
<role>owner</role>
<role>developer</role>
</roles>
</developer>
<developer>
<name>Sven Haag</name>
<url>https://github.com/svenhaag</url>
<roles>
<role>owner</role>
<role>developer</role>
</roles>
</developer>
</developers>
<organization>
<url>https://github.com/cuioss</url>
<name>CUI-OpenSource-Software</name>
</organization>
<repositories>
<repository>
<id>sonatype-nexus-snapshots</id>
<name>Sonatype Nexus Snapshots</name>
<url>${staging.repo.url}</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>sonatype-nexus-public</id>
<name>Sonatype Nexus Public Repo</name>
<url>${public.repo.url}</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<distributionManagement>
<snapshotRepository>
<id>sonatype-nexus-snapshots</id>
<name>Sonatype Nexus Snapshots</name>
<url>${deploy.snapshot.repo.url}</url>
</snapshotRepository>
<repository>
<id>sonatype-nexus-staging</id>
<name>Sonatype Nexus Public Repo</name>
<url>${deploy.staging.repo.url}</url>
</repository>
<site>
<id>cuioss-home</id>
<url>https://cuioss.github.io/</url>
</site>
</distributionManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven.assembly.plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven.clean.plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.plugin.version}</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven.dependency.plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>${maven.deploy.plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${maven.enforcer.plugin.version}</version>
<executions>
<execution>
<id>mojo-enforcer-rules</id>
<phase>validate</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requirePluginVersions>
<message>Best Practice is to always define plugin versions!</message>
<banLatest>true</banLatest>
<banRelease>true</banRelease>
</requirePluginVersions>
<requireMavenVersion>
<version>[3.8.0,)</version>
<message>Maven 3.8.0 is the minimal requirement.</message>
</requireMavenVersion>
<requireJavaVersion>
<version>[11,)</version>
<message>Invalid Java Version. Make sure you have the latest patch of Java11.
Current version: ${java.version}</message>
</requireJavaVersion>
<requirePropertyDiverges>
<message>Children must have a diverging name</message>
<property>project.name</property>
</requirePropertyDiverges>
<requirePropertyDiverges>
<message>Children must have a diverging description</message>
<property>project.description</property>
</requirePropertyDiverges>
<requireSameVersions>
<plugins>
<plugin>org.apache.maven.plugins</plugin>
</plugins>
</requireSameVersions>
</rules>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>${enforcer.extra.rules.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
<version>${maven.gpg.plugin.version}</version>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>${maven.install.plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven.jar.plugin.version}</version>
<configuration>
<excludes>
<exclude>**/log4j2.xml</exclude>
<!-- Exclude eclipse workspace files -->
<exclude>**/*.jsfdia</exclude>
</excludes>
<archive>
<index>true</index>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Build-Time>${maven.build.timestamp}</Build-Time>
<Build-User>${user.name}</Build-User>
<Build-Maven>Maven ${maven.version}</Build-Maven>
<Build-Java>${java.version}</Build-Java>
<Build-OS>${os.name}</Build-OS>
<Build-Number>${buildNumber}</Build-Number>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven.javadoc.plugin.version}</version>
<configuration>
<source>${maven.compiler.source}</source>
<linksource>true</linksource>
<quiet>true</quiet>
<notimestamp>true</notimestamp>
<splitindex>true</splitindex>
<doctitle>CUIOSS-Documentation</doctitle>
<links>
<link>https://javaee.github.io/javaee-spec/javadocs/</link>
</links>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>${maven.release.plugin.version}</version>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
<tagNameFormat>@{project.version}</tagNameFormat>
<pushChanges>false</pushChanges>
<localCheckout>true</localCheckout>
<remoteTagging>false</remoteTagging>
<arguments>-DskipTests=true</arguments>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>${nexus.staging.maven.plugin.version}</version>
<extensions>true</extensions>
<configuration>
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
<serverId>sonatype-nexus-snapshots</serverId>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
<stagingProgressTimeoutMinutes>60</stagingProgressTimeoutMinutes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven.resources.plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>${maven.site.plugin.version}</version>
<executions>
<execution>
<!-- Workaround for disabling deplyoment. This will be done by a github-action-->
<id>default-deploy</id>
<phase>never</phase>
</execution>
</executions>
<configuration>
<generateReports>true</generateReports>
<generateSitemap>true</generateSitemap>
<relativizeDecorationLinks>false</relativizeDecorationLinks>
<locales>en</locales>
<inputEncoding>UTF-8</inputEncoding>
<outputEncoding>UTF-8</outputEncoding>
</configuration>
<dependencies>
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<version>${asciidoctor.maven.plugin.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>${maven.project.info.reports.plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>${maven.source.plugin.version}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.plugin.version}</version>
<configuration>
<argLine>-Xms64m -Xmx1024m</argLine>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<printSummary>true</printSummary>
<trimStackTrace>false</trimStackTrace>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>${maven.surefire_report.plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>${maven.war.plugin.version}</version>
<configuration>
<!-- since version 3.0 the default behavior changes to "false" -->
<failOnMissingWebXml>false</failOnMissingWebXml>
<!-- Exclude eclipse workspace files -->
<packagingExcludes>**/log4j2.xml,**/*.jsfdia</packagingExcludes>
<archive>
<index>true</index>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Build-Time>${maven.build.timestamp}</Build-Time>
<Build-User>${user.name}</Build-User>
<Build-Maven>Maven ${maven.version}</Build-Maven>
<Build-Java>${java.version}</Build-Java>
<Build-OS>${os.name}</Build-OS>
<Build-Number>${buildNumber}</Build-Number>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${buildhelper.maven.plugin.version}</version>
<!-- track and expose the maven version being used -->
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>maven-version</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>${buildnumber.maven.plugin.version}</version>
<executions>
<execution>
<phase>validate</phase>
<id>create_buildNumber</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<revisionOnScmFailure>UNKNOWN</revisionOnScmFailure>
</configuration>
</execution>
</executions>
<configuration>
<getRevisionOnlyOnce>true</getRevisionOnlyOnce>
<shortRevisionLength>7</shortRevisionLength>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${versions.maven.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.jboss.jandex</groupId>
<artifactId>jandex-maven-plugin</artifactId>
<version>${jandex.maven.plugin.version}</version>
<executions>
<execution>
<id>make-index</id>
<goals>
<goal>jandex</goal>
</goals>
<!-- phase is 'process-classes by default' -->
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>${sonar.maven.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.maven.plugin.version}</version>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<goals>
<goal>report</goal>
</goals>
<configuration>
<formats>
<format>XML</format>
</formats>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<version>${lombok-maven-plugin.version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>release-pom</id>
<build>
<plugins>
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>only-eclipse</id>
<activation>
<property>
<name>m2e.version</name>
</property>
</activation>
<build>
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven
build itself. -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<versionRange>[3.0,)</versionRange>
<goals>
<goal>format</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.jboss.jandex</groupId>
<artifactId>jandex-maven-plugin</artifactId>
<versionRange>[1.2.3,)</versionRange>
<goals>
<goal>jandex</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute>
<runOnConfiguration>true</runOnConfiguration>
</execute>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<versionRange>[3.3.2,)</versionRange>
<goals>
<goal>exploded</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
</profiles>
<modules>
<module>cui-java-bom</module>
</modules>
</project>