1<?xml version="1.0" encoding="UTF-8"?> 2<!-- 3 Copyright (c) 2009, 2019 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.8.4</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 & 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 <module>../org.jacoco.cli</module> 94 <module>../org.jacoco.examples</module> 95 <module>../jacoco-maven-plugin</module> 96 97 <module>../org.jacoco.tests</module> 98 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.jacoco.org/jacoco</jacoco.home.url> 131 <copyright.years>${project.inceptionYear}, 2019</copyright.years> 132 133 <bytecode.version>1.5</bytecode.version> 134 <maven.compiler.source>${bytecode.version}</maven.compiler.source> 135 <maven.compiler.target>${bytecode.version}</maven.compiler.target> 136 137 <jvm.args></jvm.args> 138 <argLine>${jvm.args}</argLine> 139 140 <!-- Dependencies versions --> 141 <asm.version>7.1</asm.version> 142 <ant.version>1.7.1</ant.version> 143 <args4j.version>2.0.28</args4j.version> 144 <junit.version>4.8.2</junit.version> 145 146 <!-- ================== --> 147 <!-- For SonarQube analysis --> 148 <!-- ================== --> 149 <sonar.jacoco.reportPath>../${project.artifactId}.test/target/jacoco.exec</sonar.jacoco.reportPath> 150 <sonar.surefire.reportsPath>../${project.artifactId}.test/target/surefire-reports/</sonar.surefire.reportsPath> 151 152 <!-- See http://jira.codehaus.org/browse/SONAR-2096 --> 153 <sonar.java.source>1.5</sonar.java.source> 154 <sonar.java.target>1.5</sonar.java.target> 155 </properties> 156 157 <dependencyManagement> 158 <dependencies> 159 <!-- Project dependencies --> 160 <dependency> 161 <groupId>${project.groupId}</groupId> 162 <artifactId>org.jacoco.core</artifactId> 163 <version>${project.version}</version> 164 </dependency> 165 <dependency> 166 <groupId>${project.groupId}</groupId> 167 <artifactId>org.jacoco.report</artifactId> 168 <version>${project.version}</version> 169 </dependency> 170 <dependency> 171 <groupId>${project.groupId}</groupId> 172 <artifactId>org.jacoco.agent</artifactId> 173 <version>${project.version}</version> 174 </dependency> 175 <dependency> 176 <groupId>${project.groupId}</groupId> 177 <artifactId>org.jacoco.agent</artifactId> 178 <classifier>runtime</classifier> 179 <version>${project.version}</version> 180 </dependency> 181 <dependency> 182 <groupId>${project.groupId}</groupId> 183 <artifactId>org.jacoco.agent.rt</artifactId> 184 <version>${project.version}</version> 185 </dependency> 186 <dependency> 187 <groupId>${project.groupId}</groupId> 188 <artifactId>org.jacoco.ant</artifactId> 189 <version>${project.version}</version> 190 </dependency> 191 <dependency> 192 <groupId>${project.groupId}</groupId> 193 <artifactId>org.jacoco.ant</artifactId> 194 <classifier>nodeps</classifier> 195 <version>${project.version}</version> 196 </dependency> 197 <dependency> 198 <groupId>${project.groupId}</groupId> 199 <artifactId>org.jacoco.cli</artifactId> 200 <version>${project.version}</version> 201 </dependency> 202 <dependency> 203 <groupId>${project.groupId}</groupId> 204 <artifactId>org.jacoco.examples</artifactId> 205 <version>${project.version}</version> 206 </dependency> 207 <!-- Third-party dependencies --> 208 <dependency> 209 <groupId>org.ow2.asm</groupId> 210 <artifactId>asm</artifactId> 211 <version>${asm.version}</version> 212 </dependency> 213 <dependency> 214 <groupId>org.ow2.asm</groupId> 215 <artifactId>asm-commons</artifactId> 216 <version>${asm.version}</version> 217 </dependency> 218 <dependency> 219 <groupId>org.ow2.asm</groupId> 220 <artifactId>asm-tree</artifactId> 221 <version>${asm.version}</version> 222 </dependency> 223 <dependency> 224 <groupId>org.ow2.asm</groupId> 225 <artifactId>asm-analysis</artifactId> 226 <version>${asm.version}</version> 227 </dependency> 228 <dependency> 229 <groupId>org.ow2.asm</groupId> 230 <artifactId>asm-util</artifactId> 231 <version>${asm.version}</version> 232 </dependency> 233 <dependency> 234 <groupId>org.apache.ant</groupId> 235 <artifactId>ant</artifactId> 236 <version>${ant.version}</version> 237 </dependency> 238 <dependency> 239 <groupId>org.apache.ant</groupId> 240 <artifactId>ant-junit</artifactId> 241 <version>${ant.version}</version> 242 </dependency> 243 <dependency> 244 <groupId>org.apache.ant</groupId> 245 <artifactId>ant-antunit</artifactId> 246 <version>1.2</version> 247 </dependency> 248 <dependency> 249 <groupId>args4j</groupId> 250 <artifactId>args4j</artifactId> 251 <version>${args4j.version}</version> 252 </dependency> 253 <dependency> 254 <groupId>junit</groupId> 255 <artifactId>junit</artifactId> 256 <version>${junit.version}</version> 257 </dependency> 258 </dependencies> 259 </dependencyManagement> 260 261 <build> 262 <resources> 263 <resource> 264 <directory>src</directory> 265 <filtering>false</filtering> 266 <excludes> 267 <exclude>**/*.java</exclude> 268 <exclude>**/*.kt</exclude> 269 <exclude>**/*.groovy</exclude> 270 <exclude>**/*.properties</exclude> 271 </excludes> 272 </resource> 273 <resource> 274 <directory>src</directory> 275 <filtering>true</filtering> 276 <includes> 277 <include>**/*.properties</include> 278 </includes> 279 </resource> 280 <resource> 281 <directory>.</directory> 282 <filtering>true</filtering> 283 <includes> 284 <include>about.html</include> 285 </includes> 286 </resource> 287 </resources> 288 289 <pluginManagement> 290 <plugins> 291 <!-- Apache plugins --> 292 <plugin> 293 <groupId>org.apache.maven.plugins</groupId> 294 <artifactId>maven-antrun-plugin</artifactId> 295 <version>1.6</version> 296 </plugin> 297 <plugin> 298 <groupId>org.apache.maven.plugins</groupId> 299 <artifactId>maven-assembly-plugin</artifactId> 300 <version>2.2.1</version> 301 </plugin> 302 <plugin> 303 <groupId>org.apache.maven.plugins</groupId> 304 <artifactId>maven-clean-plugin</artifactId> 305 <version>2.4.1</version> 306 </plugin> 307 <plugin> 308 <groupId>org.apache.maven.plugins</groupId> 309 <artifactId>maven-compiler-plugin</artifactId> 310 <version>3.7.0</version> 311 </plugin> 312 <plugin> 313 <groupId>org.apache.maven.plugins</groupId> 314 <artifactId>maven-dependency-plugin</artifactId> 315 <version>2.2</version> 316 </plugin> 317 <plugin> 318 <groupId>org.apache.maven.plugins</groupId> 319 <artifactId>maven-deploy-plugin</artifactId> 320 <version>2.8.2</version> 321 </plugin> 322 <plugin> 323 <groupId>org.apache.maven.plugins</groupId> 324 <artifactId>maven-enforcer-plugin</artifactId> 325 <version>3.0.0-M2</version> 326 </plugin> 327 <plugin> 328 <groupId>org.apache.maven.plugins</groupId> 329 <artifactId>maven-install-plugin</artifactId> 330 <version>2.3.1</version> 331 </plugin> 332 <plugin> 333 <groupId>org.apache.maven.plugins</groupId> 334 <artifactId>maven-invoker-plugin</artifactId> 335 <version>2.0.0</version> 336 </plugin> 337 <plugin> 338 <groupId>org.apache.maven.plugins</groupId> 339 <artifactId>maven-gpg-plugin</artifactId> 340 <version>1.3</version> 341 </plugin> 342 <plugin> 343 <groupId>org.apache.maven.plugins</groupId> 344 <artifactId>maven-jar-plugin</artifactId> 345 <version>2.3.1</version> 346 </plugin> 347 <plugin> 348 <groupId>org.apache.maven.plugins</groupId> 349 <artifactId>maven-javadoc-plugin</artifactId> 350 <!-- 351 Do not upgrade to 3.1.0 because it has troubles with "Automatic-Module-Name" 352 See https://issues.apache.org/jira/browse/MJAVADOC-588 353 --> 354 <version>3.0.1</version> 355 <configuration> 356 <quiet>true</quiet> 357 <detectOfflineLinks>false</detectOfflineLinks> 358 </configuration> 359 </plugin> 360 <plugin> 361 <groupId>org.apache.maven.plugins</groupId> 362 <artifactId>maven-plugin-plugin</artifactId> 363 <version>3.6.0</version> 364 <dependencies> 365 <dependency> 366 <!-- Workaround to be able to compile into Java 13 bytecode --> 367 <groupId>org.ow2.asm</groupId> 368 <artifactId>asm</artifactId> 369 <version>7.1</version> 370 </dependency> 371 </dependencies> 372 </plugin> 373 <plugin> 374 <groupId>org.apache.maven.plugins</groupId> 375 <artifactId>maven-release-plugin</artifactId> 376 <version>2.1</version> 377 <configuration> 378 <autoVersionSubmodules>true</autoVersionSubmodules> 379 <mavenExecutorId>forked-path</mavenExecutorId> 380 <useReleaseProfile>false</useReleaseProfile> 381 <!-- 382 Allows to activate release profile during release. 383 We don't use releaseProfiles parameter, because it affects only release:perform goal 384 --> 385 <arguments>-Prelease</arguments> 386 </configuration> 387 </plugin> 388 <plugin> 389 <groupId>org.apache.maven.plugins</groupId> 390 <artifactId>maven-resources-plugin</artifactId> 391 <version>2.5</version> 392 </plugin> 393 <plugin> 394 <groupId>org.apache.maven.plugins</groupId> 395 <artifactId>maven-shade-plugin</artifactId> 396 <version>3.2.1</version> 397 <dependencies> 398 <dependency> 399 <!-- Workaround to be able to compile into Java 13 bytecode --> 400 <groupId>org.ow2.asm</groupId> 401 <artifactId>asm</artifactId> 402 <version>7.1</version> 403 </dependency> 404 </dependencies> 405 </plugin> 406 <plugin> 407 <groupId>org.apache.maven.plugins</groupId> 408 <artifactId>maven-source-plugin</artifactId> 409 <version>2.1.2</version> 410 </plugin> 411 <plugin> 412 <groupId>org.apache.maven.plugins</groupId> 413 <artifactId>maven-surefire-plugin</artifactId> 414 <version>2.9</version> 415 </plugin> 416 <plugin> 417 <groupId>org.apache.maven.plugins</groupId> 418 <artifactId>maven-site-plugin</artifactId> 419 <version>3.3</version> 420 </plugin> 421 <plugin> 422 <groupId>org.apache.maven.plugins</groupId> 423 <artifactId>maven-toolchains-plugin</artifactId> 424 <version>1.0</version> 425 </plugin> 426 <!-- Mojo plugins --> 427 <plugin> 428 <groupId>org.codehaus.mojo</groupId> 429 <artifactId>animal-sniffer-maven-plugin</artifactId> 430 <version>1.6</version> 431 </plugin> 432 <plugin> 433 <groupId>org.codehaus.mojo</groupId> 434 <artifactId>build-helper-maven-plugin</artifactId> 435 <version>1.5</version> 436 </plugin> 437 <plugin> 438 <groupId>org.codehaus.mojo</groupId> 439 <artifactId>buildnumber-maven-plugin</artifactId> 440 <version>1.2</version> 441 </plugin> 442 <plugin> 443 <groupId>org.codehaus.mojo</groupId> 444 <artifactId>xml-maven-plugin</artifactId> 445 <version>1.0</version> 446 </plugin> 447 <plugin> 448 <groupId>org.codehaus.mojo</groupId> 449 <artifactId>exec-maven-plugin</artifactId> 450 <!-- latest version which runs with Java 5 --> 451 <version>1.5.0</version> 452 </plugin> 453 <!-- Third-party plugins --> 454 <plugin> 455 <groupId>com.github.genthaler</groupId> 456 <artifactId>beanshell-maven-plugin</artifactId> 457 <version>1.4</version> 458 </plugin> 459 <plugin> 460 <groupId>org.apache.felix</groupId> 461 <artifactId>maven-bundle-plugin</artifactId> 462 <version>3.5.1</version> 463 </plugin> 464 </plugins> 465 </pluginManagement> 466 467 <plugins> 468 <plugin> 469 <groupId>org.apache.maven.plugins</groupId> 470 <artifactId>maven-surefire-plugin</artifactId> 471 <configuration> 472 <testSourceDirectory>${project.build.sourceDirectory}</testSourceDirectory> 473 <testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory> 474 </configuration> 475 </plugin> 476 477 <plugin> 478 <groupId>org.apache.maven.plugins</groupId> 479 <artifactId>maven-resources-plugin</artifactId> 480 <configuration> 481 <!-- We can't use delimiters "${*}" and "$*$" together - probably it's bug in plugin --> 482 <!-- so for now we will define only our delimiters in compliance with https://sourceforge.net/apps/trac/eclemma/changeset/1229 --> 483 <!-- but it would be better to use defaults --> 484 <useDefaultDelimiters>false</useDefaultDelimiters> 485 <delimiters> 486 <delimiter>@*@</delimiter> 487 <delimiter>$*$</delimiter> 488 </delimiters> 489 </configuration> 490 </plugin> 491 492 <plugin> 493 <groupId>org.apache.maven.plugins</groupId> 494 <artifactId>maven-shade-plugin</artifactId> 495 <configuration> 496 <filters> 497 <!-- Don't include signatures --> 498 <filter> 499 <artifact>*:*</artifact> 500 <excludes> 501 <exclude>META-INF/*.SF</exclude> 502 <exclude>META-INF/*.DSA</exclude> 503 <exclude>META-INF/*.RSA</exclude> 504 </excludes> 505 </filter> 506 </filters> 507 </configuration> 508 </plugin> 509 510 <plugin> 511 <groupId>org.apache.maven.plugins</groupId> 512 <artifactId>maven-assembly-plugin</artifactId> 513 <configuration> 514 <archiverConfig> 515 <!-- Workaround for http://jira.codehaus.org/browse/MASSEMBLY-422 --> 516 <!-- 420(dec) = 644(oct) --> 517 <fileMode>420</fileMode> 518 <!-- 493(dec) = 755(oct) --> 519 <directoryMode>493</directoryMode> 520 <defaultDirectoryMode>493</defaultDirectoryMode> 521 </archiverConfig> 522 </configuration> 523 </plugin> 524 525 <plugin> 526 <groupId>org.apache.maven.plugins</groupId> 527 <artifactId>maven-enforcer-plugin</artifactId> 528 <executions> 529 <execution> 530 <id>enforce</id> 531 <phase>validate</phase> 532 <goals> 533 <goal>enforce</goal> 534 </goals> 535 <configuration> 536 <rules> 537 <requireJavaVersion> 538 <version>1.8</version> 539 </requireJavaVersion> 540 <requireMavenVersion> 541 <version>3.3.9</version> 542 </requireMavenVersion> 543 <requireNoRepositories> 544 <message>The rules for repo1.maven.org are that pom.xml files should not include repository definitions.</message> 545 <banRepositories>true</banRepositories> 546 <banPluginRepositories>true</banPluginRepositories> 547 </requireNoRepositories> 548 <requireReleaseDeps> 549 <message>No SNAPSHOT versions allowed for dependencies</message> 550 <onlyWhenRelease>true</onlyWhenRelease> 551 </requireReleaseDeps> 552 </rules> 553 </configuration> 554 </execution> 555 </executions> 556 </plugin> 557 558 <plugin> 559 <groupId>org.apache.maven.plugins</groupId> 560 <artifactId>maven-antrun-plugin</artifactId> 561 <executions> 562 <execution> 563 <id>check-license-header</id> 564 <phase>validate</phase> 565 <goals> 566 <goal>run</goal> 567 </goals> 568 <configuration> 569 <target> 570 <fileset dir="${basedir}" includes="**/*.java,**/*.xml,**/*.bsh" excludes="target/**,.idea/**,nb-configuration.xml" id="missinglicense.fileset"> 571 <include name="**/*.kt"/> 572 <include name="**/*.groovy"/> 573 <not> 574 <and> 575 <contains text="Copyright (c) 2009, 2019 Mountainminds GmbH & Co. KG and Contributors"/> 576 <contains text="All rights reserved. This program and the accompanying materials"/> 577 <contains text="are made available under the terms of the Eclipse Public License v1.0"/> 578 <contains text="which accompanies this distribution, and is available at"/> 579 <contains text="http://www.eclipse.org/legal/epl-v10.html"/> 580 </and> 581 </not> 582 </fileset> 583 <pathconvert property="missing" refid="missinglicense.fileset"/> 584 <fail message="Invalid license info in: ${missing}"> 585 <condition> 586 <not> 587 <equals arg1="${missing}" arg2=""/> 588 </not> 589 </condition> 590 </fail> 591 </target> 592 </configuration> 593 </execution> 594 </executions> 595 </plugin> 596 597 <plugin> 598 <groupId>org.codehaus.mojo</groupId> 599 <artifactId>build-helper-maven-plugin</artifactId> 600 <executions> 601 <execution> 602 <id>parse-version</id> 603 <phase>validate</phase> 604 <goals> 605 <goal>parse-version</goal> 606 </goals> 607 </execution> 608 </executions> 609 </plugin> 610 611 <plugin> 612 <groupId>org.codehaus.mojo</groupId> 613 <artifactId>buildnumber-maven-plugin</artifactId> 614 <executions> 615 <execution> 616 <phase>validate</phase> 617 <goals> 618 <goal>create</goal> 619 </goals> 620 </execution> 621 </executions> 622 <configuration> 623 <doCheck>false</doCheck> 624 <doUpdate>false</doUpdate> 625 <getRevisionOnlyOnce>true</getRevisionOnlyOnce> 626 <revisionOnScmFailure>0000000</revisionOnScmFailure> 627 </configuration> 628 </plugin> 629 630 <plugin> 631 <groupId>com.github.genthaler</groupId> 632 <artifactId>beanshell-maven-plugin</artifactId> 633 <executions> 634 <execution> 635 <id>parse-version</id> 636 <phase>validate</phase> 637 <goals> 638 <goal>run</goal> 639 </goals> 640 <configuration> 641 <quiet>true</quiet> 642 <script><![CDATA[ 643 major = project.getProperties().get("parsedVersion.majorVersion"); 644 minor = project.getProperties().get("parsedVersion.minorVersion"); 645 incremental = project.getProperties().get("parsedVersion.incrementalVersion"); 646 unqualifiedVersion = major + "." + minor + "." + incremental; 647 project.getProperties().setProperty("unqualifiedVersion", unqualifiedVersion); 648 649 qualifier = "${maven.build.timestamp}"; 650 project.getProperties().setProperty("buildQualifier", qualifier); 651 652 qualifiedVersion = unqualifiedVersion + "." + qualifier; 653 project.getProperties().setProperty("qualified.bundle.version", qualifiedVersion); 654 655 buildDate = qualifier.substring(0, 4) + "/" + qualifier.substring(4, 6) + "/" + qualifier.substring(6, 8); 656 project.getProperties().setProperty("build.date", buildDate); 657 658 buildNumber = project.getProperties().get("buildNumber"); 659 pkgName = buildNumber.substring(buildNumber.length() - 7, buildNumber.length()); 660 project.getProperties().setProperty("jacoco.runtime.package.name", "org.jacoco.agent.rt.internal_" + pkgName); 661 ]]> 662 </script> 663 </configuration> 664 </execution> 665 </executions> 666 </plugin> 667 668 <plugin> 669 <groupId>org.apache.felix</groupId> 670 <artifactId>maven-bundle-plugin</artifactId> 671 <configuration> 672 <instructions> 673 <Automatic-Module-Name>${project.artifactId}</Automatic-Module-Name> 674 <Bundle-Version>${qualified.bundle.version}</Bundle-Version> 675 <Bundle-Name>${project.description}</Bundle-Name> 676 <Export-Package> 677 !about.html, 678 *.internal*;x-internal:=true;version="${version;===;${Bundle-Version}}", 679 *;version="${version;===;${Bundle-Version}}" 680 </Export-Package> 681 <Import-Package> 682 org.jacoco.*;version="${range;[===,==+);${Bundle-Version}}", 683 org.objectweb.asm.*;version="${range;[===,=+);${asm.version}}" 684 </Import-Package> 685 <Bundle-RequiredExecutionEnvironment>J2SE-1.5</Bundle-RequiredExecutionEnvironment> 686 <Eclipse-SourceReferences>scm:git:git://github.com/jacoco/jacoco.git;path="${project.artifactId}";commitId=${buildNumber}</Eclipse-SourceReferences> 687 </instructions> 688 </configuration> 689 </plugin> 690 </plugins> 691 </build> 692 693 <profiles> 694 <!-- http://openjdk.java.net/jeps/182 --> 695 <profile> 696 <id>maven-jdk9</id> 697 <activation> 698 <jdk>[9,12)</jdk> 699 </activation> 700 <properties> 701 <bytecode.version>6</bytecode.version> 702 </properties> 703 </profile> 704 705 <profile> 706 <id>maven-jdk12</id> 707 <activation> 708 <jdk>[12,)</jdk> 709 </activation> 710 <properties> 711 <bytecode.version>7</bytecode.version> 712 </properties> 713 </profile> 714 715 <!-- This profile enables use of JDK from Maven Toolchains --> 716 <profile> 717 <id>integration-tests</id> 718 <activation> 719 <property> 720 <name>jdk.version</name> 721 </property> 722 </activation> 723 <build> 724 <plugins> 725 <!-- See http://maven.apache.org/guides/mini/guide-using-toolchains.html --> 726 <plugin> 727 <groupId>org.apache.maven.plugins</groupId> 728 <artifactId>maven-toolchains-plugin</artifactId> 729 <executions> 730 <execution> 731 <phase>validate</phase> 732 <goals> 733 <goal>toolchain</goal> 734 </goals> 735 </execution> 736 </executions> 737 <configuration> 738 <toolchains> 739 <jdk> 740 <version>${jdk.version}</version> 741 </jdk> 742 </toolchains> 743 </configuration> 744 </plugin> 745 </plugins> 746 </build> 747 </profile> 748 749 <!-- This profile enables use of ECJ --> 750 <profile> 751 <id>ecj</id> 752 <activation> 753 <property> 754 <name>ecj</name> 755 </property> 756 </activation> 757 <build> 758 <plugins> 759 <plugin> 760 <groupId>org.apache.maven.plugins</groupId> 761 <artifactId>maven-compiler-plugin</artifactId> 762 <configuration> 763 <compilerId>eclipse</compilerId> 764 <source>1.8</source> 765 <target>1.8</target> 766 </configuration> 767 <dependencies> 768 <dependency> 769 <groupId>org.eclipse.jdt.core.compiler</groupId> 770 <artifactId>ecj</artifactId> 771 <version>4.6.1</version> 772 </dependency> 773 <dependency> 774 <groupId>org.codehaus.plexus</groupId> 775 <artifactId>plexus-compiler-eclipse</artifactId> 776 <version>2.8.1</version> 777 </dependency> 778 </dependencies> 779 </plugin> 780 </plugins> 781 </build> 782 </profile> 783 784 <!-- 785 Profiles for different JDK versions: 786 --> 787 788 <profile> 789 <id>jdk6</id> 790 <activation> 791 <property> 792 <name>jdk.version</name> 793 <value>6</value> 794 </property> 795 </activation> 796 <properties> 797 <jvm.args>-XX:-FailOverToOldVerifier -Xverify:all</jvm.args> 798 </properties> 799 </profile> 800 801 <profile> 802 <id>jdk7</id> 803 <activation> 804 <property> 805 <name>jdk.version</name> 806 <value>7</value> 807 </property> 808 </activation> 809 <properties> 810 <jvm.args>-XX:-FailOverToOldVerifier -Xverify:all</jvm.args> 811 </properties> 812 </profile> 813 814 <profile> 815 <id>jdk8</id> 816 <activation> 817 <property> 818 <name>jdk.version</name> 819 <value>8</value> 820 </property> 821 </activation> 822 <properties> 823 <jvm.args>-XX:-FailOverToOldVerifier -Xverify:all</jvm.args> 824 </properties> 825 </profile> 826 827 <profile> 828 <id>jdk9</id> 829 <activation> 830 <property> 831 <name>jdk.version</name> 832 <value>9</value> 833 </property> 834 </activation> 835 <properties> 836 <bytecode.version>6</bytecode.version> 837 </properties> 838 </profile> 839 840 <profile> 841 <id>jdk10</id> 842 <activation> 843 <property> 844 <name>jdk.version</name> 845 <value>10</value> 846 </property> 847 </activation> 848 <properties> 849 <bytecode.version>6</bytecode.version> 850 </properties> 851 </profile> 852 853 <profile> 854 <id>jdk11</id> 855 <activation> 856 <property> 857 <name>jdk.version</name> 858 <value>11</value> 859 </property> 860 </activation> 861 <properties> 862 <bytecode.version>6</bytecode.version> 863 </properties> 864 </profile> 865 866 <profile> 867 <id>jdk12</id> 868 <activation> 869 <property> 870 <name>jdk.version</name> 871 <value>12</value> 872 </property> 873 </activation> 874 <properties> 875 <bytecode.version>7</bytecode.version> 876 </properties> 877 </profile> 878 879 <!-- This profile enables generation of JARs with sources and javadocs --> 880 <profile> 881 <id>sources</id> 882 <activation> 883 <file> 884 <exists>src/</exists> 885 </file> 886 </activation> 887 <build> 888 <plugins> 889 <!-- Generates jar with sources --> 890 <plugin> 891 <groupId>org.apache.maven.plugins</groupId> 892 <artifactId>maven-source-plugin</artifactId> 893 <executions> 894 <execution> 895 <id>attach-sources</id> 896 <phase>verify</phase> 897 <goals> 898 <goal>jar-no-fork</goal> 899 </goals> 900 </execution> 901 </executions> 902 </plugin> 903 <!-- Generates Javadoc --> 904 <plugin> 905 <groupId>org.apache.maven.plugins</groupId> 906 <artifactId>maven-javadoc-plugin</artifactId> 907 <executions> 908 <execution> 909 <id>attach-javadocs</id> 910 <goals> 911 <goal>jar</goal> 912 </goals> 913 </execution> 914 </executions> 915 </plugin> 916 </plugins> 917 </build> 918 </profile> 919 920 <!-- This profile is activated when a project is released. --> 921 <profile> 922 <id>release</id> 923 <build> 924 <plugins> 925 <plugin> 926 <groupId>org.apache.maven.plugins</groupId> 927 <artifactId>maven-enforcer-plugin</artifactId> 928 <inherited>false</inherited> 929 <executions> 930 <execution> 931 <id>enforce-release-rules</id> 932 <phase>verify</phase> 933 <goals> 934 <goal>enforce</goal> 935 </goals> 936 <configuration> 937 <rules> 938 <requireReleaseVersion/> 939 <requireProperty> 940 <property>buildNumber</property> 941 <regex>[0-9a-f]{40}</regex> 942 </requireProperty> 943 </rules> 944 </configuration> 945 </execution> 946 </executions> 947 </plugin> 948 <!-- Checks compatibility with Java API --> 949 <plugin> 950 <groupId>org.codehaus.mojo</groupId> 951 <artifactId>animal-sniffer-maven-plugin</artifactId> 952 <executions> 953 <execution> 954 <id>enforce-java-api-compatibility</id> 955 <phase>verify</phase> 956 <goals> 957 <goal>check</goal> 958 </goals> 959 <configuration> 960 <signature> 961 <groupId>org.codehaus.mojo.signature</groupId> 962 <artifactId>java15</artifactId> 963 <version>1.0</version> 964 </signature> 965 </configuration> 966 </execution> 967 </executions> 968 </plugin> 969 <!-- Signs artifacts --> 970 <plugin> 971 <groupId>org.apache.maven.plugins</groupId> 972 <artifactId>maven-gpg-plugin</artifactId> 973 <executions> 974 <execution> 975 <id>sign-artifacts</id> 976 <phase>verify</phase> 977 <goals> 978 <goal>sign</goal> 979 </goals> 980 </execution> 981 </executions> 982 </plugin> 983 </plugins> 984 </build> 985 </profile> 986 987 <!-- This profile is active only when used from Eclipse m2e and is used only to store settings. --> 988 <profile> 989 <id>m2e</id> 990 <activation> 991 <property> 992 <name>m2e.version</name> 993 </property> 994 </activation> 995 <build> 996 <pluginManagement> 997 <plugins> 998 <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.--> 999 <plugin> 1000 <groupId>org.eclipse.m2e</groupId> 1001 <artifactId>lifecycle-mapping</artifactId> 1002 <version>1.0.0</version> 1003 <configuration> 1004 <lifecycleMappingMetadata> 1005 <pluginExecutions> 1006 <pluginExecution> 1007 <pluginExecutionFilter> 1008 <groupId>org.apache.maven.plugins</groupId> 1009 <artifactId>maven-antrun-plugin</artifactId> 1010 <versionRange>[0,)</versionRange> 1011 <goals> 1012 <goal>run</goal> 1013 </goals> 1014 </pluginExecutionFilter> 1015 <action> 1016 <ignore></ignore> 1017 </action> 1018 </pluginExecution> 1019 <pluginExecution> 1020 <pluginExecutionFilter> 1021 <groupId>org.apache.maven.plugins</groupId> 1022 <artifactId>maven-invoker-plugin</artifactId> 1023 <versionRange>[0,)</versionRange> 1024 <goals> 1025 <goal>install</goal> 1026 </goals> 1027 </pluginExecutionFilter> 1028 <action> 1029 <ignore></ignore> 1030 </action> 1031 </pluginExecution> 1032 <pluginExecution> 1033 <pluginExecutionFilter> 1034 <groupId>org.apache.maven.plugins</groupId> 1035 <artifactId>maven-dependency-plugin</artifactId> 1036 <versionRange>[0,)</versionRange> 1037 <goals> 1038 <goal>unpack</goal> 1039 <goal>copy-dependencies</goal> 1040 </goals> 1041 </pluginExecutionFilter> 1042 <action> 1043 <ignore></ignore> 1044 </action> 1045 </pluginExecution> 1046 <pluginExecution> 1047 <pluginExecutionFilter> 1048 <groupId>org.codehaus.groovy.maven</groupId> 1049 <artifactId>gmaven-plugin</artifactId> 1050 <versionRange>[0,)</versionRange> 1051 <goals> 1052 <goal>execute</goal> 1053 </goals> 1054 </pluginExecutionFilter> 1055 <action> 1056 <ignore></ignore> 1057 </action> 1058 </pluginExecution> 1059 <pluginExecution> 1060 <pluginExecutionFilter> 1061 <groupId>org.codehaus.mojo</groupId> 1062 <artifactId>xml-maven-plugin</artifactId> 1063 <versionRange>[0,)</versionRange> 1064 <goals> 1065 <goal>transform</goal> 1066 </goals> 1067 </pluginExecutionFilter> 1068 <action> 1069 <ignore></ignore> 1070 </action> 1071 </pluginExecution> 1072 <pluginExecution> 1073 <pluginExecutionFilter> 1074 <groupId>org.jacoco</groupId> 1075 <artifactId>jacoco-maven-plugin</artifactId> 1076 <versionRange>[0,)</versionRange> 1077 <goals> 1078 <goal>prepare-agent</goal> 1079 </goals> 1080 </pluginExecutionFilter> 1081 <action> 1082 <ignore></ignore> 1083 </action> 1084 </pluginExecution> 1085 <pluginExecution> 1086 <pluginExecutionFilter> 1087 <groupId>org.apache.maven.plugins</groupId> 1088 <artifactId>maven-enforcer-plugin</artifactId> 1089 <versionRange>[0,)</versionRange> 1090 <goals> 1091 <goal>enforce</goal> 1092 </goals> 1093 </pluginExecutionFilter> 1094 <action> 1095 <ignore></ignore> 1096 </action> 1097 </pluginExecution> 1098 <pluginExecution> 1099 <pluginExecutionFilter> 1100 <groupId>org.codehaus.mojo</groupId> 1101 <artifactId>build-helper-maven-plugin</artifactId> 1102 <versionRange>[0,)</versionRange> 1103 <goals> 1104 <goal>parse-version</goal> 1105 </goals> 1106 </pluginExecutionFilter> 1107 <action> 1108 <ignore></ignore> 1109 </action> 1110 </pluginExecution> 1111 </pluginExecutions> 1112 </lifecycleMappingMetadata> 1113 </configuration> 1114 </plugin> 1115 </plugins> 1116 </pluginManagement> 1117 </build> 1118 </profile> 1119 </profiles> 1120 1121</project> 1122