<distributionManagement/>
<properties>
- <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
-
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.showDeprecation>true</maven.compiler.showDeprecation>
<maven.compiler.showWarnings>true</maven.compiler.showWarnings>
+ <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<locale>en</locale>
<site.locales>${locale}</site.locales>
+ <javadoc.locale>${locale}</javadoc.locale>
+ <spotbugs.jvmArgs>-Duser.language=${locale}</spotbugs.jvmArgs>
+
+ <!-- Walk around: JDK 11 javadoc + Maven -->
+ <detectJavaApiLink>false</detectJavaApiLink>
+
+ <surefire-plugin.version>3.0.0-M3</surefire-plugin.version>
+ <jacoco-plugin.version>0.8.3</jacoco-plugin.version>
<checkstyle.config.location>${project.mainconf}/checks.xml</checkstyle.config.location>
<checkstyle.enable.rss>false</checkstyle.enable.rss>
+ <pmd-plugin.version>3.12.0</pmd-plugin.version>
+ <pmd.analysisCache>true</pmd.analysisCache>
+
+ <spotbugs-plugin.version>3.1.11</spotbugs-plugin.version>
+ <spotbugs.effort>Max</spotbugs.effort>
+ <spotbugs.threshold>Low</spotbugs.threshold>
+ <!-- for Jenkins -->
+ <spotbugs.xmlOutput>true</spotbugs.xmlOutput>
+
</properties>
<dependencyManagement/>
<pluginRepositories/>
<build>
+
<pluginManagement/>
<plugins>
+
+ <!-- clean lifecycle -->
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>3.1.0</version>
+ <configuration>
+ <filesets>
+ <fileset>
+ <directory>${project.basedir}</directory>
+ <includes>
+ <include>**/*~</include>
+ <include>**/*.swp</include>
+ <include>**/*.DS_Store</include>
+ <include>**/._*</include>
+ <include>**/__MACOSX</include>
+ <include>**/Thumbs.db</include>
+ <include>**/desktop.ini</include>
+ <include>**/core</include>
+ <include>**/hs_err_pid*</include>
+ </includes>
+ </fileset>
+ </filesets>
+ </configuration>
+ </plugin>
+
+
+ <!-- default lifecycle -->
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-install-plugin</artifactId>
- <version>2.5.2</version>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-clean-plugin</artifactId>
- <version>3.0.0</version>
- <configuration>
- <filesets>
- <fileset>
- <directory>${project.basedir}</directory>
- <includes>
- <include>**/*~</include>
- <include>**/*.swp</include>
- <include>**/*.DS_Store</include>
- <include>**/._*</include>
- <include>**/__MACOSX</include>
- <include>**/Thumbs.db</include>
- <include>**/desktop.ini</include>
- <include>**/core</include>
- <include>**/hs_err_pid*</include>
- </includes>
- </fileset>
- </filesets>
- </configuration>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.5.1</version>
+ <version>3.8.0</version>
<configuration>
<source>1.8</source> <!-- for NetBeans IDE -->
<target>1.8</target>
- <showDeprecation>true</showDeprecation>
- <showWarnings>true</showWarnings>
<compilerArguments>
<Xlint/>
</compilerArguments>
+ <showWarnings>true</showWarnings>
+ <showDeprecation>true</showDeprecation>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>3.0.0</version>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire-plugin.version}</version>
<configuration>
- <archive>
- <manifestEntries>
- <Built-By>${project.organization.name}</Built-By>
- </manifestEntries>
- </archive>
+ <enableAssertions>true</enableAssertions>
</configuration>
</plugin>
<plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>default-prepare-agent</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>default-report</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>default-check</id>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <rule implementation="org.jacoco.maven.RuleConfiguration">
+ <element>BUNDLE</element>
+ <limits>
+ <limit implementation="org.jacoco.report.check.Limit">
+ <counter>COMPLEXITY</counter>
+ <value>COVEREDRATIO</value>
+ <minimum>0.0</minimum>
+ </limit>
+ </limits>
+ </rule>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.6</version>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.1.1</version>
<configuration>
- <archiveBaseDirectory>.</archiveBaseDirectory>
- <descriptors>
- <descriptor>src/main/assembly/descriptor.xml</descriptor>
- </descriptors>
+ <archive>
+ <manifest>
+ <addDefaultImplementationEntries>
+ true
+ </addDefaultImplementationEntries>
+ </manifest>
+ <manifestEntries>
+ <Built-By>${project.organization.name}</Built-By>
+ </manifestEntries>
+ </archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
- <version>3.0.0</version>
+ <version>3.0.1</version>
<configuration>
<includePom>true</includePom>
<archive>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>3.0.0</version>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>3.0.0-M1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.19.1</version>
- <configuration>
- <skipTests>false</skipTests>
- <enableAssertions>true</enableAssertions>
- </configuration>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>3.0.0-M1</version>
</plugin>
+
+ <!-- site lifecycle -->
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
</configuration>
</plugin>
+
+ <!-- goals without lifecycle -->
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>3.1.1</version>
+ <configuration>
+ <descriptors>
+ <descriptor>src/assembly/src.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </plugin>
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
- <version>3.6</version>
+ <version>${pmd-plugin.version}</version>
<configuration>
- <targetJdk>${maven.compiler.target}</targetJdk>
<rulesets>
- <ruleset>${project.mainconf}/pmdrules.xml</ruleset>
+ <ruleset>${project.basedir}/config/pmd/pmdrules.xml</ruleset>
</rulesets>
</configuration>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>findbugs-maven-plugin</artifactId>
- <version>3.0.3</version>
- <configuration>
- <effort>Max</effort>
- <threshold>Low</threshold>
- <!-- for Jenkins -->
- <findbugsXmlOutput>true</findbugsXmlOutput>
- <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
- <xmlOutput>true</xmlOutput>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>cobertura-maven-plugin</artifactId>
- <version>2.7</version>
- <configuration>
- <encoding>${project.build.sourceEncoding}</encoding>
- <formats>
- <format>html</format>
- <format>xml</format> <!-- for Jenkins -->
- </formats>
- </configuration>
+ <groupId>com.github.spotbugs</groupId>
+ <artifactId>spotbugs-maven-plugin</artifactId>
+ <version>${spotbugs-plugin.version}</version>
</plugin>
</plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>2.10.3</version>
+ <version>3.1.0</version>
<configuration>
- <skip>false</skip>
+ <author>false</author>
<notimestamp>true</notimestamp>
<quiet>true</quiet>
<show>protected</show>
+ <header>${project.name} ${project.version} API</header>
+ <version>true</version>
+ <locale>${javadoc.locale}</locale>
+ <!-- for JDK11 javadoc -->
+ <additionalJOption>-J-Duser.language=${javadoc.locale}</additionalJOption>
</configuration>
<reportSets>
<reportSet>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
- <version>2.5</version>
- <configuration>
- <skip>false</skip>
- </configuration>
+ <version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
- <version>2.19.1</version>
- <configuration>
- <showSuccess>false</showSuccess>
- </configuration>
+ <version>${surefire-plugin.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco-plugin.version}</version>
<reportSets>
<reportSet>
<reports>
- <report>report-only</report>
+ <report>report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>cobertura-maven-plugin</artifactId>
- <version>2.7</version>
- <configuration>
- <encoding>${project.build.sourceEncoding}</encoding>
- <formats>
- <format>html</format>
- <format>xml</format> <!-- for Jenkins -->
- </formats>
- </configuration>
- </plugin>
-
- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.15</version>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
- <version>3.6</version>
+ <version>${pmd-plugin.version}</version>
<configuration>
- <skip>false</skip>
- <targetJdk>${maven.compiler.target}</targetJdk>
<rulesets>
- <ruleset>${project.mainconf}/pmdrules.xml</ruleset>
+ <ruleset>${project.basedir}/config/pmd/pmdrules.xml</ruleset>
</rulesets>
</configuration>
<reportSets>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>findbugs-maven-plugin</artifactId>
- <version>3.0.3</version>
- <configuration>
- <skip>false</skip>
- <effort>Max</effort>
- <threshold>Low</threshold>
- <!-- for Jenkins -->
- <findbugsXmlOutput>true</findbugsXmlOutput>
- <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
- <xmlOutput>true</xmlOutput>
- <!-- excludeFilterFile/ -->
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>javancss-maven-plugin</artifactId>
- <version>2.1</version>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>jdepend-maven-plugin</artifactId>
- <version>2.0</version>
+ <groupId>com.github.spotbugs</groupId>
+ <artifactId>spotbugs-maven-plugin</artifactId>
+ <version>${spotbugs-plugin.version}</version>
</plugin>
</plugins>