maven-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>dev.mohterbaord</groupId>
<artifactId>maven-parent</artifactId>
<version>9.0</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!-- SPDX-FileCopyrightText: 2025 Sergey Sokolov <mohterbaord@gmail.com> -->
<!-- SPDX-License-Identifier: Apache-2.0 -->
<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>dev.mohterbaord</groupId>
<artifactId>maven-grandparent</artifactId>
<version>8.0</version>
</parent>
<artifactId>maven-parent</artifactId>
<version>9.0</version>
<packaging>pom</packaging>
<name>Maven Parent</name>
<description>
A parent POM extending Maven Grandparent and including a collection of
useful dependencies, plugins, and extensions
</description>
<url>https://codeberg.org/mohterbaord/maven-parent</url>
<organization>
<name>Sergey Sokolov</name>
</organization>
<inceptionYear>2025</inceptionYear>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<developers>
<developer>
<id>mohterbaord</id>
<name>Sergey Sokolov</name>
<email>mohterbaord@gmail.com</email>
<url>https://www.mohterbaord.dev</url>
<roles>
<role>Project lead</role>
<role>Developer</role>
<role>Maintainer</role>
</roles>
</developer>
</developers>
<scm>
<url>https://codeberg.org/mohterbaord/maven-parent</url>
<connection>scm:git:https://codeberg.org/mohterbaord/maven-parent.git</connection>
<developerConnection>scm:git:ssh://git@codeberg.org/mohterbaord/maven-parent.git</developerConnection>
<tag>9.0</tag>
</scm>
<properties>
<maven.compiler.release>21</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- Dependencies -->
<!--
junit
* Docs: https://junit.org/junit5/docs/current/api/
* Source: https://github.com/junit-team/junit5/
* Repository: https://mvnrepository.com/artifact/org.junit/junit-bom
-->
<version.junit>6.0.3</version.junit>
<!--
logback
* Docs: https://logback.qos.ch/
* Source: https://github.com/qos-ch/logback
* Repository: https://mvnrepository.com/artifact/ch.qos.logback/logback-core
-->
<version.logback>1.5.32</version.logback>
<!--
lombok
* Docs: https://projectlombok.org/api/
* Source: https://github.com/projectlombok/lombok
* Repository: https://mvnrepository.com/artifact/org.projectlombok/lombok
-->
<version.lombok>1.18.44</version.lombok>
<!--
mockito
* Docs: https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html
* Source: https://github.com/mockito/mockito
* Repository: https://mvnrepository.com/artifact/org.mockito/mockito-bom
-->
<version.mockito>5.23.0</version.mockito>
<!--
netty
* Docs: https://netty.io/index.html
* Source: https://github.com/netty/netty
* Repository: https://mvnrepository.com/artifact/io.netty/netty-bom
-->
<version.netty>4.2.12.Final</version.netty>
<!--
slf4j
* Docs: https://www.slf4j.org/docs.html
* Source: https://github.com/qos-ch/slf4j
* Repository: https://mvnrepository.com/artifact/org.slf4j/slf4j-bom
-->
<version.slf4j>2.0.17</version.slf4j>
<!-- Plugins -->
<!--
central-publishing
* Docs: https://central.sonatype.org/publish/publish-portal-maven/
* Source: -
* Repository: https://mvnrepository.com/artifact/org.sonatype.central/central-publishing-maven-plugin
-->
<version.central-publishing-maven-plugin>0.10.0</version.central-publishing-maven-plugin>
<!--
jacoco
* Docs: https://www.jacoco.org/jacoco/trunk/doc/maven.html
* Source: https://github.com/jacoco/jacoco
* Repository: https://mvnrepository.com/artifact/org.jacoco/jacoco-maven-plugin
-->
<version.jacoco-maven-plugin>0.8.14</version.jacoco-maven-plugin>
<!--
license
* Docs: https://www.mojohaus.org/license-maven-plugin/
* Source: https://github.com/mojohaus/license-maven-plugin
* Repository: https://mvnrepository.com/artifact/org.codehaus.mojo/license-maven-plugin
-->
<version.license-maven-plugin>2.7.1</version.license-maven-plugin>
<!--
native image
* Docs: https://graalvm.github.io/native-build-tools/latest/maven-plugin.html
* Source: https://github.com/graalvm/native-build-tools
* Repository: https://central.sonatype.com/artifact/org.graalvm.buildtools/native-maven-plugin
-->
<version.native-maven-plugin>1.0.0</version.native-maven-plugin>
<!--
spotless
* Docs: https://github.com/diffplug/spotless/tree/main/plugin-maven
* Source: https://github.com/diffplug/spotless
* Repository: https://central.sonatype.com/artifact/com.diffplug.spotless/spotless-maven-plugin
-->
<version.spotless-maven-plugin>3.4.0</version.spotless-maven-plugin>
<!--
versions
* Docs: https://www.mojohaus.org/versions/versions-maven-plugin/
* Source: https://github.com/mojohaus/versions
* Repository: https://mvnrepository.com/artifact/org.codehaus.mojo/versions-maven-plugin
-->
<version.versions-maven-plugin>2.21.0</version.versions-maven-plugin>
<!-- Extensions -->
<!--
archetype-packaging
* Docs: https://maven.apache.org/archetype/archetype-packaging/
* Source: https://github.com/apache/maven-archetype
* Repository: https://mvnrepository.com/artifact/org.apache.maven.archetype/archetype-packaging
-->
<version.archetype-packaging>3.4.1</version.archetype-packaging>
</properties>
<dependencyManagement>
<dependencies>
<!-- BOMs -->
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${version.junit}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-bom</artifactId>
<version>${version.mockito}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-bom</artifactId>
<version>${version.netty}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-bom</artifactId>
<version>${version.slf4j}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<!-- logback modules -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${version.logback}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${version.logback}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>${version.logback}</version>
</dependency>
<!-- other modules -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${version.lombok}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>${version.central-publishing-maven-plugin}</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${version.jacoco-maven-plugin}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${version.license-maven-plugin}</version>
</plugin>
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<version>${version.native-maven-plugin}</version>
</plugin>
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>${version.spotless-maven-plugin}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${version.versions-maven-plugin}</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
<profile>
<id>maven-parent:versions</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.6.2</version>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.6.3</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.20.1</version>
<configuration>
<includeParent>false</includeParent>
<properties>
<property>
<name>version.archetype-packaging</name>
<dependencies>
<dependency>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>archetype-packaging</artifactId>
</dependency>
</dependencies>
</property>
</properties>
<ruleSet>
<ignoreVersion>
<type>regex</type>
<version>.+-(SNAPSHOT|M\d)</version>
</ignoreVersion>
<ignoreVersion>
<type>regex</type>
<version>.+-(alpha|beta).*</version>
</ignoreVersion>
</ruleSet>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>maven-parent:license</id>
<properties>
<skipTests>true</skipTests>
<license.licenseName>apache_v2</license.licenseName>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>2.7.1</version>
<executions>
<execution>
<id>upsert-license-file</id>
<goals>
<goal>update-project-license</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>maven-parent:release</id>
<properties>
<keymapProfile>keyname-general</keymapProfile>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>3.3.1</version>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
<tagNameFormat>@{version}</tagNameFormat>
<releaseProfiles>${keynameProfile},maven-parent:publish</releaseProfiles>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>maven-parent:publish</id>
<properties>
<publishingServerId>maven-parent-usertoken</publishingServerId>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.2.8</version>
<executions>
<execution>
<id>sign-artifacts</id>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<bestPractices>true</bestPractices>
<defaultKeyring>false</defaultKeyring>
<keyname>${gpg.keyname}</keyname>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.10.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>${publishingServerId}</publishingServerId>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>