1 <?xml version="1.0" encoding="UTF-8"?>
4 This file is part of maven-build-process. It is subject to the license terms in the LICENSE file found in the top-level
5 directory of this distribution and at http://creativecommons.org/publicdomain/zero/1.0/. No part of maven-build-process,
6 including this file, may be copied, modified, propagated, or distributed except according to the terms contained
10 <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">
11 <modelVersion>4.0.0</modelVersion>
13 <!-- ordering follows https://maven.apache.org/developers/conventions/code.html#POM_Code_Convention -->
15 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
17 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
18 <!-- https://maven.apache.org/pom.html#Inheritance -->
20 <groupId>de.xn--ho-hia.maven.parents</groupId>
21 <artifactId>maven-parents</artifactId>
22 <version>9999.99.99-SNAPSHOT</version>
25 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
27 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
28 <!-- https://maven.apache.org/pom.html#Maven_Coordinates -->
29 <artifactId>maven-parents-java</artifactId>
30 <packaging>pom</packaging>
32 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
34 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
35 <!-- https://maven.apache.org/pom.html#More_Project_Information -->
36 <name>Maven Parents :: Java</name>
37 <description>Base Java parent POM</description>
39 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
41 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
42 <!-- https://maven.apache.org/pom.html#Aggregation -->
44 <module>maven-parents-java-prototype</module>
45 <module>maven-parents-java-stable</module>
48 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
50 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
52 <version.jdk>1.8</version.jdk>
54 <jacoco.lineCoverage>1.00000</jacoco.lineCoverage>
55 <jacoco.skip>false</jacoco.skip>
56 <pit.mutationCoverage>100</pit.mutationCoverage>
57 <pit.threads>8</pit.threads>
58 <pit.skip>false</pit.skip>
59 <pmd.minimumTokens>50</pmd.minimumTokens>
60 <pmd.failurePriority>0</pmd.failurePriority>
61 <pmd.skip>false</pmd.skip>
62 <findbugs.skip>false</findbugs.skip>
63 <findbugs.effort>Max</findbugs.effort>
64 <findbugs.threshold>Low</findbugs.threshold>
65 <failBuildOnDuplicates>true</failBuildOnDuplicates>
66 <failBuildOnDependencyVersionProblem>true</failBuildOnDependencyVersionProblem>
67 <failBuildOnDependencyProblem>true</failBuildOnDependencyProblem>
69 <version.m-pmd-p>3.7</version.m-pmd-p>
70 <version.m-javadoc-p>2.10.4</version.m-javadoc-p>
71 <version.m-dependency-p>2.10</version.m-dependency-p>
72 <version.m-dependency-versions-check-p>2.0.2</version.m-dependency-versions-check-p>
73 <version.m-remote-resources-p>1.5</version.m-remote-resources-p>
74 <version.m-jar-p>3.0.2</version.m-jar-p>
75 <version.m-compiler-p>3.6.1</version.m-compiler-p>
76 <version.m-source-p>3.0.1</version.m-source-p>
77 <version.bnd-m-p>3.3.0</version.bnd-m-p>
78 <version.findbugs-m-p>3.0.4</version.findbugs-m-p>
79 <version.pittest-m-p>1.1.11</version.pittest-m-p>
80 <version.duplicate-finder-m-p>1.2.1</version.duplicate-finder-m-p>
81 <version.coveralls-m-p>4.3.0</version.coveralls-m-p>
82 <version.jacoco-m-p>0.7.9</version.jacoco-m-p>
83 <version.m-surefire-report-p>2.19.1</version.m-surefire-report-p>
84 <version.dependency-check-m>1.4.5</version.dependency-check-m>
85 <version.m-dependency-p>3.0.0</version.m-dependency-p>
86 <version.flatten-m-p>1.0.0</version.flatten-m-p>
88 <version.tycho-compiler-jdt>1.0.0</version.tycho-compiler-jdt>
91 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
92 <!-- DEPENDENCY MANAGEMENT -->
93 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
94 <!-- https://maven.apache.org/pom.html#Dependency_Management -->
95 <dependencyManagement>
98 <groupId>de.xn--ho-hia.maven.boms</groupId>
99 <artifactId>maven-boms-all</artifactId>
100 <version>9999.99.99-SNAPSHOT</version>
102 <scope>import</scope>
105 </dependencyManagement>
107 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
108 <!-- DEPENDENCIES -->
109 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
110 <!-- https://maven.apache.org/pom.html#Dependencies -->
113 <groupId>org.eclipse.jdt</groupId>
114 <artifactId>org.eclipse.jdt.annotation</artifactId>
117 <groupId>junit</groupId>
118 <artifactId>junit</artifactId>
123 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
125 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
126 <!-- https://maven.apache.org/pom.html#Build -->
131 <!-- https://maven.apache.org/plugins/maven-source-plugin/ -->
132 <groupId>org.apache.maven.plugins</groupId>
133 <artifactId>maven-source-plugin</artifactId>
134 <version>${version.m-source-p}</version>
136 <!-- https://maven.apache.org/plugins/maven-source-plugin/jar-no-fork-mojo.html#archive -->
138 <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
143 <id>attach-sources</id>
144 <phase>verify</phase>
146 <!-- https://maven.apache.org/plugins/maven-source-plugin/jar-no-fork-mojo.html -->
147 <goal>jar-no-fork</goal>
154 <!-- https://maven.apache.org/plugins/maven-javadoc-plugin/ -->
155 <groupId>org.apache.maven.plugins</groupId>
156 <artifactId>maven-javadoc-plugin</artifactId>
157 <version>${version.m-javadoc-p}</version>
159 <!-- https://maven.apache.org/plugins/maven-javadoc-plugin/jar-mojo.html#archive -->
161 <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
166 <id>attach-javadocs</id>
168 <!-- https://maven.apache.org/plugins/maven-javadoc-plugin/jar-mojo.html -->
176 <!-- https://github.com/bndtools/bnd/blob/master/maven/bnd-maven-plugin/README.md -->
177 <groupId>biz.aQute.bnd</groupId>
178 <artifactId>bnd-maven-plugin</artifactId>
179 <version>${version.bnd-m-p}</version>
183 <goal>bnd-process</goal>
190 <!-- https://maven.apache.org/plugins/maven-compiler-plugin/ -->
191 <groupId>org.apache.maven.plugins</groupId>
192 <artifactId>maven-compiler-plugin</artifactId>
193 <version>${version.m-compiler-p}</version>
195 <!-- https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#source -->
196 <source>${version.jdk}</source>
197 <!-- https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#target -->
198 <target>${version.jdk}</target>
199 <!-- https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#compilerId -->
200 <compilerId>jdt</compilerId>
201 <!-- https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#compilerArguments -->
203 <!-- https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javac.html -->
205 <!-- https://wiki.eclipse.org/Tycho/FAQ#How_to_configure_warning.2Ferror_settings_of_the_OSGi_compiler.3F -->
206 <properties>${project.basedir}/.settings/org.eclipse.jdt.core.prefs</properties>
210 <!-- This dependency provides the implementation of compiler "jdt" -->
212 <!-- https://eclipse.org/tycho/sitedocs/ -->
213 <groupId>org.eclipse.tycho</groupId>
214 <artifactId>tycho-compiler-jdt</artifactId>
215 <version>${version.tycho-compiler-jdt}</version>
221 <!-- https://maven.apache.org/plugins/maven-jar-plugin/ -->
222 <groupId>org.apache.maven.plugins</groupId>
223 <artifactId>maven-jar-plugin</artifactId>
224 <version>${version.m-jar-p}</version>
226 <!-- https://maven.apache.org/plugins/maven-jar-plugin/jar-mojo.html#archive -->
228 <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
234 <!-- http://gleclaire.github.io/findbugs-maven-plugin/ -->
235 <groupId>org.codehaus.mojo</groupId>
236 <artifactId>findbugs-maven-plugin</artifactId>
237 <version>${version.findbugs-m-p}</version>
239 <!-- http://gleclaire.github.io/findbugs-maven-plugin/check-mojo.html#effort -->
240 <effort>${findbugs.effort}</effort>
241 <!-- http://gleclaire.github.io/findbugs-maven-plugin/check-mojo.html#threshold -->
242 <threshold>${findbugs.threshold}</threshold>
243 <!-- http://gleclaire.github.io/findbugs-maven-plugin/check-mojo.html#skip -->
244 <skip>${findbugs.skip}</skip>
249 <!-- http://gleclaire.github.io/findbugs-maven-plugin/check-mojo.html -->
257 <!-- https://maven.apache.org/plugins/maven-pmd-plugin/ -->
258 <groupId>org.apache.maven.plugins</groupId>
259 <artifactId>maven-pmd-plugin</artifactId>
260 <version>${version.m-pmd-p}</version>
262 <!-- https://maven.apache.org/plugins/maven-pmd-plugin/check-mojo.html#failurePriority -->
263 <failurePriority>${pmd.failurePriority}</failurePriority>
264 <!-- https://maven.apache.org/plugins/maven-pmd-plugin/cpd-mojo.html#minimumTokens -->
265 <minimumTokens>${pmd.minimumTokens}</minimumTokens>
266 <!-- https://maven.apache.org/plugins/maven-pmd-plugin/pmd-mojo.html#targetJdk -->
267 <targetJdk>${version.jdk}</targetJdk>
268 <!-- https://maven.apache.org/plugins/maven-pmd-plugin/check-mojo.html#skip -->
269 <!-- https://maven.apache.org/plugins/maven-pmd-plugin/cpd-check-mojo.html#skip -->
270 <skip>${pmd.skip}</skip>
275 <!-- https://maven.apache.org/plugins/maven-pmd-plugin/check-mojo.html -->
277 <!-- https://maven.apache.org/plugins/maven-pmd-plugin/cpd-check-mojo.html -->
278 <goal>cpd-check</goal>
285 <!-- http://eclemma.org/jacoco/trunk/doc/maven.html -->
286 <groupId>org.jacoco</groupId>
287 <artifactId>jacoco-maven-plugin</artifactId>
288 <version>${version.jacoco-m-p}</version>
290 <skip>${jacoco.skip}</skip>
294 <id>prepare-coverage-agent</id>
296 <!-- http://eclemma.org/jacoco/trunk/doc/prepare-agent-mojo.html -->
297 <goal>prepare-agent</goal>
301 <id>check-coverage</id>
303 <!-- http://eclemma.org/jacoco/trunk/doc/check-mojo.html -->
307 <!-- http://eclemma.org/jacoco/trunk/doc/check-mojo.html#rules -->
310 <element>CLASS</element>
312 <exclude>*Test</exclude>
316 <counter>LINE</counter>
317 <value>COVEREDRATIO</value>
318 <minimum>${jacoco.lineCoverage}</minimum>
329 <!-- https://github.com/trautonen/coveralls-maven-plugin -->
330 <groupId>org.eluder.coveralls</groupId>
331 <artifactId>coveralls-maven-plugin</artifactId>
332 <version>${version.coveralls-m-p}</version>
334 <repoToken>${COVERALLS_TOKEN}</repoToken>
339 <!-- https://maven.apache.org/plugins/maven-remote-resources-plugin/ -->
340 <groupId>org.apache.maven.plugins</groupId>
341 <artifactId>maven-remote-resources-plugin</artifactId>
342 <version>${version.m-remote-resources-p}</version>
345 <id>jdt-settings</id>
347 <!-- https://maven.apache.org/plugins/maven-remote-resources-plugin/process-mojo.html -->
351 <!-- https://maven.apache.org/plugins/maven-remote-resources-plugin/process-mojo.html#attachToMain -->
352 <attachToMain>false</attachToMain>
353 <!-- https://maven.apache.org/plugins/maven-remote-resources-plugin/process-mojo.html#attachToTest -->
354 <attachToTest>false</attachToTest>
355 <!-- https://maven.apache.org/plugins/maven-remote-resources-plugin/process-mojo.html#resourceBundles -->
357 <resourceBundle>com.github.sebhoss:jdt-settings:2.0.0</resourceBundle>
359 <!-- https://maven.apache.org/plugins/maven-remote-resources-plugin/process-mojo.html#outputDirectory -->
360 <outputDirectory>${project.basedir}/.settings</outputDirectory>
367 <!-- http://pitest.org/quickstart/maven/ -->
368 <groupId>org.pitest</groupId>
369 <artifactId>pitest-maven</artifactId>
370 <version>${version.pittest-m-p}</version>
372 <!-- http://pitest.org/quickstart/maven/#threads -->
373 <threads>${pit.threads}</threads>
374 <!-- http://pitest.org/quickstart/maven/#mutationthreshold -->
375 <mutationThreshold>${pit.mutationCoverage}</mutationThreshold>
376 <!-- http://pitest.org/quickstart/maven/#skip -->
377 <skip>${pit.skip}</skip>
378 <!-- http://pitest.org/quickstart/maven/#targetclasses -->
380 <param>de.xn__ho_hia*</param>
382 <!-- http://pitest.org/quickstart/maven/#targettests -->
384 <param>de.xn__ho_hia*</param>
387 <outputFormat>XML</outputFormat>
388 <outputFormat>HTML</outputFormat>
394 <!-- http://pitest.org/quickstart/maven/#mutationcoverage-goal -->
395 <goal>mutationCoverage</goal>
397 <phase>verify</phase>
403 <!-- https://jeremylong.github.io/DependencyCheck/dependency-check-maven/index.html -->
404 <groupId>org.owasp</groupId>
405 <artifactId>dependency-check-maven</artifactId>
406 <version>${version.dependency-check-m}</version>
417 <!-- https://maven.apache.org/plugins/maven-dependency-plugin/ -->
418 <groupId>org.apache.maven.plugins</groupId>
419 <artifactId>maven-dependency-plugin</artifactId>
420 <version>${version.m-dependency-p}</version>
424 <!-- https://maven.apache.org/plugins/maven-dependency-plugin/analyze-only-mojo.html -->
425 <goal>analyze-only</goal>
426 <!-- https://maven.apache.org/plugins/maven-dependency-plugin/analyze-duplicate-mojo.html -->
427 <goal>analyze-duplicate</goal>
428 <!-- https://maven.apache.org/plugins/maven-dependency-plugin/analyze-dep-mgt-mojo.html -->
429 <goal>analyze-dep-mgt</goal>
434 <!-- https://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.html#failOnWarning -->
435 <failOnWarning>${failBuildOnDependencyProblem}</failOnWarning>
436 <!-- https://maven.apache.org/plugins/maven-dependency-plugin/analyze-only-mojo.html#usedDependencies -->
439 Ignore Eclipse JDT annotations because @NonNull, etc are not retained
440 in byte code. Therefore the plugin detects a false positive.
442 <usedDependency>org.eclipse.jdt:org.eclipse.jdt.annotation</usedDependency>
444 <!-- https://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.html#ignoredDependencies -->
445 <ignoredDependencies>
446 <ignoredDependency>com.github.sebhoss:suppress-warnings</ignoredDependency>
447 </ignoredDependencies>
452 <!-- http://www.mojohaus.org/flatten-maven-plugin/ -->
453 <groupId>org.codehaus.mojo</groupId>
454 <artifactId>flatten-maven-plugin</artifactId>
455 <version>${version.flatten-m-p}</version>
457 <flattenMode>oss</flattenMode>
461 <!-- enable flattening -->
463 <phase>process-resources</phase>
465 <!-- http://www.mojohaus.org/flatten-maven-plugin/flatten-mojo.html -->
470 <!-- ensure proper cleanup -->
471 <id>flatten.clean</id>
474 <!-- http://www.mojohaus.org/flatten-maven-plugin/clean-mojo.html -->
483 <!-- https://maven.apache.org/pom.html#Plugins -->
486 <!-- https://maven.apache.org/plugins/maven-remote-resources-plugin/ -->
487 <groupId>org.apache.maven.plugins</groupId>
488 <artifactId>maven-remote-resources-plugin</artifactId>
491 <!-- https://maven.apache.org/plugins/maven-compiler-plugin/ -->
492 <groupId>org.apache.maven.plugins</groupId>
493 <artifactId>maven-compiler-plugin</artifactId>
496 <!-- https://github.com/bndtools/bnd/blob/master/maven/bnd-maven-plugin/README.md -->
497 <groupId>biz.aQute.bnd</groupId>
498 <artifactId>bnd-maven-plugin</artifactId>
501 <!-- https://maven.apache.org/plugins/maven-jar-plugin/ -->
502 <groupId>org.apache.maven.plugins</groupId>
503 <artifactId>maven-jar-plugin</artifactId>
508 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
510 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
511 <!-- https://maven.apache.org/pom.html#Profiles -->
518 <!-- https://maven.apache.org/plugins/maven-source-plugin/ -->
519 <groupId>org.apache.maven.plugins</groupId>
520 <artifactId>maven-source-plugin</artifactId>
523 <!-- https://maven.apache.org/plugins/maven-javadoc-plugin/ -->
524 <groupId>org.apache.maven.plugins</groupId>
525 <artifactId>maven-javadoc-plugin</artifactId>
528 <!-- http://kohsuke.org/pgp-maven-plugin/ -->
529 <groupId>org.kohsuke</groupId>
530 <artifactId>pgp-maven-plugin</artifactId>