codingstyle
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>edu.hm.hafner</groupId> <artifactId>codingstyle</artifactId> <version>5.11.0</version> </dependency>
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>edu.hm.hafner</groupId> <artifactId>codingstyle</artifactId> <version>5.11.0</version> <packaging>jar</packaging> <name>Java coding style</name> <description>Provides all necessary resources for a Java project to enforce the coding style that I am using in my lectures about software development at Munich University of Applied Sciences and in all of my open-source projects. It configures several static analysis tools for Maven and IntelliJ. Moreover, it provides some sample classes that already use this style guide. These classes can be used as such but are not required in this project. These classes also use some additional libraries that are included using the Maven dependency mechanism. If the sample classes are deleted then the dependencies can be safely deleted, too.</description> <url>https://cs.hm.edu/~hafner</url> <licenses> <license> <name>MIT license</name> <comments>All source code is copyrighted by Ullrich Hafner and licensed under the MIT license.</comments> </license> <license> <name>Creative Commons Attribution 4.0 International License</name> <comments>All documents are licensed under a Creative Commons Attribution 4.0 International License</comments> </license> </licenses> <developers> <developer> <id>uhafner</id> <name>Ullrich Hafner</name> <email>ullrich.hafner@hm.edu</email> <url>https://cs.hm.edu/~hafner</url> <organization>Munich University of Applied Sciences</organization> <organizationUrl>https://www.hm.edu/en/index.en.html</organizationUrl> </developer> </developers> <scm> <connection>scm:git:https://github.com/uhafner/codingstyle.git</connection> <developerConnection>scm:git:git@github.com:uhafner/codingstyle.git</developerConnection> <tag>v5.11.0</tag> <url>https://github.com/uhafner/codingstyle</url> </scm> <distributionManagement> <repository> <id>ossrh</id> <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> <snapshotRepository> <id>ossrh</id> <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement> <properties> <source.encoding>UTF-8</source.encoding> <project.build.sourceEncoding>${source.encoding}</project.build.sourceEncoding> <java.version>17</java.version> <module.name>${project.groupId}.codingstyle</module.name> <pmd.skip>false</pmd.skip> <!-- Project Dependencies Configuration --> <spotbugs.version>4.9.3</spotbugs.version> <commons.lang.version>3.17.0</commons.lang.version> <commons.io.version>2.18.0</commons.io.version> <byte-buddy.version>1.17.5</byte-buddy.version> <slf4j.version>2.0.17</slf4j.version> <!-- Project Test Dependencies Configuration --> <equalsverifier.version>3.19.3</equalsverifier.version> <junit.version>5.12.1</junit.version> <mockito.version>5.17.0</mockito.version> <assertj.version>3.27.3</assertj.version> <archunit.version>1.4.0</archunit.version> <!-- Maven Plug-ins Configuration --> <maven-deploy-plugin.version>3.1.3</maven-deploy-plugin.version> <maven-site-plugin.version>3.20.0</maven-site-plugin.version> <maven-install-plugin.version>3.1.3</maven-install-plugin.version> <maven-clean-plugin.version>3.4.0</maven-clean-plugin.version> <maven-compiler-plugin.version>3.14.0</maven-compiler-plugin.version> <maven-javadoc-plugin.version>3.11.2</maven-javadoc-plugin.version> <maven-source-plugin.version>3.3.1</maven-source-plugin.version> <maven-resources-plugin.version>3.3.1</maven-resources-plugin.version> <maven-surefire-plugin.version>3.5.2</maven-surefire-plugin.version> <maven-failsafe-plugin.version>3.5.2</maven-failsafe-plugin.version> <maven-jar-plugin.version>3.4.2</maven-jar-plugin.version> <maven-pmd-plugin.version>3.26.0</maven-pmd-plugin.version> <pmd.version>7.12.0</pmd.version> <pmd.metrics.version>7.12.0-metrics</pmd.metrics.version> <maven-checkstyle-plugin.version>3.6.0</maven-checkstyle-plugin.version> <checkstyle.version>10.23.0</checkstyle.version> <spotbugs-maven-plugin.version>4.9.3.0</spotbugs-maven-plugin.version> <findsecbugs-plugin.version>1.13.0</findsecbugs-plugin.version> <jacoco-maven-plugin.version>0.8.13</jacoco-maven-plugin.version> <maven-pitest-plugin.version>1.19.0</maven-pitest-plugin.version> <pitest-junit5-plugin.version>1.2.2</pitest-junit5-plugin.version> <error-prone.version>2.37.0</error-prone.version> <nullaway.version>0.12.6</nullaway.version> <revapi-maven-plugin.version>0.15.0</revapi-maven-plugin.version> <revapi-java.version>0.28.1</revapi-java.version> <revapi-reporter-json-version>0.5.0</revapi-reporter-json-version> <nexus-staging-maven-plugin.version>1.7.0</nexus-staging-maven-plugin.version> <maven-gpg-plugin.version>3.2.7</maven-gpg-plugin.version> <maven-release-plugin.version>3.1.1</maven-release-plugin.version> <assertj-assertions-generator-maven-plugin.version>2.2.0</assertj-assertions-generator-maven-plugin.version> <maven-enforcer-plugin.version>3.5.0</maven-enforcer-plugin.version> <maven-dependency-plugin.version>3.8.1</maven-dependency-plugin.version> <depgraph-maven-plugin.version>4.0.3</depgraph-maven-plugin.version> <sortpom-maven-plugin.version>4.0.0</sortpom-maven-plugin.version> <git-commit-id-maven-plugin.version>9.0.1</git-commit-id-maven-plugin.version> <dependency-check-maven.version>12.1.0</dependency-check-maven.version> <!-- OpenRewrite versions --> <rewrite-maven-plugin.version>6.4.0</rewrite-maven-plugin.version> <rewrite-testing-frameworks.version>3.5.1</rewrite-testing-frameworks.version> <rewrite-static-analysis.version>2.5.1</rewrite-static-analysis.version> <rewrite-migrate-java.version>3.5.0</rewrite-migrate-java.version> <rewrite-recommendations.version>1.15.0</rewrite-recommendations.version> <!-- Maven Surefire ArgLine --> <argLine>-Djava.util.logging.config.file=logging.properties</argLine> </properties> <dependencyManagement> <dependencies> <!-- Production Dependencies --> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <version>${byte-buddy.version}</version> </dependency> <!-- Test Dependencies --> <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>${junit.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-bom</artifactId> <version>${mockito.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-annotations</artifactId> <version>${spotbugs.version}</version> <exclusions> <exclusion> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_annotations</artifactId> <version>${error-prone.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${commons.lang.version}</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons.io.version}</version> </dependency> <!-- Test Dependencies --> <dependency> <groupId>nl.jqno.equalsverifier</groupId> <artifactId>equalsverifier</artifactId> <version>${equalsverifier.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <version>${assertj.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.tngtech.archunit</groupId> <artifactId>archunit-junit5</artifactId> <version>${archunit.version}</version> <scope>test</scope> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> <exclusion> <artifactId>junit-platform-engine</artifactId> <groupId>org.junit.platform</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>${slf4j.version}</version> <scope>test</scope> </dependency> <!-- Test Dependencies for architecture test of JSR 305 annotations usage --> <dependency> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> <version>3.0.2</version> <scope>test</scope> </dependency> </dependencies> <build> <resources> <resource> <filtering>true</filtering> <directory>etc</directory> </resource> <resource> <filtering>false</filtering> <directory>src/main/resources</directory> </resource> </resources> <pluginManagement> <plugins> <plugin> <groupId>com.github.ekryd.sortpom</groupId> <artifactId>sortpom-maven-plugin</artifactId> <version>${sortpom-maven-plugin.version}</version> <configuration> <expandEmptyElements>false</expandEmptyElements> <spaceBeforeCloseEmptyElement>true</spaceBeforeCloseEmptyElement> <createBackupFile>false</createBackupFile> <sortPlugins>groupId,artifactId</sortPlugins> <sortExecutions>true</sortExecutions> </configuration> </plugin> <plugin> <groupId>com.github.ferstl</groupId> <artifactId>depgraph-maven-plugin</artifactId> <version>${depgraph-maven-plugin.version}</version> </plugin> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <version>${spotbugs-maven-plugin.version}</version> </plugin> <plugin> <groupId>io.github.git-commit-id</groupId> <artifactId>git-commit-id-maven-plugin</artifactId> <version>${git-commit-id-maven-plugin.version}</version> <configuration> <generateGitPropertiesFile>true</generateGitPropertiesFile> <generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename> <includeOnlyProperties> <includeOnlyProperty>^git.build.(time|version)$</includeOnlyProperty> <includeOnlyProperty>^git.commit.id.(abbrev|full)$</includeOnlyProperty> </includeOnlyProperties> <commitIdGenerationMode>full</commitIdGenerationMode> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>${maven-checkstyle-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven-compiler-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>${maven-dependency-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>${maven-enforcer-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>${maven-failsafe-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>${maven-gpg-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>${maven-jar-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${maven-javadoc-plugin.version}</version> <configuration> <source>${java.version}</source> <doclint>all,-missing</doclint> <quiet>true</quiet> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>${maven-pmd-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>${maven-release-plugin.version}</version> <configuration> <autoVersionSubmodules>true</autoVersionSubmodules> <useReleaseProfile>false</useReleaseProfile> <releaseProfiles>release</releaseProfiles> <goals>deploy</goals> <tagNameFormat>v@{project.version}</tagNameFormat> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>${maven-resources-plugin.version}</version> <configuration> <encoding>${source.encoding}</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${maven-source-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${maven-surefire-plugin.version}</version> </plugin> <plugin> <groupId>org.assertj</groupId> <artifactId>assertj-assertions-generator-maven-plugin</artifactId> <version>${assertj-assertions-generator-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacoco-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.openrewrite.maven</groupId> <artifactId>rewrite-maven-plugin</artifactId> <version>${rewrite-maven-plugin.version}</version> <configuration> <exclusions> <exclusion>**/docker/**</exclusion> </exclusions> <activeRecipes> <recipe>org.openrewrite.maven.BestPractices</recipe> <recipe>org.openrewrite.maven.RemoveRedundantDependencyVersions</recipe> <recipe>org.openrewrite.staticanalysis.AddSerialAnnotationToSerialVersionUID</recipe> <recipe>org.openrewrite.staticanalysis.MissingOverrideAnnotation</recipe> <recipe>org.openrewrite.staticanalysis.CodeCleanup</recipe> <recipe>org.openrewrite.staticanalysis.CommonStaticAnalysis</recipe> <recipe>org.openrewrite.staticanalysis.RemoveExtraSemicolons</recipe> <recipe>org.openrewrite.java.migrate.UpgradeToJava17</recipe> <recipe>org.openrewrite.java.migrate.util.SequencedCollection</recipe> <recipe>org.openrewrite.java.migrate.lang.var.UseVarForObject</recipe> <recipe>org.openrewrite.java.migrate.net.JavaNetAPIs</recipe> <recipe>org.openrewrite.java.migrate.util.JavaUtilAPIs</recipe> <recipe>org.openrewrite.java.migrate.lang.StringRulesRecipes</recipe> <recipe>org.openrewrite.java.format.RemoveTrailingWhitespace</recipe> <recipe>org.openrewrite.java.format.BlankLines</recipe> <recipe>org.openrewrite.java.format.EmptyNewlineAtEndOfFile</recipe> <recipe>org.openrewrite.java.testing.assertj.SimplifyChainedAssertJAssertions</recipe> </activeRecipes> </configuration> <dependencies> <dependency> <groupId>org.openrewrite.recipe</groupId> <artifactId>rewrite-testing-frameworks</artifactId> <version>${rewrite-testing-frameworks.version}</version> </dependency> <dependency> <groupId>org.openrewrite.recipe</groupId> <artifactId>rewrite-static-analysis</artifactId> <version>${rewrite-static-analysis.version}</version> </dependency> <dependency> <groupId>org.openrewrite.recipe</groupId> <artifactId>rewrite-migrate-java</artifactId> <version>${rewrite-migrate-java.version}</version> </dependency> <dependency> <groupId>org.openrewrite.recipe</groupId> <artifactId>rewrite-recommendations</artifactId> <version>${rewrite-recommendations.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>${dependency-check-maven.version}</version> </plugin> <plugin> <groupId>org.pitest</groupId> <artifactId>pitest-maven</artifactId> <version>${maven-pitest-plugin.version}</version> <configuration> <outputFormats>XML,HTML</outputFormats> <excludedTestClasses> <param>*ITest</param> </excludedTestClasses> <excludedMethods> <param>*equals</param> <param>*hashCode</param> <param>*toString</param> </excludedMethods> </configuration> <dependencies> <dependency> <groupId>org.pitest</groupId> <artifactId>pitest-junit5-plugin</artifactId> <version>${pitest-junit5-plugin.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.revapi</groupId> <artifactId>revapi-maven-plugin</artifactId> <version>${revapi-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>${nexus-staging-maven-plugin.version}</version> <extensions>true</extensions> <configuration> <serverId>ossrh</serverId> <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> <stagingProgressTimeoutMinutes>15</stagingProgressTimeoutMinutes> </configuration> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <configuration> <xmlOutput>true</xmlOutput> <threshold>Low</threshold> <failThreshold>Low</failThreshold> <effort>Max</effort> <relaxed>false</relaxed> <fork>true</fork> <excludeFilterFile>etc/spotbugs-exclusion-filter.xml</excludeFilterFile> <includeTests>true</includeTests> <plugins> <plugin> <groupId>com.h3xstream.findsecbugs</groupId> <artifactId>findsecbugs-plugin</artifactId> <version>${findsecbugs-plugin.version}</version> </plugin> </plugins> </configuration> <dependencies> <dependency> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs</artifactId> <version>${spotbugs.version}</version> </dependency> </dependencies> <executions> <execution> <id>run-spotbugs</id> <goals> <goal>check</goal> </goals> <phase>verify</phase> </execution> </executions> </plugin> <plugin> <groupId>io.github.git-commit-id</groupId> <artifactId>git-commit-id-maven-plugin</artifactId> <executions> <execution> <id>get-the-git-infos</id> <goals> <goal>revision</goal> </goals> <phase>initialize</phase> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <configuration> <linkXRef>false</linkXRef> <excludeGeneratedSources>true</excludeGeneratedSources> <violationSeverity>warning</violationSeverity> </configuration> <dependencies> <dependency> <groupId>com.puppycrawl.tools</groupId> <artifactId>checkstyle</artifactId> <version>${checkstyle.version}</version> </dependency> </dependencies> <executions> <execution> <id>run-checkstyle-java</id> <goals> <goal>check</goal> </goals> <phase>verify</phase> <configuration> <excludes>**/module-info.java</excludes> <includeTestSourceDirectory>false</includeTestSourceDirectory> <configLocation>etc/checkstyle-java-configuration.xml</configLocation> <outputFile>${project.build.directory}/checkstyle-java/checkstyle-result.xml</outputFile> </configuration> </execution> <execution> <id>run-checkstyle-tests</id> <goals> <goal>check</goal> </goals> <phase>verify</phase> <configuration> <excludes>**/*Assert*.java,**/*_jmh*,**/module-info.java</excludes> <includeTestSourceDirectory>true</includeTestSourceDirectory> <configLocation>etc/checkstyle-tests-configuration.xml</configLocation> <outputFile>${project.build.directory}/checkstyle-tests/checkstyle-result.xml</outputFile> <sourceDirectories /> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <release>${java.version}</release> <annotationProcessorPaths> <path> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_core</artifactId> <version>${error-prone.version}</version> </path> <path> <groupId>com.uber.nullaway</groupId> <artifactId>nullaway</artifactId> <version>${nullaway.version}</version> </path> <path> <groupId>org.mockito</groupId> <artifactId>mockito-errorprone</artifactId> <version>${mockito.version}</version> </path> </annotationProcessorPaths> <?SORTPOM IGNORE?> <compilerArgs> <arg>-Xlint:-varargs</arg> <arg>--should-stop=ifError=FLOW</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg> <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg> <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg> <!-- XXX: The awkward comment formatting used here ensures that the plugin arguments are separated only by spaces. Once we drop support for JDK 8 we can clean this up; later versions do properly handle newline separators. See https://github.com/google/error-prone/pull/1115. --> <arg>-Xplugin:ErrorProne <!-- ErrorProne configuration: --> -XepExcludedPaths:.*/generated-test-sources/.* <!-- ErrorProne configuration: --> -XepAllDisabledChecksAsWarnings <!-- ErrorProne configuration: --> -XepIgnoreUnknownCheckNames <!-- ErrorProne configuration: --> -XepDisableWarningsInGeneratedCode <!-- ErrorProne configuration: --> -XepAllErrorsAsWarnings <!-- NullAway configuration: --> -Xep:NullAway:WARN <!-- NullAway configuration: --> -XepOpt:NullAway:AnnotatedPackages=edu.hm.hafner <!-- Disabled ErrorProne rule: --> -Xep:PreferredInterfaceType:OFF <!-- Disabled ErrorProne rule: --> -Xep:YodaCondition:OFF <!-- Disabled ErrorProne rule: --> -Xep:ReturnMissingNullable:OFF <!-- Disabled ErrorProne rule: --> -Xep:CannotMockFinalMethod:OFF <!-- Disabled ErrorProne rule: --> -Xep:Java8ApiChecker:OFF <!-- Disabled ErrorProne rule: --> -Xep:ImmutableMemberCollection:OFF <!-- Disabled ErrorProne rule: --> -Xep:PreferJavaTimeOverload:OFF <!-- Disabled ErrorProne rule: --> -Xep:EqualsGetClass:OFF <!-- Disabled ErrorProne rule: --> -Xep:AndroidJdkLibsChecker:OFF <!-- Disabled ErrorProne rule: --> -Xep:Java7ApiChecker:OFF <!-- Disabled ErrorProne rule: --> -Xep:Var:OFF <!-- Disabled ErrorProne rule: --> -Xep:PrivateConstructorForUtilityClass:OFF <!-- Disabled ErrorProne rule: --> -Xep:MethodCanBeStatic:OFF <!-- Disabled ErrorProne rule: --> -Xep:WildcardImport:OFF <!-- Disabled ErrorProne rule: --> -Xep:ThrowsUncheckedException:OFF <!-- Disabled ErrorProne rule: --> -Xep:UnusedMethod:OFF <!-- Disabled ErrorProne rule: --> -Xep:BooleanParameter:OFF <!-- Disabled ErrorProne rule: --> -Xep:UnnecessaryFinal:OFF <!-- Disabled ErrorProne rule: --> -Xep:NullableDereference:OFF </arg> <!-- The Error Prone plugin makes certain assumptions about the state of the AST at the moment it is invoked. Those assumptions are met when using the `simple` compile policy. This flag may be dropped after resolution of https://bugs.openjdk.java.net/browse/JDK-8155674. --> <arg>-XDcompilePolicy=simple</arg> </compilerArgs> <?SORTPOM RESUME?> <fork>true</fork> <showWarnings>true</showWarnings> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-java</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireJavaVersion> <version>${java.version}</version> </requireJavaVersion> </rules> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <configuration> <includes> <include>**/*ITest.*</include> </includes> <reuseForks>false</reuseForks> </configuration> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifestEntries> <Built-By>Ullrich Hafner</Built-By> <Url>${project.scm.url}</Url> <Automatic-Module-Name>${module.name}</Automatic-Module-Name> </manifestEntries> </archive> </configuration> <executions> <execution> <goals> <goal>test-jar</goal> </goals> <configuration> <includes> <include>**/assertj/*</include> <include>**/ResourceTest*</include> <include>**/SerializableTest*</include> <include>**/ArchitectureRules$*</include> <include>**/ArchitectureRules.*</include> </includes> </configuration> </execution> <execution> <id>config</id> <goals> <goal>jar</goal> </goals> <phase>package</phase> <configuration> <classifier>config</classifier> <includes> <include>**/checkstyle*-configuration.xml</include> <include>**/pmd*-configuration.xml</include> <include>**/spotbugs-exclusion-filter.xml</include> </includes> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <configuration> <linkXRef>false</linkXRef> <targetJdk>${java.version}</targetJdk> <skip>true</skip> </configuration> <dependencies> <dependency> <groupId>edu.hm.hafner</groupId> <artifactId>pmd-core</artifactId> <version>${pmd.metrics.version}</version> </dependency> <dependency> <groupId>edu.hm.hafner</groupId> <artifactId>pmd-java</artifactId> <version>${pmd.metrics.version}</version> </dependency> <dependency> <groupId>net.sourceforge.pmd</groupId> <artifactId>pmd-javascript</artifactId> <version>${pmd.version}</version> </dependency> </dependencies> <executions> <execution> <id>run-pmd-java</id> <goals> <goal>pmd</goal> <goal>check</goal> <goal>cpd</goal> </goals> <phase>verify</phase> <configuration> <targetDirectory>${project.build.directory}/pmd-java</targetDirectory> <rulesets> <ruleset>etc/pmd-java-configuration.xml</ruleset> </rulesets> <includeTests>false</includeTests> <minimumTokens>50</minimumTokens> <skip>${pmd.skip}</skip> </configuration> </execution> <execution> <id>run-pmd-tests</id> <goals> <goal>pmd</goal> <goal>check</goal> <goal>cpd</goal> </goals> <phase>verify</phase> <configuration> <targetDirectory>${project.build.directory}/pmd-tests</targetDirectory> <rulesets> <ruleset>etc/pmd-tests-configuration.xml</ruleset> </rulesets> <includeTests>true</includeTests> <minimumTokens>100</minimumTokens> <excludeRoots> <excludeRoot>src/main/java</excludeRoot> <excludeRoot>${project.build.directory}/generated-test-sources/test-annotations</excludeRoot> <excludeRoot>${project.build.directory}/generated-test-sources/assertj-assertions</excludeRoot> </excludeRoots> <skip>${pmd.skip}</skip> </configuration> </execution> <execution> <id>run-pmd-metrics</id> <goals> <goal>pmd</goal> </goals> <phase>verify</phase> <configuration> <targetDirectory>${project.build.directory}/metrics</targetDirectory> <rulesets> <ruleset>/category/java/metric.xml</ruleset> </rulesets> <format>net.sourceforge.pmd.renderers.MetricsRenderer</format> <includeTests>false</includeTests> <skip>${pmd.skip}</skip> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <goals> <goal>properties</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <trimStackTrace>false</trimStackTrace> <!-- SUREFIRE-1798 --> <excludes> <exclude>**/*ITest.*</exclude> <exclude>**/*ArchitectureRulesTest$*</exclude> </excludes> <argLine>@{argLine} -javaagent:${org.mockito:mockito-core:jar}</argLine> </configuration> </plugin> <plugin> <groupId>org.assertj</groupId> <artifactId>assertj-assertions-generator-maven-plugin</artifactId> <configuration> <quiet>true</quiet> <cleanTargetDir>true</cleanTargetDir> <hierarchical>false</hierarchical> <generateBddAssertions>false</generateBddAssertions> <generateJUnitSoftAssertions>false</generateJUnitSoftAssertions> <generateSoftAssertions>true</generateSoftAssertions> <templates> <templatesDirectory>${project.basedir}/etc/assertj-templates/</templatesDirectory> <assertionsEntryPointClass>assertions_entry_point_class_template.txt</assertionsEntryPointClass> <softEntryPointAssertionClass>soft_assertions_entry_point_class_template.txt</softEntryPointAssertionClass> <objectAssertion>has_assertion_template.txt</objectAssertion> <assertionClass>assertion_class_template.txt</assertionClass> </templates> <packages> <package>edu.hm.hafner.util</package> </packages> <entryPointClassPackage>edu.hm.hafner.util.assertions</entryPointClassPackage> <excludes> <exclude>.*Test</exclude> <exclude>.*Condition</exclude> <exclude>.*LineRangeList</exclude> </excludes> </configuration> <executions> <execution> <goals> <goal>generate-assertions</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <executions> <execution> <goals> <goal>prepare-agent</goal> </goals> <phase>process-test-classes</phase> </execution> <execution> <id>report</id> <goals> <goal>report</goal> </goals> <phase>verify</phase> </execution> </executions> </plugin> <plugin> <groupId>org.revapi</groupId> <artifactId>revapi-maven-plugin</artifactId> <configuration> <versionFormat>[-0-9.]*</versionFormat> <failBuildOnProblemsFound>true</failBuildOnProblemsFound> <checkDependencies>true</checkDependencies> <failOnUnresolvedArtifacts>true</failOnUnresolvedArtifacts> <pipelineConfiguration> <transformBlocks> <block> <item>manually-vetted</item> <item>revapi.versions</item> </block> </transformBlocks> </pipelineConfiguration> <analysisConfiguration> <revapi.differences id="manually-vetted"> <attachments> <vetted>ok</vetted> </attachments> <differences> <item> <ignore>true</ignore> <regex>true</regex> <code>java.annotation.removed</code> <annotation>@edu.umd.cs.findbugs.annotations.SuppressFBWarnings.*</annotation> <justification>SpotBugs Annotations are not relevant in API</justification> </item> </differences> </revapi.differences> <revapi.versions> <enabled>true</enabled> <strictSemver>false</strictSemver> <onAllowed> <criticality>documented</criticality> <justification>Allowed by the rules of semantic versioning.</justification> </onAllowed> </revapi.versions> <revapi.reporter.json> <minSeverity>NON_BREAKING</minSeverity> <minCriticality>documented</minCriticality> <output>${project.build.directory}/revapi-result.json</output> <indent>true</indent> <append>false</append> <keepEmptyFile>true</keepEmptyFile> </revapi.reporter.json> </analysisConfiguration> </configuration> <dependencies> <dependency> <groupId>org.revapi</groupId> <artifactId>revapi-java</artifactId> <version>${revapi-java.version}</version> </dependency> <dependency> <groupId>org.revapi</groupId> <artifactId>revapi-reporter-json</artifactId> <version>${revapi-reporter-json-version}</version> </dependency> </dependencies> <executions> <execution> <id>run-revapi</id> <goals> <goal>check</goal> </goals> <phase>verify</phase> </execution> </executions> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <extensions>true</extensions> </plugin> </plugins> </build> <profiles> <profile> <id>skip</id> <properties> <checkstyle.skip>true</checkstyle.skip> <gpg.skip>true</gpg.skip> <maven.javadoc.skip>true</maven.javadoc.skip> <pmd.skip>true</pmd.skip> <revapi.skip>true</revapi.skip> <skipITs>true</skipITs> <skipTests>true</skipTests> <spotbugs.skip>true</spotbugs.skip> </properties> </profile> <profile> <id>ci</id> <properties> <maven.test.failure.ignore>true</maven.test.failure.ignore> <checkstyle.failOnViolation>false</checkstyle.failOnViolation> <pmd.failOnViolation>false</pmd.failOnViolation> <spotbugs.failOnError>false</spotbugs.failOnError> <gpg.skip>true</gpg.skip> </properties> </profile> <profile> <id>pit</id> <build> <plugins> <plugin> <groupId>org.pitest</groupId> <artifactId>pitest-maven</artifactId> <executions> <execution> <id>test</id> <goals> <goal>mutationCoverage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>owasp</id> <build> <plugins> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <configuration> <nvdApiKeyEnvironmentVariable>NVD_API_KEY</nvdApiKeyEnvironmentVariable> <format>JSON</format> </configuration> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>depgraph</id> <build> <plugins> <plugin> <groupId>com.github.ferstl</groupId> <artifactId>depgraph-maven-plugin</artifactId> <configuration> <graphFormat>puml</graphFormat> <classpathScope>compile</classpathScope> <showClassifiers>true</showClassifiers> <showVersions>true</showVersions> <showConflicts>true</showConflicts> <showDuplicates>true</showDuplicates> <outputFileName>dependency-graph</outputFileName> <outputDirectory>${project.basedir}/doc</outputDirectory> </configuration> <executions> <execution> <goals> <goal>graph</goal> </goals> <phase>verify</phase> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>release</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <executions> <execution> <id>sign-artifacts</id> <goals> <goal>sign</goal> </goals> <phase>verify</phase> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>