maven-multi-module-template-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.github.hpehl</groupId>
<artifactId>maven-multi-module-template-parent</artifactId>
<version>0.0.2.Final</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2022 Red Hat
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<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>
<parent>
<groupId>org.jboss</groupId>
<artifactId>jboss-parent</artifactId>
<version>39</version>
</parent>
<groupId>io.github.hpehl</groupId>
<artifactId>maven-multi-module-template-parent</artifactId>
<version>0.0.2.Final</version>
<packaging>pom</packaging>
<name>Maven Multi Module Template :: Parent</name>
<description>Template for a multi module project using Maven 3.2.x and Java 11+</description>
<inceptionYear>2022</inceptionYear>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<organization>
<name>Red Hat</name>
<url>https://developers.redhat.com/</url>
</organization>
<scm>
<connection>scm:git:${repo.scm.connection}</connection>
<developerConnection>scm:git:${repo.scm.connection}</developerConnection>
<url>${repo.scm.url}</url>
<tag>HEAD</tag>
</scm>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>${repo.sonatype.url}/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>${repo.sonatype.url}/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<properties>
<!-- Dependency versions -->
<version.checkstyle.config>1.0.8.Final</version.checkstyle.config>
<version.eclipse.collections>11.1.0</version.eclipse.collections>
<version.junit>5.9.1</version.junit>
<version.logback>1.4.1</version.logback>
<version.slf4j>2.0.2</version.slf4j>
<!-- Plugin versions -->
<version.checkstyle.plugin>3.1.1</version.checkstyle.plugin>
<version.enforcer.plugin>3.0.0-M3</version.enforcer.plugin>
<version.formatter.plugin>2.20.0</version.formatter.plugin>
<version.impsort.plugin>1.7.0</version.impsort.plugin>
<version.keepachangelog>2.1.1</version.keepachangelog>
<version.license.plugin>4.1</version.license.plugin>
<version.nexus.staging.plugin>1.6.13</version.nexus.staging.plugin>
<!-- Repos, URLs & protocols -->
<repo.scm.connection>git@github.com:hpehl/maven-multi-module-template</repo.scm.connection>
<repo.scm.url>https://github.com/hpehl/maven-multi-module-template</repo.scm.url>
<repo.sonatype.url>https://s01.oss.sonatype.org</repo.sonatype.url>
<!-- Build related -->
<encoding>UTF-8</encoding>
<java.version>11</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<maven.min.version>3.2.5</maven.min.version>
<project.build.sourceEncoding>${encoding}</project.build.sourceEncoding>
<project.reporting.outputEncoding>${encoding}</project.reporting.outputEncoding>
</properties>
<modules>
<module>bom</module>
<module>build-config</module>
<module>code</module>
<module>code-parent</module>
</modules>
<!-- No dependencies! Dependencies are managed in code-parent -->
<dependencies/>
<build>
<!--
All plugins are declared and (partly) configured here.
Some of them are redefined in code-parent
-->
<pluginManagement>
<plugins>
<!-- Ordered by artifactID -->
<plugin>
<groupId>net.revelc.code.formatter</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<version>${version.formatter.plugin}</version>
</plugin>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${version.license.plugin}</version>
<configuration>
<header>build-config/src/main/resources/etc/license.txt</header>
<strictCheck>true</strictCheck>
<aggregate>true</aggregate>
<useDefaultExcludes>true</useDefaultExcludes>
<excludes>
<exclude>.sdkmanrc</exclude>
<exclude>LICENSE</exclude>
<exclude>**/*license*.txt</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>impsort-maven-plugin</artifactId>
<version>${version.impsort.plugin}</version>
<configuration>
<groups>java.,javax.,org.,io.,com.</groups>
<removeUnused>true</removeUnused>
<staticAfter>true</staticAfter>
</configuration>
</plugin>
<plugin>
<groupId>co.enear.maven.plugins</groupId>
<artifactId>keepachangelog-maven-plugin</artifactId>
<version>${version.keepachangelog}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<configLocation>wildfly-checkstyle/checkstyle.xml</configLocation>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<excludes>**/*$logger.java,**/*$bundle.java</excludes>
<useFile/>
</configuration>
<dependencies>
<dependency>
<groupId>org.wildfly.checkstyle</groupId>
<artifactId>wildfly-checkstyle-config</artifactId>
<version>${version.checkstyle.config}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<configuration>
<rules>
<bannedRepositories>
<message>To build this project, don't use maven repositories over HTTP. Please use HTTPS
in your settings.xml or run the build with property insecure.repositories=WARN
</message>
<level>ERROR</level>
<bannedRepositories>
<bannedRepository>http://*</bannedRepository>
</bannedRepositories>
<bannedPluginRepositories>
<bannedPluginRepository>http://*</bannedPluginRepository>
</bannedPluginRepositories>
</bannedRepositories>
<requireMavenVersion>
<message>To build this project Maven ${maven.min.version} (or greater) is required.
Please install it.
</message>
<version>${maven.min.version}</version>
</requireMavenVersion>
<requireJavaVersion>
<message>To build this project JDK ${maven.compiler.source} (or greater) is required.
Please install it.
</message>
<version>${maven.compiler.source}</version>
</requireJavaVersion>
</rules>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- Ordered by artifactID -->
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<executions>
<execution>
<id>license-format</id>
<phase>process-sources</phase>
<goals>
<goal>format</goal>
</goals>
</execution>
<execution>
<id>license-check</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforcer-enforce</id>
<phase>initialize</phase>
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<!-- Semantically ordered -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<configuration>
<rules>
<requireReleaseDeps>
<message>No Snapshots Allowed!</message>
</requireReleaseDeps>
</rules>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalOptions>
<additionalOption>-html5</additionalOption>
</additionalOptions>
<detectLinks>true</detectLinks>
<doclint>none</doclint>
<failOnError>false</failOnError>
<show>public</show>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>${version.nexus.staging.plugin}</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>${repo.sonatype.url}</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>