cui-parent-pom
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>de.cuioss</groupId>
<artifactId>cui-parent-pom</artifactId>
<version>1.3.6</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://www.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.cuioss</groupId>
<artifactId>cui-parent-pom</artifactId>
<version>1.3.6</version>
<packaging>pom</packaging>
<name>cui parent pom</name>
<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>
<url>https://github.com/cuioss/cui-parent-pom/</url>
<inceptionYear>2022</inceptionYear>
<organization>
<url>https://github.com/cuioss</url>
<name>CUI-OpenSource-Software</name>
</organization>
<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>
<modules>
<module>cui-java-bom</module>
<module>java-ee-bom</module>
</modules>
<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>1.3.6</tag>
</scm>
<issueManagement>
<url>https://github.com/cuioss/cui-parent-pom/issues</url>
<system>GitHub Issues</system>
</issueManagement>
<distributionManagement>
<snapshotRepository>
<id>central</id>
<name>Maven Central Snapshots</name>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
</snapshotRepository>
<repository>
<id>central</id>
<name>Maven Central Releases</name>
<url>https://central.sonatype.com/repository/maven-releases/</url>
</repository>
<site>
<id>cuioss-home</id>
<url>https://cuioss.github.io/</url>
</site>
</distributionManagement>
<repositories>
<repository>
<id>sonatype-snapshots</id>
<name>Sonatype Snapshot Repository</name>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<properties>
<version.cui.parent>1.3.6</version.cui.parent>
<given.parent.version>${project.version}</given.parent.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.assembly.plugin.version>3.7.1</maven.assembly.plugin.version>
<maven.clean.plugin.version>3.5.0</maven.clean.plugin.version>
<maven.compiler.plugin.version>3.14.1</maven.compiler.plugin.version>
<maven.dependency.plugin.version>3.9.0</maven.dependency.plugin.version>
<maven.deploy.plugin.version>3.1.4</maven.deploy.plugin.version>
<maven.enforcer.plugin.version>3.5.0</maven.enforcer.plugin.version>
<maven.failsafe.plugin.version>3.5.4</maven.failsafe.plugin.version>
<maven.gpg.plugin.version>3.2.8</maven.gpg.plugin.version>
<maven.install.plugin.version>3.1.4</maven.install.plugin.version>
<maven.release.plugin.version>3.1.1</maven.release.plugin.version>
<maven.resources.plugin.version>3.3.1</maven.resources.plugin.version>
<maven.site.plugin.version>3.21.0</maven.site.plugin.version>
<maven.site.plugin.generateReports>true</maven.site.plugin.generateReports>
<maven.site.fluido.skin.version>1.11.1</maven.site.fluido.skin.version>
<maven.project.info.reports.plugin.version>3.9.0</maven.project.info.reports.plugin.version>
<maven.source.plugin.version>3.3.1</maven.source.plugin.version>
<maven.surefire.plugin.version>3.5.4</maven.surefire.plugin.version>
<maven.surefire_report.plugin.version>3.5.4</maven.surefire_report.plugin.version>
<!-- Plugin Configuration -->
<!-- org.codehaus plugins -->
<enforcer.extra.rules.version>1.11.0</enforcer.extra.rules.version>
<buildhelper.maven.plugin.version>3.6.1</buildhelper.maven.plugin.version>
<buildnumber.maven.plugin.version>3.2.1</buildnumber.maven.plugin.version>
<versions.maven.plugin.version>2.19.1</versions.maven.plugin.version>
<exec.maven.plugin.version>3.6.1</exec.maven.plugin.version>
<!-- jandex plugin -->
<jandex.smallrye.maven.plugin.version>3.5.0</jandex.smallrye.maven.plugin.version>
<!-- Maven compiler Plugin -->
<maven.compiler-plugin.release>21</maven.compiler-plugin.release>
<!-- Sonatype -->
<sonar.organization>cuioss-github</sonar.organization>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
<sonar.maven.plugin.version>5.2.0.4988</sonar.maven.plugin.version>
<jacoco.maven.plugin.version>0.8.13</jacoco.maven.plugin.version>
<asciidoctor.maven.plugin.version>3.2.0</asciidoctor.maven.plugin.version>
<lombok-maven-plugin.version>1.18.20.0</lombok-maven-plugin.version>
<version.lombok>1.18.42</version.lombok>
<!-- Needed for js / css -->
<version.frontend-maven-plugin>1.15.1</version.frontend-maven-plugin>
<open.rewrite.maven.plugin.version>6.12.0</open.rewrite.maven.plugin.version>
<rewrite-testing-frameworks.version>3.11.0</rewrite-testing-frameworks.version>
<rewrite-migrate-java.version>3.12.0</rewrite-migrate-java.version>
<rewrite-static-analysis.version>2.16.0</rewrite-static-analysis.version>
<project.build.outputTimestamp>2025-10-17T14:26:13Z</project.build.outputTimestamp>
<central-publishing-maven-plugin.version>0.9.0</central-publishing-maven-plugin.version>
<cui-open-rewrite.version>1.1.1</cui-open-rewrite.version>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven.assembly.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven.clean.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.plugin.version}</version>
<configuration>
<annotationProcessorPaths>
<annotationProcessorPath>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${version.lombok}</version>
</annotationProcessorPath>
</annotationProcessorPaths>
<!-- Use release instead of source/target to properly handle modules -->
<release>${maven.compiler-plugin.release}</release>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven.dependency.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>${maven.deploy.plugin.version}</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<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>[21,)</version>
<message>Invalid Java Version.
Make sure
you have the latest
patch of Java21.
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>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<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>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>${maven.install.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<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.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>${central-publishing-maven-plugin.version}</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<autoPublish>true</autoPublish>
<waitUntil>published</waitUntil>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven.resources.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>${maven.site.plugin.version}</version>
<executions>
<execution>
<!-- Workaround for disabling deployment.
This will be done by a github-action -->
<id>default-deploy</id>
<phase>never</phase>
</execution>
</executions>
<configuration>
<generateReports>${maven.site.plugin.generateReports}</generateReports>
<generateSitemap>true</generateSitemap>
<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>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>${maven.project.info.reports.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<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>
<groupId>org.apache.maven.plugins</groupId>
<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>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>${maven.surefire_report.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${buildhelper.maven.plugin.version}</version>
</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.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec.maven.plugin.version}</version>
</plugin>
<plugin>
<groupId>io.smallrye</groupId>
<artifactId>jandex-maven-plugin</artifactId>
<version>${jandex.smallrye.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>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>${version.frontend-maven-plugin}</version>
</plugin>
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
<version>${open.rewrite.maven.plugin.version}</version>
<dependencies>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-migrate-java</artifactId>
<version>${rewrite-migrate-java.version}</version>
</dependency>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-testing-frameworks</artifactId>
<version>${rewrite-testing-frameworks.version}</version>
</dependency>
<dependency>
<groupId>de.cuioss.rewrite</groupId>
<artifactId>cui-open-rewrite</artifactId>
<version>${cui-open-rewrite.version}</version>
</dependency>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-static-analysis</artifactId>
<version>${rewrite-static-analysis.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>release-pom</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>timestamp-property</id>
<phase>validate</phase>
<goals>
<goal>timestamp-property</goal>
</goals>
<configuration>
<name>maven.build.timestamp</name>
<pattern>yyyy-MM-dd'T'HH:mm:ss'Z'</pattern>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<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>
<preparationGoals>versions:set-property -Dproperty=version.cui.parent
-DnewVersion=${releaseVersion} -DgenerateBackupPoms=false
</preparationGoals>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<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>io.smallrye</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>
<profile>
<!-- Usage: ./mvnw -Prewrite-maven-clean rewrite:run -->
<!-- Unifies / cleans the maven-poms-->
<id>rewrite-maven-clean</id>
<build>
<plugins>
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
<configuration>
<activeRecipes>
<recipe>org.openrewrite.maven.BestPractices</recipe>
</activeRecipes>
</configuration>
<executions>
<execution>
<id>rewrite</id>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!-- Usage ./mvnw generate-resources -Pbuild-plantuml-->
<id>build-plantuml</id>
<build>
<plugins>
<plugin>
<groupId>com.github.jeluard</groupId>
<artifactId>plantuml-maven-plugin</artifactId>
<version>1.2</version>
<configuration>
<sourceFiles>
<directory>${project.basedir}/doc/plantuml</directory>
<includes>
<include>**/*.puml</include>
</includes>
</sourceFiles>
<outputDirectory>${project.basedir}/doc/plantuml</outputDirectory>
<format>png</format>
<!-- Enable verbose output for more detailed processing information -->
<verbose>false</verbose>
<!-- For even more detailed debug output, run Maven with the debug flag:
./mvnw generate-resources -Pbuild-plantuml -X
-->
</configuration>
<dependencies>
<dependency>
<groupId>net.sourceforge.plantuml</groupId>
<artifactId>plantuml</artifactId>
<version>1.2025.8</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>generate-plantuml-diagrams</id>
<phase>generate-resources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>