oss-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.metricshub</groupId> <artifactId>oss-parent</artifactId> <version>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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.metricshub</groupId> <artifactId>oss-parent</artifactId> <version>3</version> <name>Open Source Software Parent</name> <description>Maven Parent Configuration for Open Source Software Projects</description> <packaging>pom</packaging> <organization> <name>MetricsHub</name> <url>https://metricshub.com</url> </organization> <url>https://metricshub.org/oss-parent</url> <inceptionYear>2025</inceptionYear> <distributionManagement> <repository> <id>central</id> <url>https://central.sonatype.com</url> </repository> <snapshotRepository> <id>central</id> <url>https://central.sonatype.com/repository/maven-snapshots</url> </snapshotRepository> </distributionManagement> <licenses> <license> <name>Apache-2.0</name> <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> <distribution>repo</distribution> </license> </licenses> <issueManagement> <system>GitHub</system> <url>https://github.com/metricshub/oss-parent/issues/</url> </issueManagement> <scm> <connection>scm:git:https://github.com/metricshub/oss-parent.git</connection> <url>https://github.com/metricshub/oss-parent/tree/${project.scm.tag}</url> <tag>v3</tag> </scm> <developers> <developer> <name>Bertrand Martin (@bertysentry)</name> <email>bertrand@sentrysoftware.com</email> <roles> <role>maintainer</role> </roles> </developer> <developer> <name>Christophe Clermont (@ChristopheClermont)</name> <email>christophe@sentrysoftware.com</email> <roles> <role>maintainer</role> </roles> </developer> </developers> <properties> <!-- UTF-8 --> <project.build.encoding>UTF-8</project.build.encoding> <project.build.sourceEncoding>${project.build.encoding}</project.build.sourceEncoding> <project.build.resourceEncoding>${project.build.encoding}</project.build.resourceEncoding> </properties> <build> <!-- Common configuration for plugins --> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>3.1.0</version> </plugin> <plugin> <artifactId>maven-artifact-plugin</artifactId> <version>3.6.0</version> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.7.1</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.14.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.8.1</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>3.1.4</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>3.5.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>3.5.2</version> </plugin> <plugin> <artifactId>maven-gpg-plugin</artifactId> <version>3.2.7</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>3.1.4</version> </plugin> <plugin> <artifactId>maven-invoker-plugin</artifactId> <version>3.9.0</version> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>3.4.2</version> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>3.11.2</version> <configuration> <detectJavaApiLink>false</detectJavaApiLink> <release>${maven.compiler.release}</release> <show>public</show> <notimestamp>true</notimestamp> <failOnError>false</failOnError> <sourcepath>${basedir}/src/main/java</sourcepath> </configuration> </plugin> <plugin> <artifactId>maven-plugin-plugin</artifactId> <version>3.15.1</version> </plugin> <plugin> <artifactId>maven-release-plugin</artifactId> <version>3.1.1</version> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.3.1</version> </plugin> <plugin> <artifactId>maven-shade-plugin</artifactId> <version>3.6.0</version> </plugin> <plugin> <artifactId>maven-site-plugin</artifactId> <version>3.12.1</version> </plugin> <plugin> <artifactId>maven-source-plugin</artifactId> <version>3.3.1</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>3.5.2</version> </plugin> <plugin> <artifactId>maven-surefire-report-plugin</artifactId> <version>3.5.2</version> </plugin> <plugin> <groupId>com.hubspot.maven.plugins</groupId> <artifactId>prettier-maven-plugin</artifactId> <version>0.21</version> </plugin> <plugin> <groupId>com.googlecode.maven-download-plugin</groupId> <artifactId>download-maven-plugin</artifactId> <version>1.13.0</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.6.0</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.4</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.0.0</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>license-maven-plugin</artifactId> <version>2.5.0</version> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.12</version> </plugin> <plugin> <groupId>org.sonatype.central</groupId> <artifactId>central-publishing-maven-plugin</artifactId> <version>0.7.0</version> </plugin> </plugins> </pluginManagement> <plugins> <!-- artifact (Reproducible Build) --> <plugin> <artifactId>maven-artifact-plugin</artifactId> <executions> <execution> <id>buildinfo</id> <phase>verify</phase> <goals> <goal>buildinfo</goal> </goals> <configuration> <reproducible>true</reproducible> </configuration> </execution> </executions> </plugin> <!-- source --> <plugin> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <!-- javadoc --> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <doclint>all,-missing</doclint> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>license-maven-plugin</artifactId> <configuration> <licenseName>apache_v2</licenseName> <copyrightOwners>MetricsHub</copyrightOwners> <copyrightStringFormat>Copyright %1$s %2$s</copyrightStringFormat> <includes> <include>main/java/**/*.java</include> </includes> <trimHeaderLine>true</trimHeaderLine> <canUpdateCopyright>true</canUpdateCopyright> <canUpdateDescription>true</canUpdateDescription> <processStartTag>╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲</processStartTag> <sectionDelimiter>჻჻჻჻჻჻</sectionDelimiter> <processEndTag>╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱</processEndTag> </configuration> <executions> <execution> <id>check-license</id> <phase>process-sources</phase> <goals> <goal>check-file-header</goal> </goals> <configuration> <failOnMissingHeader>true</failOnMissingHeader> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-site-plugin</artifactId> <dependencies> <dependency> <groupId>org.sentrysoftware.maven</groupId> <artifactId>maven-skin-tools</artifactId> <version>1.3.00</version> </dependency> </dependencies> </plugin> </plugins> </build> <reporting> <plugins> <!-- jxr: creates XRef links --> <plugin> <artifactId>maven-jxr-plugin</artifactId> <version>3.6.0</version> </plugin> <!-- checkstyle --> <plugin> <artifactId>maven-checkstyle-plugin</artifactId> <version>3.6.0</version> <configuration> <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding> <linkXref>true</linkXref> <configLocation>checkstyle.xml</configLocation> </configuration> </plugin> <!-- pmd --> <plugin> <artifactId>maven-pmd-plugin</artifactId> <version>3.26.0</version> <configuration> <linkXref>true</linkXref> <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding> <minimumTokens>50</minimumTokens> <targetJdk>${maven.compiler.release}</targetJdk> </configuration> </plugin> <!-- spotbugs --> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <version>4.9.3.0</version> </plugin> <!-- changelog --> <plugin> <artifactId>maven-changelog-plugin</artifactId> <version>2.3</version> </plugin> <!-- javadoc --> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <reportSets> <reportSet> <reports> <report>javadoc</report> </reports> </reportSet> </reportSets> </plugin> <!-- Default project-info-reports --> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> <version>3.9.0</version> <reportSets> <reportSet> <reports> <report>ci-management</report> <report>dependencies</report> <report>dependency-info</report> <report>distribution-management</report> <report>issue-management</report> <report>licenses</report> <report>plugins</report> <report>scm</report> <report>summary</report> <report>team</report> </reports> </reportSet> </reportSets> </plugin> </plugins> </reporting> <profiles> <!-- Profile used for POM packaging projects --> <profile> <id>pompackaging</id> <build> <plugins> <!-- build a fake javadoc JAR to workaround Maven Central rules --> <plugin> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <id>javadoc</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <descriptors> <descriptor>src/assembly/javadoc.xml</descriptor> </descriptors> <attach>true</attach> </configuration> </execution> <execution> <id>source</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <descriptors> <descriptor>src/assembly/source.xml</descriptor> </descriptors> <attach>true</attach> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- Profile to deploy on Maven Central --> <profile> <id>maven-central</id> <activation> <property> <name>env.MAVEN_CENTRAL_TOKEN</name> </property> </activation> <properties> <maven.deploy.skip>true</maven.deploy.skip> </properties> <build> <plugins> <!-- Replaces the default Maven Deploy plugin --> <!-- publishes on https://central.sonatype.com --> <plugin> <groupId>org.sonatype.central</groupId> <artifactId>central-publishing-maven-plugin</artifactId> <extensions>true</extensions> <configuration> <publishingServerId>central</publishingServerId> <autoPublish>${env.AUTO_RELEASE_AFTER_CLOSE}</autoPublish> <centralSnapshotsUrl>https://central.sonatype.com/repository/maven-snapshots/</centralSnapshotsUrl> </configuration> </plugin> </plugins> </build> </profile> <!-- Profile for releasing the project --> <profile> <id>release</id> <build> <plugins> <!-- gpg to sign the released artifacts --> <plugin> <artifactId>maven-gpg-plugin</artifactId> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> <configuration> <updateReleaseInfo>true</updateReleaseInfo> <gpgArguments> <arg>--pinentry-mode</arg> <arg>loopback</arg> </gpgArguments> </configuration> </execution> </executions> </plugin> <!-- release --> <plugin> <artifactId>maven-release-plugin</artifactId> <configuration> <tagNameFormat>v@{project.version}</tagNameFormat> </configuration> <executions> <execution> <id>default</id> <goals> <goal>perform</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>