archetype-resources.pom.xml Maven / Gradle / Ivy
<?xml version="1.0" encoding="UTF-8"?> <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> <!-- ********************************************** --> <!-- ****************** BASE POM ****************** --> <!-- ********************************************** --> <parent> <groupId>com.bernardomg.maven</groupId> <artifactId>base-pom</artifactId> <version>1.5.6</version> </parent> <!-- ********************************************** --> <!-- **************** PROJECT INFO **************** --> <!-- ********************************************** --> <groupId>${groupId}</groupId> <artifactId>${artifactId}</artifactId> <version>${version}</version> <packaging>jar</packaging> <name>${projectName}</name> <description>${projectDescription}</description> <url>https://github.com/${repoUserId}/${artifactId}</url> <inceptionYear>${currentYear}</inceptionYear> <licenses> <license> <name>MIT License</name> <url>https://www.opensource.org/licenses/mit-license.php</url> <distribution>repo</distribution> </license> </licenses> <!-- ********************************************** --> <!-- ********* INFRASTRUCTURE AND SERVICES ******** --> <!-- ********************************************** --> <scm> <connection>scm:git:https://github.com/${repoUserId}/${artifactId}.git</connection> <developerConnection>scm:git:https://github.com/${repoUserId}/${artifactId}.git</developerConnection> <tag>head</tag> <url>https://github.com/${repoUserId}/${artifactId}</url> </scm> <issueManagement> <system>GitHub</system> <url>https://github.com/${repoUserId}/${artifactId}/issues</url> </issueManagement> <ciManagement> <system>Github</system> <url>https://github.com/${repoUserId}/${artifactId}/actions</url> <notifiers /> </ciManagement> <!-- ********************************************** --> <!-- ****************** PROFILES ****************** --> <!-- ********************************************** --> <profiles> <!-- ============================================== --> <!-- ============ DEPLOYMENT PROFILES ============= --> <!-- ============================================== --> <profile> <!-- Site deployment profile --> <!-- Sets the site repository to point to the releases repo --> <id>deployment-site</id> <activation> <!-- Active by default so the repository appears in the reports --> <activeByDefault>true</activeByDefault> </activation> <distributionManagement> <site> <id>site</id> <name>Project Documentation Site</name> <!-- The URL should be set externally --> <url>${site.url}</url> </site> </distributionManagement> </profile> <profile> <!-- Github deployment profile. --> <id>deployment-github</id> <distributionManagement> <repository> <!-- Github repository --> <id>github</id> <name>GitHub Packages</name> <url>https://maven.pkg.github.com/${repoUserId}/${artifactId}</url> </repository> </distributionManagement> </profile> <profile> <!-- OSSRH deployment profile. --> <id>deployment-ossrh</id> <distributionManagement> <repository> <!-- OSSRH repository --> <id>ossrh</id> <name>Central Repository OSSRH</name> <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> <snapshotRepository> <!-- OSSRH snapshots repository --> <id>ossrh</id> <url>https://oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement> <build> <plugins> <plugin> <!-- GPG --> <!-- Signs the artifacts --> <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> </execution> </executions> <configuration> <!-- Prevent gpg from using pinentry programs --> <gpgArguments> <arg>--pinentry-mode</arg> <arg>loopback</arg> </gpgArguments> </configuration> </plugin> </plugins> </build> </profile> </profiles> <!-- ********************************************** --> <!-- *********** ORGANIZATION AND MEMBERS ********* --> <!-- ********************************************** --> <organization> <name>${developerName}</name> <url>${developerUrl}</url> </organization> <developers> <developer> <id>${developerId}</id> <name>${developerName}</name> <email>${developerMail}</email> <url>${developerUrl}</url> <organization>${developerName}</organization> <organizationUrl>${developerUrl}</organizationUrl> <roles> <role>Developer</role> </roles> <timezone>+1</timezone> <properties /> </developer> </developers> <!-- ********************************************** --> <!-- **************** PROPERTIES ****************** --> <!-- ********************************************** --> <properties> <!-- ============================================== --> <!-- ================ JAVA VERSION ================ --> <!-- ============================================== --> <java.version>11</java.version> <!-- ============================================== --> <!-- =============== MANIFEST DATA ================ --> <!-- ============================================== --> <manifest.name>${packageInPathFormat}</manifest.name> <!-- ============================================== --> <!-- =========== DEPENDENCIES VERSIONS ============ --> <!-- ============================================== --> <junit.jupiter.version>5.10.1</junit.jupiter.version> <mockito.version>5.8.0</mockito.version> <log4j.version>2.20.0</log4j.version> <slf4j.version>2.0.9</slf4j.version> <!-- ============================================== --> <!-- ============ PLUGIN CONFIGURATION ============ --> <!-- ============================================== --> <!-- Checkstyle customized rules file --> <checkstyle.config.location>${project.basedir}/src/config/checkstyle/checkstyle-rules.xml</checkstyle.config.location> <!-- Excludes generated code for Checkstyle --> <checkstyle.excludes>**/generated/**/*</checkstyle.excludes> <!-- Exclusion patterns for SpotBugs --> <spotbugs.excludeFilterFile>${project.basedir}/src/config/spotbugs/spotbugs-exclude.xml</spotbugs.excludeFilterFile> <!-- ============================================== --> <!-- ================= MAVEN SITE ================= --> <!-- ============================================== --> <site.skin.version>2.3.2</site.skin.version> <mavenURL>https://mvnrepository.com/artifact/${project.groupId}/${project.artifactId}</mavenURL> <githubArtifactURL><![CDATA[https://github.com/${repoUserId}?tab=packages&repo_name={project.artifactId}]]></githubArtifactURL> </properties> <!-- ********************************************** --> <!-- *************** DEPENDENCIES ***************** --> <!-- ********************************************** --> <dependencyManagement> <dependencies> <dependency> <!-- JUnit BOM --> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>${junit.jupiter.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- ============================================== --> <!-- ================== LOGGERS =================== --> <!-- ============================================== --> <dependency> <!-- SLF4J API --> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <!-- Log4j SLF4J Bridge --> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j2-impl</artifactId> <version>${log4j.version}</version> <scope>provided</scope> </dependency> <dependency> <!-- Log4j core --> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${log4j.version}</version> <scope>provided</scope> </dependency> <!-- ============================================== --> <!-- ======= TEST ENVIRONMENT DEPENDENCIES ======== --> <!-- ============================================== --> <dependency> <!-- JUnit Jupiter Engine --> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>test</scope> </dependency> <dependency> <!-- Mockito --> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> </dependencies> <!-- ********************************************** --> <!-- ******************* BUILD ******************** --> <!-- ********************************************** --> <build> <defaultGoal>clean package install</defaultGoal> <plugins> <plugin> <!-- Changes --> <!-- Takes care of the changes log --> <!-- It is set to also validate the changes log file --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changes-plugin</artifactId> <executions> <!-- Changes plugin is bound to the pre-site phase --> <execution> <id>check-changes</id> <phase>pre-site</phase> <goals> <goal>changes-check</goal> </goals> </execution> <execution> <id>validate-changes</id> <phase>pre-site</phase> <goals> <goal>changes-validate</goal> </goals> <configuration> <failOnError>true</failOnError> </configuration> </execution> </executions> </plugin> <plugin> <!-- Site --> <!-- Generates the Maven Site --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <dependencies> <dependency> <!-- Docs Maven Skin --> <groupId>com.bernardomg.maven.skins</groupId> <artifactId>docs-maven-skin</artifactId> <version>${site.skin.version}</version> </dependency> </dependencies> </plugin> </plugins> </build> <!-- ********************************************** --> <!-- ****************** REPORTS ******************* --> <!-- ********************************************** --> <reporting> <plugins> <plugin> <!-- Javadoc --> <!-- Generates the javadocs --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <sourceFileExcludes> <!-- Excludes generated code --> <exclude>**/generated/**/*</exclude> </sourceFileExcludes> </configuration> </plugin> <plugin> <!-- PMD --> <!-- Checks that the code complies with a series of code quality rules --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <configuration> <rulesets> <!-- The customized rules file --> <ruleset>${project.basedir}/src/config/pmd/pmd-rules.xml</ruleset> </rulesets> <excludes> <!-- Excludes generated code --> <exclude>**/generated/**/*</exclude> </excludes> </configuration> </plugin> </plugins> </reporting> </project>
© 2015 - 2024 Weber Informatics LLC | Privacy Policy