Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
798 lines (779 sloc) 38.4 KB
<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.beiter.michael.util</groupId>
<artifactId>util-parent</artifactId>
<packaging>pom</packaging>
<version>1.5-SNAPSHOT</version>
<name>Util Parent</name>
<description>
The utility library provides common methods e.g. for build configuration and
JDBC database connections. This is the parent POM file for Maven aggregator
builds of this utility library.
</description>
<url>http://mbeiter.github.io/util/docs/${project.version}/</url>
<modules>
<module>array</module>
<module>db</module>
</modules>
<profiles>
<!-- ================================================================= -->
<!-- The release profile: -->
<!-- - Builds the code with static code analysis (SCA) -->
<!-- - Fails the build in case any of the SCA plugins report errors -->
<!-- - Builds Javadocs and fails in case of errors -->
<!-- ================================================================= -->
<profile>
<id>release</id>
<build>
<plugins>
<!-- ===================================================================== -->
<!-- SCA: checkstyle -->
<!-- ===================================================================== -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${mavenCheckstylePluginVersion}</version>
<dependencies>
<dependency>
<groupId>org.beiter.michael.util</groupId>
<artifactId>build-tools</artifactId>
<version>${buildToolsVersion}</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>validate</phase>
<configuration>
<configLocation>checkstyle.xml</configLocation>
<encoding>${project.build.sourceEncoding}</encoding>
<consoleOutput>true</consoleOutput>
<failOnViolation>true</failOnViolation>
<failsOnError>true</failsOnError>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- ===================================================================== -->
<!-- SCA: Findbugs -->
<!-- ===================================================================== -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>${findbugsMavenPluginVersion}</version>
<configuration>
<xmlOutput>true</xmlOutput>
<effort>Max</effort>
<threshold>Low</threshold>
<excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
<failOnError>true</failOnError>
</configuration>
<dependencies>
<dependency>
<groupId>org.beiter.michael.util</groupId>
<artifactId>build-tools</artifactId>
<version>${buildToolsVersion}</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- ================================================================= -->
<!-- SCA: PMD -->
<!-- ================================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>${mavenPmdPluginVersion}</version>
<configuration>
<linkXref>true</linkXref>
<sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
<minimumTokens>100</minimumTokens>
<targetJdk>${javaVersion}</targetJdk>
<rulesets>
<ruleset>pmd-rules.xml</ruleset>
</rulesets>
</configuration>
<dependencies>
<dependency>
<groupId>org.beiter.michael.util</groupId>
<artifactId>build-tools</artifactId>
<version>${buildToolsVersion}</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>check</goal>
<goal>cpd-check</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- ===================================================================== -->
<!-- Build and attach Javadocs -->
<!-- ===================================================================== -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${mavenJavadocPluginVersion}</version>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
<failOnError>true</failOnError>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<!-- Do not create test javadocs -->
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- ================================================================= -->
<!-- The codesigning profile: -->
<!-- - Signs the binaries with gpg (using the default key) -->
<!-- ================================================================= -->
<profile>
<id>codesigning</id>
<build>
<plugins>
<!-- ===================================================================== -->
<!-- GnuPG configuration -->
<!-- ===================================================================== -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${mavenGpgPluginVersion}</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- ================================================================= -->
<!-- The fortify profile: -->
<!-- - Builds the code with fortify static code analysis (SCA) -->
<!-- - Fails the build in case of SCA errors (not findings) -->
<!-- See the project build instructions for information on how to set -->
<!-- up the Fortify SCA plugin in your local Fortify installation -->
<!-- ================================================================= -->
<profile>
<id>fortify</id>
<build>
<plugins>
<!-- ===================================================================== -->
<!-- SCA: fortify -->
<!-- ===================================================================== -->
<plugin>
<groupId>com.fortify.ps.maven.plugin</groupId>
<artifactId>sca-maven-plugin</artifactId>
<version>${FORTIFY_VERSION}</version>
<configuration>
<buildId>util</buildId>
<source>${javaVersion}</source>
<toplevelArtifactId>${toplevelArtifactId}</toplevelArtifactId>
<failOnSCAError>true</failOnSCAError>
<htmlReport>true</htmlReport>
<verbose>true</verbose>
<debug>true</debug>
</configuration>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>clean</goal>
<goal>translate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<properties>
<!-- build configuration -->
<!-- =================== -->
<toplevelArtifactId>util-parent</toplevelArtifactId>
<javaVersion>1.7</javaVersion>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<buildToolsVersion>1.3</buildToolsVersion>
<!-- plugin versions -->
<!-- =============== -->
<!-- http://maven.apache.org/plugins/index.html -->
<mavenCompilerPluginVersion>3.2</mavenCompilerPluginVersion>
<licenseMavenPluginVersion>1.7</licenseMavenPluginVersion>
<mavenDependencyPluginVersion>2.9</mavenDependencyPluginVersion>
<mavenSourcePluginVersion>2.4</mavenSourcePluginVersion>
<mavenJxrPluginVersion>2.4</mavenJxrPluginVersion>
<mavenCheckstylePluginVersion>2.13</mavenCheckstylePluginVersion>
<findbugsMavenPluginVersion>3.0.0</findbugsMavenPluginVersion>
<mavenPmdPluginVersion>3.5</mavenPmdPluginVersion>
<taglistMavenPluginVersion>2.4</taglistMavenPluginVersion>
<coberturaMavenPluginVersion>2.6</coberturaMavenPluginVersion>
<mavenJavadocPluginVersion>2.10.1</mavenJavadocPluginVersion>
<mavenSurefirePluginVersion>2.17</mavenSurefirePluginVersion>
<mavenGpgPluginVersion>1.5</mavenGpgPluginVersion>
<mavenProjecInfoReportsPluginVersion>2.7</mavenProjecInfoReportsPluginVersion>
<mavenSitePluginVersion>3.4</mavenSitePluginVersion>
<!-- These properties are overwritten for release builds -->
<!-- =================================================== -->
<project.maven.compiler.debug>true</project.maven.compiler.debug>
</properties>
<dependencyManagement>
<dependencies>
<!-- Included dependencies -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.0.1</version>
</dependency>
<!-- Test dependencies -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.181</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<version>7.0.55</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<inceptionYear>2014</inceptionYear>
<licenses>
<license>
<name>BSD 3-clause Revised License</name>
<url>LICENSE.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<organization>
<name>Michael Beiter &lt;michael@beiter.org&gt;</name>
<url>http://www.michael.beiter.org</url>
</organization>
<developers>
<developer>
<name>Mike Beiter</name>
<email>michael AT beiter.org</email>
<url>http://www.michael.beiter.org</url>
</developer>
</developers>
<scm>
<url>https://github.com/mbeiter/util</url>
<connection>scm:git:git://github.com/mbeiter/util.git</connection>
<developerConnection>scm:git:git@github.com:mbeiter/util.git</developerConnection>
</scm>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/mbeiter/util/issues</url>
</issueManagement>
<distributionManagement>
<site>
<id>github.gh-pages</id>
<url>${project.url}</url>
</site>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<!-- ===================================================================== -->
<!-- Set the Java version (source and target) -->
<!-- ===================================================================== -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${mavenCompilerPluginVersion}</version>
<configuration>
<source>${javaVersion}</source>
<target>${javaVersion}</target>
</configuration>
</plugin>
<!-- ===================================================================== -->
<!-- License management -->
<!-- ===================================================================== -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${licenseMavenPluginVersion}</version>
<configuration>
<licenseName>3-bsd-mb</licenseName>
<licenseResolver>classpath://license</licenseResolver>
<descriptionTemplate>${basedir}/src/license/licenseDescription.ftl</descriptionTemplate>
<canUpdateCopyright>true</canUpdateCopyright>
<canUpdateDescription>true</canUpdateDescription>
<addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
<failOnMissingHeader>true</failOnMissingHeader>
<failOnNotUptodateHeader>true</failOnNotUptodateHeader>
<excludes>
<exclude>**/licenseDescription.ftl</exclude>
<exclude>**/package-info.java</exclude>
<exclude>**/*.txt</exclude>
<exclude>**/*.properties</exclude>
</excludes>
</configuration>
<dependencies>
<dependency>
<groupId>org.beiter.michael.util</groupId>
<artifactId>build-tools</artifactId>
<version>${buildToolsVersion}</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>check-file-header</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- ================================================================= -->
<!-- Dependency plugin -->
<!-- ================================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${mavenDependencyPluginVersion}</version>
<executions>
<execution>
<id>dep-resolve</id>
<phase>validate</phase>
<goals>
<goal>resolve</goal>
</goals>
<configuration>
<excludeTransitive>false</excludeTransitive>
<outputFile>${project.build.directory}/dep_current.txt</outputFile>
</configuration>
</execution>
<execution>
<id>analyze-dep-mgt</id>
<phase>validate</phase>
<goals>
<goal>analyze-dep-mgt</goal>
</goals>
<configuration>
<failBuild>true</failBuild>
<ignoreDirect>false</ignoreDirect>
</configuration>
</execution>
<execution>
<id>dep-copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/dependency</outputDirectory>
<stripVersion>true</stripVersion>
</configuration>
</execution>
<execution>
<id>dep-src-copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<classifier>sources</classifier>
<outputDirectory>${project.build.directory}/dependency-sources</outputDirectory>
<stripVersion>true</stripVersion>
<failOnMissingClassifierArtifact>false</failOnMissingClassifierArtifact>
</configuration>
</execution>
</executions>
</plugin>
<!-- ===================================================================== -->
<!-- The JXR plugin provides cross-reference information for SCA plugins -->
<!-- ===================================================================== -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>${mavenJxrPluginVersion}</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>jxr</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- ===================================================================== -->
<!-- SCA: checkstyle -->
<!-- ===================================================================== -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${mavenCheckstylePluginVersion}</version>
<dependencies>
<dependency>
<groupId>org.beiter.michael.util</groupId>
<artifactId>build-tools</artifactId>
<version>${buildToolsVersion}</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>validate</phase>
<configuration>
<configLocation>checkstyle.xml</configLocation>
<encoding>${project.build.sourceEncoding}</encoding>
<consoleOutput>true</consoleOutput>
<failOnViolation>false</failOnViolation>
<failsOnError>false</failsOnError>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- ===================================================================== -->
<!-- SCA: Findbugs -->
<!-- ===================================================================== -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>${findbugsMavenPluginVersion}</version>
<configuration>
<xmlOutput>true</xmlOutput>
<effort>Max</effort>
<threshold>Low</threshold>
<excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
<failOnError>false</failOnError>
</configuration>
<dependencies>
<dependency>
<groupId>org.beiter.michael.util</groupId>
<artifactId>build-tools</artifactId>
<version>${buildToolsVersion}</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- ================================================================= -->
<!-- SCA: PMD -->
<!-- ================================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>${mavenPmdPluginVersion}</version>
<configuration>
<linkXref>true</linkXref>
<sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
<minimumTokens>100</minimumTokens>
<targetJdk>${javaVersion}</targetJdk>
<rulesets>
<ruleset>pmd-rules.xml</ruleset>
</rulesets>
</configuration>
<dependencies>
<dependency>
<groupId>org.beiter.michael.util</groupId>
<artifactId>build-tools</artifactId>
<version>${buildToolsVersion}</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>pmd</goal>
<goal>cpd</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- ================================================================= -->
<!-- Pack and attach sources -->
<!-- ================================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${mavenSourcePluginVersion}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- ===================================================================== -->
<!-- Build and attach Javadocs -->
<!-- ===================================================================== -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${mavenJavadocPluginVersion}</version>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
<failOnError>false</failOnError>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<!-- Do not create test javadocs -->
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- ===================================================================== -->
<!-- Log4j configuration: http://wiki.apache.org/logging-log4j/UsefulCode -->
<!-- ===================================================================== -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${mavenSurefirePluginVersion}</version>
<configuration>
<systemProperties>
<property>
<name>log4j.configuration</name>
<value>log4j.properties</value>
</property>
</systemProperties>
<argLine>-XX:-UseSplitVerifier -Xmx1024m -XX:MaxPermSize=512m</argLine>
</configuration>
</plugin>
<!-- ===================================================================== -->
<!-- Site configuration -->
<!-- ===================================================================== -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>${mavenSitePluginVersion}</version>
<inherited>false</inherited>
<executions>
<execution>
<id>attach-descriptor</id>
<goals>
<goal>attach-descriptor</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<!-- ===================================================================== -->
<!-- The JXR plugin provides cross-reference information for SCA plugins -->
<!-- ===================================================================== -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>${mavenJxrPluginVersion}</version>
</plugin>
<!-- ===================================================================== -->
<!-- SCA: checkstyle -->
<!-- ===================================================================== -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${mavenCheckstylePluginVersion}</version>
<configuration>
<configLocation>checkstyle.xml</configLocation>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>checkstyle</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<!-- ================================================================= -->
<!-- SCA: Findbugs -->
<!-- ================================================================= -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>${findbugsMavenPluginVersion}</version>
<configuration>
<xmlOutput>true</xmlOutput>
<effort>Max</effort>
<threshold>Low</threshold>
<excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
</configuration>
</plugin>
<!-- ================================================================= -->
<!-- SCA: PMD -->
<!-- ================================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>${mavenPmdPluginVersion}</version>
<configuration>
<linkXref>true</linkXref>
<sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
<minimumTokens>100</minimumTokens>
<skipEmptyReport>false</skipEmptyReport>
<targetJdk>${javaVersion}</targetJdk>
<rulesets>
<ruleset>pmd-rules.xml</ruleset>
</rulesets>
</configuration>
</plugin>
<!-- ================================================================= -->
<!-- SCA: Tag reporting -->
<!-- ================================================================= -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>taglist-maven-plugin</artifactId>
<version>${taglistMavenPluginVersion}</version>
<configuration>
<tagListOptions>
<tagClasses>
<tagClass>
<displayName>Work items</displayName>
<tags>
<tag>
<matchString>todo</matchString>
<matchType>ignoreCase</matchType>
</tag>
<tag>
<matchString>@todo</matchString>
<matchType>ignoreCase</matchType>
</tag>
<tag>
<matchString>fix</matchString>
<matchType>ignoreCase</matchType>
</tag>
<tag>
<matchString>@fix</matchString>
<matchType>ignoreCase</matchType>
</tag>
<tag>
<matchString>@fixme</matchString>
<matchType>ignoreCase</matchType>
</tag>
<tag>
<matchString>fixme</matchString>
<matchType>ignoreCase</matchType>
</tag>
</tags>
</tagClass>
</tagClasses>
</tagListOptions>
</configuration>
</plugin>
<!-- ================================================================= -->
<!-- Configuration of Code Coverage analysis -->
<!-- ================================================================= -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>${coberturaMavenPluginVersion}</version>
</plugin>
<!-- ================================================================= -->
<!-- Configuration of Javadocs plugin -->
<!-- ================================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${mavenJavadocPluginVersion}</version>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
<failOnError>false</failOnError>
</configuration>
<reportSets>
<reportSet>
<id>default</id>
<reports>
<!-- Do not create test javadocs -->
<report>javadoc</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<!-- ================================================================= -->
<!-- Configuration of Project Reporting plugin -->
<!-- ================================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>${mavenProjecInfoReportsPluginVersion}</version>
<reportSets>
<reportSet>
<reports>
<report>index</report>
<report>modules</report>
<report>dependency-info</report>
<report>issue-tracking</report>
<report>project-team</report>
<report>dependencies</report>
<report>dependency-management</report>
<report>dependency-convergence</report>
<report>license</report>
<report>scm</report>
<report>plugins</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
</project>
You can’t perform that action at this time.