blob: 515bcfed3c7f89d91acb53d1fd100cea719b59dc [file] [log] [blame]
Allen Hairec9b3512015-01-09 15:34:58 -08001<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 Copyright (c) 2009, 2015 Mountainminds GmbH & Co. KG and Contributors
4 All rights reserved. This program and the accompanying materials
5 are made available under the terms of the Eclipse Public License v1.0
6 which accompanies this distribution, and is available at
7 http://www.eclipse.org/legal/epl-v10.html
8
9 Contributors:
10 Evgeny Mandrikov - initial API and implementation
11-->
12<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">
13 <modelVersion>4.0.0</modelVersion>
14
15 <groupId>org.jacoco</groupId>
16 <artifactId>org.jacoco.build</artifactId>
17 <version>0.7.3.201501221555</version>
18 <packaging>pom</packaging>
19
20 <name>JaCoCo</name>
21 <description>JaCoCo - Java Code Coverage Library</description>
22 <url>http://jacoco.org</url>
23 <inceptionYear>2009</inceptionYear>
24 <organization>
25 <name>Mountainminds GmbH &amp; Co. KG</name>
26 </organization>
27 <licenses>
28 <license>
29 <name>Eclipse Public License v1.0</name>
30 <url>http://www.eclipse.org/legal/epl-v10.html</url>
31 <distribution>repo</distribution>
32 </license>
33 </licenses>
34
35 <developers>
36 <developer>
37 <id>mtnminds</id>
38 <name>Marc R. Hoffmann</name>
39 <email>hoffmann@mountainminds.com</email>
40 <timezone>+1</timezone>
41 <roles>
42 <role>Project Lead</role>
43 </roles>
44 </developer>
45 <developer>
46 <id>brock_j</id>
47 <name>Brock Janiczak</name>
48 <email>brockj@gmail.com</email>
49 <timezone>+10</timezone>
50 <roles>
51 <role>Developer</role>
52 </roles>
53 </developer>
54 <developer>
55 <id>mandrikov</id>
56 <name>Evgeny Mandrikov</name>
57 <email>mandrikov@gmail.com</email>
58 <url>http://godin.net.ru</url>
59 <organization>SonarSource</organization>
60 <organizationUrl>http://www.sonarsource.com</organizationUrl>
61 <timezone>+3</timezone>
62 <roles>
63 <role>Build and release manager</role>
64 </roles>
65 </developer>
66 <developer>
67 <id>mfriedenhagen</id>
68 <name>Mirko Friedenhagen</name>
69 <email>mfriedenhagen@gmail.com</email>
70 <timezone>+1</timezone>
71 <roles>
72 <role>Developer</role>
73 </roles>
74 </developer>
75 </developers>
76
77 <contributors>
78 <contributor>
79 <name>Radek Liba</name>
80 </contributor>
81 <contributor>
82 <name>Christoph Beck</name>
83 </contributor>
84 </contributors>
85
86 <modules>
87 <!-- Order is important: org.jacoco.agent.rt embeds into org.jacoco.agent and JaCoCo Agent used during tests -->
88 <module>../org.jacoco.core</module>
89 <module>../org.jacoco.report</module>
90 <module>../org.jacoco.agent.rt</module>
91 <module>../org.jacoco.agent</module>
92 <module>../org.jacoco.ant</module>
93
94 <module>../jacoco-maven-plugin</module>
95
96 <module>../org.jacoco.tests</module>
97
98 <module>../org.jacoco.examples</module>
99 <module>../org.jacoco.doc</module>
100 <module>../jacoco</module>
101 </modules>
102
103 <scm>
104 <connection>scm:git:git://github.com/jacoco/jacoco.git</connection>
105 <developerConnection>scm:git:ssh://git@github.com:jacoco/jacoco.git</developerConnection>
106 <url>https://github.com/jacoco/jacoco</url>
107 </scm>
108 <issueManagement>
109 <system>GitHub</system>
110 <url>https://github.com/jacoco/jacoco/issues</url>
111 </issueManagement>
112 <distributionManagement>
113 <repository>
114 <id>sonatype-nexus-staging</id>
115 <name>Nexus Release Repository</name>
116 <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
117 </repository>
118 <snapshotRepository>
119 <id>sonatype-nexus-snapshots</id>
120 <name>Sonatype Nexus Snapshots</name>
121 <url>${sonatypeOssDistMgmtSnapshotsUrl}</url>
122 </snapshotRepository>
123 </distributionManagement>
124
125 <properties>
126 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
127 <sonatypeOssDistMgmtSnapshotsUrl>https://oss.sonatype.org/content/repositories/snapshots/</sonatypeOssDistMgmtSnapshotsUrl>
128
129 <maven.build.timestamp.format>yyyyMMddhhmm</maven.build.timestamp.format>
130 <jacoco.home.url>http://www.eclemma.org/jacoco</jacoco.home.url>
131 <copyright.years>${project.inceptionYear}, 2015</copyright.years>
132
133 <jvm.args></jvm.args>
134 <argLine>${jvm.args}</argLine>
135
136 <!-- Dependencies versions -->
137 <asm.version>5.0.1</asm.version>
138 <ant.version>1.7.1</ant.version>
139 <junit.version>4.8.2</junit.version>
140
141 <!-- ================== -->
142 <!-- For Sonar analysis -->
143 <!-- ================== -->
144 <sonar.skippedModules>org.jacoco.tests,org.jacoco.doc</sonar.skippedModules>
145
146 <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
147 <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
148 <sonar.jacoco.reportPath>../${project.artifactId}.test/target/jacoco.exec</sonar.jacoco.reportPath>
149 <sonar.surefire.reportsPath>../${project.artifactId}.test/target/surefire-reports/</sonar.surefire.reportsPath>
150
151 <!-- See http://jira.codehaus.org/browse/SONAR-2096 -->
152 <sonar.java.source>1.5</sonar.java.source>
153 <sonar.java.target>1.5</sonar.java.target>
154 </properties>
155
156 <dependencyManagement>
157 <dependencies>
158 <!-- Project dependencies -->
159 <dependency>
160 <groupId>${project.groupId}</groupId>
161 <artifactId>org.jacoco.core</artifactId>
162 <version>${project.version}</version>
163 </dependency>
164 <dependency>
165 <groupId>${project.groupId}</groupId>
166 <artifactId>org.jacoco.report</artifactId>
167 <version>${project.version}</version>
168 </dependency>
169 <dependency>
170 <groupId>${project.groupId}</groupId>
171 <artifactId>org.jacoco.agent</artifactId>
172 <version>${project.version}</version>
173 </dependency>
174 <dependency>
175 <groupId>${project.groupId}</groupId>
176 <artifactId>org.jacoco.agent</artifactId>
177 <classifier>runtime</classifier>
178 <version>${project.version}</version>
179 </dependency>
180 <dependency>
181 <groupId>${project.groupId}</groupId>
182 <artifactId>org.jacoco.agent.rt</artifactId>
183 <version>${project.version}</version>
184 </dependency>
185 <dependency>
186 <groupId>${project.groupId}</groupId>
187 <artifactId>org.jacoco.ant</artifactId>
188 <version>${project.version}</version>
189 </dependency>
190 <dependency>
191 <groupId>${project.groupId}</groupId>
192 <artifactId>org.jacoco.ant</artifactId>
193 <classifier>nodeps</classifier>
194 <version>${project.version}</version>
195 </dependency>
196 <dependency>
197 <groupId>${project.groupId}</groupId>
198 <artifactId>org.jacoco.examples</artifactId>
199 <version>${project.version}</version>
200 </dependency>
201 <!-- Third-party dependencies -->
202 <dependency>
203 <groupId>org.ow2.asm</groupId>
204 <artifactId>asm-debug-all</artifactId>
205 <version>${asm.version}</version>
206 </dependency>
207 <dependency>
208 <groupId>org.apache.ant</groupId>
209 <artifactId>ant</artifactId>
210 <version>${ant.version}</version>
211 </dependency>
212 <dependency>
213 <groupId>org.apache.ant</groupId>
214 <artifactId>ant-junit</artifactId>
215 <version>${ant.version}</version>
216 </dependency>
217 <dependency>
218 <groupId>org.apache.ant</groupId>
219 <artifactId>ant-antunit</artifactId>
220 <version>1.2</version>
221 </dependency>
222 <dependency>
223 <groupId>junit</groupId>
224 <artifactId>junit</artifactId>
225 <version>${junit.version}</version>
226 </dependency>
227 </dependencies>
228 </dependencyManagement>
229
230 <build>
231 <resources>
232 <resource>
233 <directory>src</directory>
234 <filtering>false</filtering>
235 <excludes>
236 <exclude>**/*.java</exclude>
237 <exclude>**/*.properties</exclude>
238 </excludes>
239 </resource>
240 <resource>
241 <directory>src</directory>
242 <filtering>true</filtering>
243 <includes>
244 <include>**/*.properties</include>
245 </includes>
246 </resource>
247 <resource>
248 <directory>.</directory>
249 <filtering>true</filtering>
250 <includes>
251 <include>about.html</include>
252 </includes>
253 </resource>
254 </resources>
255
256 <pluginManagement>
257 <plugins>
258 <!-- Apache plugins -->
259 <plugin>
260 <groupId>org.apache.maven.plugins</groupId>
261 <artifactId>maven-antrun-plugin</artifactId>
262 <version>1.6</version>
263 </plugin>
264 <plugin>
265 <groupId>org.apache.maven.plugins</groupId>
266 <artifactId>maven-assembly-plugin</artifactId>
267 <version>2.2.1</version>
268 </plugin>
269 <plugin>
270 <groupId>org.apache.maven.plugins</groupId>
271 <artifactId>maven-clean-plugin</artifactId>
272 <version>2.4.1</version>
273 </plugin>
274 <plugin>
275 <groupId>org.apache.maven.plugins</groupId>
276 <artifactId>maven-compiler-plugin</artifactId>
277 <version>2.3.2</version>
278 </plugin>
279 <plugin>
280 <groupId>org.apache.maven.plugins</groupId>
281 <artifactId>maven-dependency-plugin</artifactId>
282 <version>2.2</version>
283 </plugin>
284 <plugin>
285 <groupId>org.apache.maven.plugins</groupId>
286 <artifactId>maven-deploy-plugin</artifactId>
287 <version>2.8.2</version>
288 </plugin>
289 <plugin>
290 <groupId>org.apache.maven.plugins</groupId>
291 <artifactId>maven-enforcer-plugin</artifactId>
292 <version>1.0.1</version>
293 </plugin>
294 <plugin>
295 <groupId>org.apache.maven.plugins</groupId>
296 <artifactId>maven-install-plugin</artifactId>
297 <version>2.3.1</version>
298 </plugin>
299 <plugin>
300 <groupId>org.apache.maven.plugins</groupId>
301 <artifactId>maven-invoker-plugin</artifactId>
302 <version>1.8</version>
303 </plugin>
304 <plugin>
305 <groupId>org.apache.maven.plugins</groupId>
306 <artifactId>maven-gpg-plugin</artifactId>
307 <version>1.3</version>
308 </plugin>
309 <plugin>
310 <groupId>org.apache.maven.plugins</groupId>
311 <artifactId>maven-jar-plugin</artifactId>
312 <version>2.3.1</version>
313 </plugin>
314 <plugin>
315 <groupId>org.apache.maven.plugins</groupId>
316 <artifactId>maven-jarsigner-plugin</artifactId>
317 <version>1.2</version>
318 </plugin>
319 <plugin>
320 <groupId>org.apache.maven.plugins</groupId>
321 <artifactId>maven-javadoc-plugin</artifactId>
322 <version>2.8</version>
323 <configuration>
324 <quiet>true</quiet>
325 <detectOfflineLinks>false</detectOfflineLinks>
326 </configuration>
327 </plugin>
328 <plugin>
329 <groupId>org.apache.maven.plugins</groupId>
330 <artifactId>maven-plugin-plugin</artifactId>
331 <version>3.3</version>
332 </plugin>
333 <plugin>
334 <groupId>org.apache.maven.plugins</groupId>
335 <artifactId>maven-release-plugin</artifactId>
336 <version>2.1</version>
337 <configuration>
338 <autoVersionSubmodules>true</autoVersionSubmodules>
339 <mavenExecutorId>forked-path</mavenExecutorId>
340 <useReleaseProfile>false</useReleaseProfile>
341 <!--
342 Allows to activate release profile during release.
343 We don't use releaseProfiles parameter, because it affects only release:perform goal
344 -->
345 <arguments>-Prelease</arguments>
346 </configuration>
347 </plugin>
348 <plugin>
349 <groupId>org.apache.maven.plugins</groupId>
350 <artifactId>maven-resources-plugin</artifactId>
351 <version>2.5</version>
352 </plugin>
353 <plugin>
354 <groupId>org.apache.maven.plugins</groupId>
355 <artifactId>maven-shade-plugin</artifactId>
356 <version>1.4</version>
357 </plugin>
358 <plugin>
359 <groupId>org.apache.maven.plugins</groupId>
360 <artifactId>maven-source-plugin</artifactId>
361 <version>2.1.2</version>
362 </plugin>
363 <plugin>
364 <groupId>org.apache.maven.plugins</groupId>
365 <artifactId>maven-surefire-plugin</artifactId>
366 <version>2.9</version>
367 </plugin>
368 <plugin>
369 <groupId>org.apache.maven.plugins</groupId>
370 <artifactId>maven-site-plugin</artifactId>
371 <version>3.3</version>
372 </plugin>
373 <plugin>
374 <groupId>org.apache.maven.plugins</groupId>
375 <artifactId>maven-toolchains-plugin</artifactId>
376 <version>1.0</version>
377 </plugin>
378 <!-- Mojo plugins -->
379 <plugin>
380 <groupId>org.codehaus.mojo</groupId>
381 <artifactId>animal-sniffer-maven-plugin</artifactId>
382 <version>1.6</version>
383 </plugin>
384 <plugin>
385 <groupId>org.codehaus.mojo</groupId>
386 <artifactId>build-helper-maven-plugin</artifactId>
387 <version>1.5</version>
388 </plugin>
389 <plugin>
390 <groupId>org.codehaus.mojo</groupId>
391 <artifactId>buildnumber-maven-plugin</artifactId>
392 <version>1.2</version>
393 </plugin>
394 <plugin>
395 <groupId>org.codehaus.mojo</groupId>
396 <artifactId>xml-maven-plugin</artifactId>
397 <version>1.0</version>
398 </plugin>
399 <!-- Third-party plugins -->
400 <plugin>
401 <groupId>org.codehaus.groovy.maven</groupId>
402 <artifactId>gmaven-plugin</artifactId>
403 <version>1.0</version>
404 </plugin>
405 </plugins>
406 </pluginManagement>
407
408 <plugins>
409 <plugin>
410 <groupId>org.apache.maven.plugins</groupId>
411 <artifactId>maven-surefire-plugin</artifactId>
412 <configuration>
413 <testSourceDirectory>${project.build.sourceDirectory}</testSourceDirectory>
414 <testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory>
415 </configuration>
416 </plugin>
417
418 <plugin>
419 <groupId>org.apache.maven.plugins</groupId>
420 <artifactId>maven-resources-plugin</artifactId>
421 <configuration>
422 <!-- We can't use delimiters "${*}" and "$*$" together - probably it's bug in plugin -->
423 <!-- so for now we will define only our delimiters in compliance with https://sourceforge.net/apps/trac/eclemma/changeset/1229 -->
424 <!-- but it would be better to use defaults -->
425 <useDefaultDelimiters>false</useDefaultDelimiters>
426 <delimiters>
427 <delimiter>@*@</delimiter>
428 <delimiter>$*$</delimiter>
429 </delimiters>
430 </configuration>
431 </plugin>
432
433 <plugin>
434 <groupId>org.apache.maven.plugins</groupId>
435 <artifactId>maven-shade-plugin</artifactId>
436 <configuration>
437 <filters>
438 <!-- Don't include signatures -->
439 <filter>
440 <artifact>*:*</artifact>
441 <excludes>
442 <exclude>META-INF/*.SF</exclude>
443 <exclude>META-INF/*.DSA</exclude>
444 <exclude>META-INF/*.RSA</exclude>
445 </excludes>
446 </filter>
447 </filters>
448 <transformers>
449 <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
450 <manifestEntries>
451 <Implementation-Title>${project.description}</Implementation-Title>
452 <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
453 <Implementation-Version>${project.version}</Implementation-Version>
454 </manifestEntries>
455 </transformer>
456 </transformers>
457 </configuration>
458 </plugin>
459
460 <plugin>
461 <groupId>org.apache.maven.plugins</groupId>
462 <artifactId>maven-assembly-plugin</artifactId>
463 <configuration>
464 <archiverConfig>
465 <!-- Workaround for http://jira.codehaus.org/browse/MASSEMBLY-422 -->
466 <!-- 420(dec) = 644(oct) -->
467 <fileMode>420</fileMode>
468 <!-- 493(dec) = 755(oct) -->
469 <directoryMode>493</directoryMode>
470 <defaultDirectoryMode>493</defaultDirectoryMode>
471 </archiverConfig>
472 </configuration>
473 </plugin>
474
475 <plugin>
476 <groupId>org.apache.maven.plugins</groupId>
477 <artifactId>maven-enforcer-plugin</artifactId>
478 <executions>
479 <execution>
480 <id>enforce</id>
481 <phase>validate</phase>
482 <goals>
483 <goal>enforce</goal>
484 </goals>
485 <configuration>
486 <rules>
487 <requireNoRepositories>
488 <message>The rules for repo1.maven.org are that pom.xml files should not include repository definitions.</message>
489 <banRepositories>true</banRepositories>
490 <banPluginRepositories>true</banPluginRepositories>
491 </requireNoRepositories>
492 <requireReleaseDeps>
493 <message>No SNAPSHOT versions allowed for dependencies</message>
494 <onlyWhenRelease>true</onlyWhenRelease>
495 </requireReleaseDeps>
496 <requireMavenVersion>
497 <!-- Maven 3.0.3 contains bug - see http://jira.codehaus.org/browse/MINVOKER-107 -->
498 <version>[2.2.1,3.0.0),[3.0.4,)</version>
499 </requireMavenVersion>
500 </rules>
501 </configuration>
502 </execution>
503 </executions>
504 </plugin>
505
506 <plugin>
507 <groupId>org.apache.maven.plugins</groupId>
508 <artifactId>maven-antrun-plugin</artifactId>
509 <executions>
510 <execution>
511 <id>check-license-header</id>
512 <phase>validate</phase>
513 <goals>
514 <goal>run</goal>
515 </goals>
516 <configuration>
517 <target>
518 <fileset dir="${basedir}" includes="**/*.java,**/*.xml,**/*.bsh" excludes="target/**,.idea/**,nb-configuration.xml" id="missinglicense.fileset">
519 <not>
520 <and>
521 <contains text="Copyright (c) 2009, 2015 Mountainminds GmbH &amp; Co. KG and Contributors"/>
522 <contains text="All rights reserved. This program and the accompanying materials"/>
523 <contains text="are made available under the terms of the Eclipse Public License v1.0"/>
524 <contains text="which accompanies this distribution, and is available at"/>
525 <contains text="http://www.eclipse.org/legal/epl-v10.html"/>
526 </and>
527 </not>
528 </fileset>
529 <pathconvert property="missing" refid="missinglicense.fileset"/>
530 <fail message="Invalid license info in: ${missing}">
531 <condition>
532 <not>
533 <equals arg1="${missing}" arg2=""/>
534 </not>
535 </condition>
536 </fail>
537 </target>
538 </configuration>
539 </execution>
540 </executions>
541 </plugin>
542
543 <plugin>
544 <groupId>org.codehaus.mojo</groupId>
545 <artifactId>build-helper-maven-plugin</artifactId>
546 <executions>
547 <execution>
548 <id>parse-version</id>
549 <phase>validate</phase>
550 <goals>
551 <goal>parse-version</goal>
552 </goals>
553 </execution>
554 </executions>
555 </plugin>
556
557 <plugin>
558 <groupId>org.codehaus.mojo</groupId>
559 <artifactId>buildnumber-maven-plugin</artifactId>
560 <executions>
561 <execution>
562 <phase>validate</phase>
563 <goals>
564 <goal>create</goal>
565 </goals>
566 </execution>
567 </executions>
568 <configuration>
569 <doCheck>false</doCheck>
570 <doUpdate>false</doUpdate>
571 <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
572 <revisionOnScmFailure>0000000</revisionOnScmFailure>
573 </configuration>
574 </plugin>
575
576 <plugin>
577 <groupId>org.codehaus.groovy.maven</groupId>
578 <artifactId>gmaven-plugin</artifactId>
579 <executions>
580 <execution>
581 <id>parse-version</id>
582 <phase>validate</phase>
583 <goals>
584 <goal>execute</goal>
585 </goals>
586 <configuration>
587 <source>
588 major = project.properties['parsedVersion.majorVersion']
589 minor = project.properties['parsedVersion.minorVersion']
590 incremental = project.properties['parsedVersion.incrementalVersion']
591 qualifier = "${maven.build.timestamp}"
592 project.properties['buildQualifier'] = qualifier
593 project.properties['unqualifiedVersion'] = major + '.' + minor + '.' + incremental
594 project.properties['qualified.bundle.version'] = project.properties['unqualifiedVersion'] + '.' + project.properties['buildQualifier']
595 project.properties['build.date'] = qualifier.substring(0, 4) + '/' + qualifier.substring(4, 6) + '/' + qualifier.substring(6, 8)
596 buildNumber = project.properties['buildNumber']
597 project.properties['jacoco.runtime.package.name'] = "org.jacoco.agent.rt.internal_" + buildNumber.substring(buildNumber.length() - 7, buildNumber.length())
598 </source>
599 </configuration>
600 </execution>
601 </executions>
602 </plugin>
603 </plugins>
604 </build>
605
606 <profiles>
607 <!-- This profile is used to launch tests with different JDK versions. -->
608 <profile>
609 <id>integration-tests</id>
610 <activation>
611 <property>
612 <name>jdk.version</name>
613 </property>
614 </activation>
615 <build>
616 <plugins>
617 <!-- See http://maven.apache.org/guides/mini/guide-using-toolchains.html -->
618 <plugin>
619 <groupId>org.apache.maven.plugins</groupId>
620 <artifactId>maven-toolchains-plugin</artifactId>
621 <executions>
622 <execution>
623 <phase>validate</phase>
624 <goals>
625 <goal>toolchain</goal>
626 </goals>
627 </execution>
628 </executions>
629 <configuration>
630 <toolchains>
631 <jdk>
632 <version>${jdk.version}</version>
633 </jdk>
634 </toolchains>
635 </configuration>
636 </plugin>
637 </plugins>
638 </build>
639 </profile>
640
641 <!-- This profile is used to launch tests with compilation into specific bytecode version. -->
642 <profile>
643 <id>bytecode</id>
644 <activation>
645 <property>
646 <name>bytecode.version</name>
647 </property>
648 </activation>
649 <properties>
650 <maven.compiler.source>${bytecode.version}</maven.compiler.source>
651 <maven.compiler.target>${bytecode.version}</maven.compiler.target>
652 </properties>
653 </profile>
654
655 <profile>
656 <id>jdk16</id>
657 <activation>
658 <property>
659 <name>jdk.version</name>
660 <value>1.6</value>
661 </property>
662 </activation>
663 <properties>
664 <jvm.args>-XX:-FailOverToOldVerifier -Xverify:all</jvm.args>
665 </properties>
666 </profile>
667
668 <profile>
669 <id>jdk17</id>
670 <activation>
671 <property>
672 <name>jdk.version</name>
673 <value>1.7</value>
674 </property>
675 </activation>
676 <properties>
677 <jvm.args>-XX:-FailOverToOldVerifier -Xverify:all</jvm.args>
678 </properties>
679 </profile>
680
681 <profile>
682 <id>jdk18</id>
683 <activation>
684 <property>
685 <name>jdk.version</name>
686 <value>1.8</value>
687 </property>
688 </activation>
689 <properties>
690 <jvm.args>-XX:-FailOverToOldVerifier -Xverify:all</jvm.args>
691 </properties>
692 </profile>
693
694 <profile>
695 <id>sign</id>
696 <activation>
697 <property>
698 <name>jarsigner.alias</name>
699 </property>
700 </activation>
701 <build>
702 <plugins>
703 <plugin>
704 <groupId>org.apache.maven.plugins</groupId>
705 <artifactId>maven-jarsigner-plugin</artifactId>
706 <executions>
707 <execution>
708 <id>sign</id>
709 <goals>
710 <goal>sign</goal>
711 </goals>
712 <configuration>
713 <arguments>
714 <!-- TODO Godin: there is no parameters for TSA in plugin, so we use workaround - see http://jira.codehaus.org/browse/MJARSIGNER-16 -->
715 <argument>-tsa</argument>
716 <argument>${jarsigner.tsa}</argument>
717 <argument>-tsacert</argument>
718 <argument>${jarsigner.tsacert}</argument>
719 </arguments>
720 </configuration>
721 </execution>
722 </executions>
723 </plugin>
724 </plugins>
725 </build>
726 </profile>
727
728 <profile>
729 <id>manifest</id>
730 <activation>
731 <file>
732 <exists>META-INF/MANIFEST.MF</exists>
733 </file>
734 </activation>
735 <properties>
736 <bundle-manifest>${project.build.directory}/META-INF/MANIFEST.MF</bundle-manifest>
737 </properties>
738 <build>
739 <plugins>
740 <plugin>
741 <groupId>org.apache.maven.plugins</groupId>
742 <artifactId>maven-antrun-plugin</artifactId>
743 <executions>
744 <execution>
745 <id>translate-qualifier</id>
746 <phase>generate-resources</phase>
747 <configuration>
748 <target>
749 <copy file="META-INF/MANIFEST.MF" tofile="${bundle-manifest}" overwrite="true"/>
750 <replace file="${bundle-manifest}">
751 <replacefilter token=".qualifier" value=".${buildQualifier}"/>
752 </replace>
753 </target>
754 </configuration>
755 <goals>
756 <goal>run</goal>
757 </goals>
758 </execution>
759 </executions>
760 </plugin>
761 <plugin>
762 <groupId>org.apache.maven.plugins</groupId>
763 <artifactId>maven-jar-plugin</artifactId>
764 <configuration>
765 <archive>
766 <manifestFile>${bundle-manifest}</manifestFile>
767 <manifestEntries>
768 <Eclipse-SourceReferences>scm:git:git://github.com/jacoco/jacoco.git;path="${project.artifactId}";commitId=${buildNumber}</Eclipse-SourceReferences>
769 </manifestEntries>
770 </archive>
771 </configuration>
772 </plugin>
773 </plugins>
774 </build>
775 </profile>
776
777 <profile>
778 <id>sources</id>
779 <activation>
780 <file>
781 <exists>src/</exists>
782 </file>
783 </activation>
784 <build>
785 <plugins>
786 <!-- Generates jar with sources -->
787 <plugin>
788 <groupId>org.apache.maven.plugins</groupId>
789 <artifactId>maven-source-plugin</artifactId>
790 <executions>
791 <execution>
792 <id>attach-sources</id>
793 <phase>verify</phase>
794 <goals>
795 <goal>jar-no-fork</goal>
796 </goals>
797 </execution>
798 </executions>
799 </plugin>
800 <!-- Generates Javadoc -->
801 <plugin>
802 <groupId>org.apache.maven.plugins</groupId>
803 <artifactId>maven-javadoc-plugin</artifactId>
804 <executions>
805 <execution>
806 <id>attach-javadocs</id>
807 <goals>
808 <goal>jar</goal>
809 </goals>
810 </execution>
811 </executions>
812 </plugin>
813 </plugins>
814 </build>
815 </profile>
816
817 <!-- This profile is activated when a project is released. -->
818 <profile>
819 <id>release</id>
820 <build>
821 <plugins>
822 <plugin>
823 <groupId>org.apache.maven.plugins</groupId>
824 <artifactId>maven-enforcer-plugin</artifactId>
825 <inherited>false</inherited>
826 <executions>
827 <execution>
828 <id>enforce-release-rules</id>
829 <phase>verify</phase>
830 <goals>
831 <goal>enforce</goal>
832 </goals>
833 <configuration>
834 <rules>
835 <!--
836 <requireActiveProfile>
837 <message>You must sign JARs during release.</message>
838 <profiles>sign</profiles>
839 </requireActiveProfile>
840 -->
841 <requireReleaseVersion/>
842 <requireProperty>
843 <property>buildNumber</property>
844 <regex>[0-9a-f]{40}</regex>
845 </requireProperty>
846 </rules>
847 </configuration>
848 </execution>
849 </executions>
850 </plugin>
851 <!-- Checks compatibility with Java API -->
852 <plugin>
853 <groupId>org.codehaus.mojo</groupId>
854 <artifactId>animal-sniffer-maven-plugin</artifactId>
855 <executions>
856 <execution>
857 <id>enforce-java-api-compatibility</id>
858 <phase>verify</phase>
859 <goals>
860 <goal>check</goal>
861 </goals>
862 <configuration>
863 <signature>
864 <groupId>org.codehaus.mojo.signature</groupId>
865 <artifactId>java15</artifactId>
866 <version>1.0</version>
867 </signature>
868 </configuration>
869 </execution>
870 </executions>
871 </plugin>
872 <!-- Signs artifacts -->
873 <plugin>
874 <groupId>org.apache.maven.plugins</groupId>
875 <artifactId>maven-gpg-plugin</artifactId>
876 <executions>
877 <execution>
878 <id>sign-artifacts</id>
879 <phase>verify</phase>
880 <goals>
881 <goal>sign</goal>
882 </goals>
883 </execution>
884 </executions>
885 </plugin>
886 </plugins>
887 </build>
888 </profile>
889
890 <!-- This profile is active only when used from Eclipse m2e and is used only to store settings. -->
891 <profile>
892 <id>m2e</id>
893 <activation>
894 <property>
895 <name>m2e.version</name>
896 </property>
897 </activation>
898 <build>
899 <pluginManagement>
900 <plugins>
901 <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
902 <plugin>
903 <groupId>org.eclipse.m2e</groupId>
904 <artifactId>lifecycle-mapping</artifactId>
905 <version>1.0.0</version>
906 <configuration>
907 <lifecycleMappingMetadata>
908 <pluginExecutions>
909 <pluginExecution>
910 <pluginExecutionFilter>
911 <groupId>org.apache.maven.plugins</groupId>
912 <artifactId>maven-antrun-plugin</artifactId>
913 <versionRange>[0,)</versionRange>
914 <goals>
915 <goal>run</goal>
916 </goals>
917 </pluginExecutionFilter>
918 <action>
919 <ignore></ignore>
920 </action>
921 </pluginExecution>
922 <pluginExecution>
923 <pluginExecutionFilter>
924 <groupId>org.apache.maven.plugins</groupId>
925 <artifactId>maven-invoker-plugin</artifactId>
926 <versionRange>[0,)</versionRange>
927 <goals>
928 <goal>install</goal>
929 </goals>
930 </pluginExecutionFilter>
931 <action>
932 <ignore></ignore>
933 </action>
934 </pluginExecution>
935 <pluginExecution>
936 <pluginExecutionFilter>
937 <groupId>org.apache.maven.plugins</groupId>
938 <artifactId>maven-dependency-plugin</artifactId>
939 <versionRange>[0,)</versionRange>
940 <goals>
941 <goal>unpack</goal>
942 <goal>copy-dependencies</goal>
943 </goals>
944 </pluginExecutionFilter>
945 <action>
946 <ignore></ignore>
947 </action>
948 </pluginExecution>
949 <pluginExecution>
950 <pluginExecutionFilter>
951 <groupId>org.codehaus.groovy.maven</groupId>
952 <artifactId>gmaven-plugin</artifactId>
953 <versionRange>[0,)</versionRange>
954 <goals>
955 <goal>execute</goal>
956 </goals>
957 </pluginExecutionFilter>
958 <action>
959 <ignore></ignore>
960 </action>
961 </pluginExecution>
962 <pluginExecution>
963 <pluginExecutionFilter>
964 <groupId>org.codehaus.mojo</groupId>
965 <artifactId>xml-maven-plugin</artifactId>
966 <versionRange>[0,)</versionRange>
967 <goals>
968 <goal>transform</goal>
969 </goals>
970 </pluginExecutionFilter>
971 <action>
972 <ignore></ignore>
973 </action>
974 </pluginExecution>
975 <pluginExecution>
976 <pluginExecutionFilter>
977 <groupId>org.jacoco</groupId>
978 <artifactId>jacoco-maven-plugin</artifactId>
979 <versionRange>[0,)</versionRange>
980 <goals>
981 <goal>prepare-agent</goal>
982 </goals>
983 </pluginExecutionFilter>
984 <action>
985 <ignore></ignore>
986 </action>
987 </pluginExecution>
988 <pluginExecution>
989 <pluginExecutionFilter>
990 <groupId>org.apache.maven.plugins</groupId>
991 <artifactId>maven-enforcer-plugin</artifactId>
992 <versionRange>[0,)</versionRange>
993 <goals>
994 <goal>enforce</goal>
995 </goals>
996 </pluginExecutionFilter>
997 <action>
998 <ignore></ignore>
999 </action>
1000 </pluginExecution>
1001 <pluginExecution>
1002 <pluginExecutionFilter>
1003 <groupId>org.codehaus.mojo</groupId>
1004 <artifactId>build-helper-maven-plugin</artifactId>
1005 <versionRange>[0,)</versionRange>
1006 <goals>
1007 <goal>parse-version</goal>
1008 </goals>
1009 </pluginExecutionFilter>
1010 <action>
1011 <ignore></ignore>
1012 </action>
1013 </pluginExecution>
1014 </pluginExecutions>
1015 </lifecycleMappingMetadata>
1016 </configuration>
1017 </plugin>
1018 </plugins>
1019 </pluginManagement>
1020 </build>
1021 </profile>
1022 </profiles>
1023
1024</project>