maven-single-module-template
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.github.hpehl</groupId>
<artifactId>maven-single-module-template</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-single-module-template</artifactId>
<version>0.0.2.Final</version>
<name>Maven Single Module Template</name>
<description>Template for a single 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-single-module-template.git</repo.scm.connection>
<repo.scm.url>https://github.com/hpehl/maven-single-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>
<dependencyManagement>
<dependencies>
<!-- Eclipse Collections -->
<dependency>
<groupId>org.eclipse.collections</groupId>
<artifactId>eclipse-collections-api</artifactId>
<version>${version.eclipse.collections}</version>
</dependency>
<dependency>
<groupId>org.eclipse.collections</groupId>
<artifactId>eclipse-collections</artifactId>
<version>${version.eclipse.collections}</version>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${version.slf4j}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${version.logback}</version>
</dependency>
<!-- JUnit -->
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${version.junit}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Eclipse Collections -->
<dependency>
<groupId>org.eclipse.collections</groupId>
<artifactId>eclipse-collections-api</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.collections</groupId>
<artifactId>eclipse-collections</artifactId>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<!-- JUnit -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<!-- Ordered by artifactID -->
<plugin>
<groupId>net.revelc.code.formatter</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<version>${version.formatter.plugin}</version>
<configuration>
<configFile>etc/eclipse-formatter-config.xml</configFile>
</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>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${version.license.plugin}</version>
<configuration>
<header>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>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>
<suppressionsLocation>etc/checkstyle-suppressions.xml</suppressionsLocation>
<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>net.revelc.code.formatter</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<executions>
<execution>
<id>formatter-format</id>
<phase>process-sources</phase>
<goals>
<goal>format</goal>
</goals>
</execution>
<execution>
<id>formatter-check</id>
<phase>verify</phase>
<goals>
<goal>validate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>impsort-maven-plugin</artifactId>
<executions>
<execution>
<id>impsort-sort</id>
<phase>process-sources</phase>
<goals>
<goal>sort</goal>
</goals>
</execution>
<execution>
<id>impsort-check</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<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-checkstyle-plugin</artifactId>
<executions>
<execution>
<id>checkstyle-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>