1<?xml version="1.0" encoding="UTF-8"?> 2<!-- 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19--> 20<project 21 xmlns="http://maven.apache.org/POM/4.0.0" 22 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 23 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 24 25 <modelVersion>4.0.0</modelVersion> 26 27 <parent> 28 <groupId>org.apache.commons</groupId> 29 <artifactId>commons-parent</artifactId> 30 <version>42</version> 31 </parent> 32 33 <groupId>org.apache.bcel</groupId> 34 <artifactId>bcel</artifactId> 35 <packaging>jar</packaging> 36 <version>6.2</version> 37 <name>Apache Commons BCEL</name> 38 <description>Apache Commons Bytecode Engineering Library</description> 39 40 <url>http://commons.apache.org/proper/commons-bcel</url> 41 <inceptionYear>2004</inceptionYear> 42 43 <properties> 44 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 45 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 46 <maven.compiler.source>1.7</maven.compiler.source> 47 <maven.compiler.target>1.7</maven.compiler.target> 48 <commons.componentid>bcel</commons.componentid> 49 <commons.module.name>org.apache.bcel</commons.module.name> 50 <commons.release.version>6.2</commons.release.version> 51 <commons.release.desc>(Java 7+)</commons.release.desc> 52 <commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-bcel</commons.scmPubUrl> 53 <!-- Configuration properties for the OSGi maven-bundle-plugin --> 54 <commons.osgi.symbolicName>org.apache.${commons.componentid}</commons.osgi.symbolicName> 55 <commons.osgi.export>org.apache.bcel.*;version=${project.version};-noimport:=true</commons.osgi.export> 56 <commons.osgi.import>*</commons.osgi.import> 57 <commons.osgi.dynamicImport /> 58 <commons.osgi.private /> 59 <commons.jira.id>BCEL</commons.jira.id> 60 <commons.jira.pid>12314220</commons.jira.pid> 61 <commons.findbugs.version>3.0.5</commons.findbugs.version> 62 <checkstyle.plugin.version>2.17</checkstyle.plugin.version> 63 <commons.clirr.version>2.8</commons.clirr.version> 64 <jna.version>4.5.0</jna.version> 65 </properties> 66 67 <!-- Cannot be added to Commons Parent, see https://issues.apache.org/jira/browse/COMMONSSITE-26 --> 68 <distributionManagement> 69 <site> 70 <id>apache.website</id> 71 <name>Apache Website</name> 72 <url>scp://people.apache.org/www/commons.apache.org/${commons.componentid}/</url> 73 </site> 74 </distributionManagement> 75 76 <licenses> 77 <license> 78 <name>Apache License, Version 2.0</name> 79 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> 80 <distribution>repo</distribution> 81 </license> 82 </licenses> 83 84 <organization> 85 <name>The Apache Software Foundation</name> 86 <url>http://www.apache.org/</url> 87 </organization> 88 89 <developers> 90 <developer> 91 <name>Dave Brosius</name> 92 <id>dbrosius</id> 93 <email>dbrosius at mebigfatguy.com</email> 94 </developer> 95 96 <developer> 97 <name>Torsten Curdt</name> 98 <id>tcurdt</id> 99 <email>tcurdt at apache.org</email> 100 <organization>ASF</organization> 101 <organizationUrl>http://www.apache.org/</organizationUrl> 102 <timezone>+1</timezone> 103 </developer> 104 105 <developer> 106 <name>Markus Dahm</name> 107 <id>mdahm</id> 108 <email>m.dahm at gmx.de</email> 109 <organization>it-frameworksolutions</organization> 110 </developer> 111 112 <developer> 113 <name>Jason van Zyl</name> 114 <email>jason at zenplex.com</email> 115 </developer> 116 117 <developer> 118 <id>ggregory</id> 119 <name>Gary Gregory</name> 120 <email>ggregory@apache.org</email> 121 <organization>Rocket Software</organization> 122 <roles> 123 <role>PMC Member</role> 124 </roles> 125 <timezone>America/New_York</timezone> 126 </developer> 127 128 </developers> 129 130 <contributors> 131 132 <contributor> 133 <name>Enver Haase</name> 134 <email>enver at convergence.de</email> 135 </contributor> 136 137 <contributor> 138 <name>David Dixon-Peugh</name> 139 <email>dixonpeugh at yahoo.com</email> 140 </contributor> 141 142 <contributor> 143 <name>Patrick Beard</name> 144 <email>beard at netscape.com</email> 145 </contributor> 146 147 <contributor> 148 <name>Conor MacNeill</name> 149 <email>conor at cortexbusiness.com.au</email> 150 </contributor> 151 152 <contributor> 153 <name>Costin Manolache</name> 154 <email>cmanolache at yahoo.com</email> 155 </contributor> 156 157 <contributor> 158 <name>Bill Pugh</name> 159 <email>bill.pugh at gmail.com</email> 160 </contributor> 161 162 <contributor> 163 <name>First Hop Ltd / Torsten Rueger</name> 164 </contributor> 165 166 <contributor> 167 <name>Jérôme Leroux</name> 168 </contributor> 169 170 <contributor> 171 <name>Mark Roberts</name> 172 </contributor> 173 174 <contributor> 175 <name>Sam Yoon</name> 176 </contributor> 177 </contributors> 178 179 <mailingLists> 180 <mailingList> 181 <name>BCEL User List</name> 182 <subscribe>user-subscribe@commons.apache.org</subscribe> 183 <unsubscribe>user-unsubscribe@commons.apache.org</unsubscribe> 184 <archive>http://mail-archives.apache.org/mod_mbox/commons-user/</archive> 185 </mailingList> 186 <mailingList> 187 <name>BCEL Developer List</name> 188 <subscribe>dev-subscribe@commons.apache.org</subscribe> 189 <unsubscribe>dev-unsubscribe@commons.apache.org</unsubscribe> 190 <archive>http://mail-archives.apache.org/mod_mbox/commons-dev/</archive> 191 </mailingList> 192 </mailingLists> 193 194 <issueManagement> 195 <system>jira</system> 196 <url>http://issues.apache.org/jira/browse/BCEL</url> 197 </issueManagement> 198 199 <scm> 200 <connection>scm:svn:http://svn.apache.org/repos/asf/commons/proper/bcel/trunk</connection> 201 <developerConnection>scm:svn:https://svn.apache.org/repos/asf/commons/proper/bcel/trunk</developerConnection> 202 <url>http://svn.apache.org/repos/asf/commons/proper/bcel/trunk</url> 203 </scm> 204 205 <build> 206 <plugins> 207 <plugin> 208 <groupId>org.apache.rat</groupId> 209 <artifactId>apache-rat-plugin</artifactId> 210 <version>${commons.rat.version}</version> 211 <configuration> 212 <excludes> 213 <exclude>src/test/resources/**</exclude> 214 <exclude>docs/*.bib</exclude> 215 <exclude>docs/*.mdl</exclude> 216 <exclude>docs/eps/*</exclude> 217 <exclude>**/*.eps</exclude> 218 <exclude>**/*.bnf</exclude> 219 <exclude>**/*.mini</exclude> 220 <exclude>TODO.JustIce</exclude> 221 <exclude>src/examples/Mini/MiniParser$JJCalls</exclude> 222 </excludes> 223 </configuration> 224 </plugin> 225 <!-- Allow Clirr to be run from command line --> 226 <plugin> 227 <groupId>org.codehaus.mojo</groupId> 228 <artifactId>clirr-maven-plugin</artifactId> 229 <version>${commons.clirr.version}</version> 230 <configuration> 231 <minSeverity>${minSeverity}</minSeverity> 232 </configuration> 233 </plugin> 234 <plugin> 235 <groupId>org.apache.maven.plugins</groupId> 236 <artifactId>maven-jar-plugin</artifactId> 237 <executions> 238 <execution> 239 <goals> 240 <goal>test-jar</goal> 241 </goals> 242 </execution> 243 </executions> 244 <!-- Temporary fix for BCEL-293, remove this after this has implemented in parent pom --> 245 <configuration> 246 <archive combine.children="append"> 247 <manifestEntries> 248 <Automatic-Module-Name>org.apache.bcel</Automatic-Module-Name> 249 </manifestEntries> 250 </archive> 251 </configuration> 252 </plugin> 253 <plugin> 254 <artifactId>maven-compiler-plugin</artifactId> 255 <configuration> 256 <testExcludes> 257 <testExclude>**/*Benchmark*</testExclude> 258 </testExcludes> 259 </configuration> 260 </plugin> 261 <plugin> 262 <groupId>org.apache.maven.plugins</groupId> 263 <artifactId>maven-source-plugin</artifactId> 264 <executions> 265 <execution> 266 <id>attach-sources</id> 267 <goals> 268 <goal>jar</goal> 269 </goals> 270 </execution> 271 </executions> 272 </plugin> 273 <plugin> 274 <artifactId>maven-surefire-plugin</artifactId> 275 <configuration> 276 <systemProperties> 277 <property> 278 <!-- Suppress the stats, but keep the test as it exercises the code --> 279 <name>PerformanceTest.report</name> 280 <value>false</value> 281 </property> 282 </systemProperties> 283 <includes> 284 <include>**/*TestCase.java</include> 285 <include>**/PerformanceTest.java</include> 286 </includes> 287 <excludes> 288 <exclude>**/Abstract*</exclude> 289 <!-- Takes rather a long time (especially rt.jar) ; only needs to be done occasionally --> 290 <exclude>**/JDKClassDumpTestCase.java</exclude> 291 </excludes> 292 </configuration> 293 </plugin> 294 <plugin> 295 <artifactId>maven-assembly-plugin</artifactId> 296 <configuration> 297 <!-- These need to be specified because CP includes a descriptor --> 298 <descriptors> 299 <descriptor>src/assembly/bin.xml</descriptor> 300 <descriptor>src/assembly/src.xml</descriptor> 301 </descriptors> 302 <tarLongFileMode>gnu</tarLongFileMode> 303 </configuration> 304 </plugin> 305 <plugin> 306 <groupId>org.apache.maven.plugins</groupId> 307 <artifactId>maven-scm-publish-plugin</artifactId> 308 <configuration> 309 <ignorePathsToDelete> 310 <ignorePathToDelete>javadocs</ignorePathToDelete> 311 </ignorePathsToDelete> 312 </configuration> 313 </plugin> 314 <plugin> 315 <groupId>org.apache.maven.plugins</groupId> 316 <artifactId>maven-checkstyle-plugin</artifactId> 317 <version>${checkstyle.plugin.version}</version> 318 <configuration> 319 <configLocation>${basedir}/src/conf/checkstyle.xml</configLocation> 320 <!-- Needed to define config_loc --> 321 <propertyExpansion>config_loc=${basedir}</propertyExpansion> 322 <enableRulesSummary>false</enableRulesSummary> 323 </configuration> 324 </plugin> 325 </plugins> 326 </build> 327 328 <reporting> 329 <plugins> 330 <!-- 331 <plugin> 332 <groupId>org.codehaus.mojo</groupId> 333 <artifactId>jardiff-maven-plugin</artifactId> 334 <configuration> 335 <artifacts> 336 <artifact> 337 <version>5.2</version> 338 </artifact> 339 <artifact> 340 <groupId>bcel</groupId> 341 <version>5.1</version> 342 </artifact> 343 </artifacts> 344 </configuration> 345 </plugin> 346 --> 347 <plugin> 348 <groupId>org.apache.maven.plugins</groupId> 349 <artifactId>maven-checkstyle-plugin</artifactId> 350 <version>${checkstyle.plugin.version}</version> 351 <configuration> 352 <configLocation>${basedir}/src/conf/checkstyle.xml</configLocation> 353 <!-- Needed to define config_loc --> 354 <propertyExpansion>config_loc=${basedir}</propertyExpansion> 355 <enableRulesSummary>false</enableRulesSummary> 356 </configuration> 357 <!-- We need to specify reportSets because 2.9.1 creates two reports --> 358 <reportSets> 359 <reportSet> 360 <reports> 361 <report>checkstyle</report> 362 </reports> 363 </reportSet> 364 </reportSets> 365 </plugin> 366 <plugin> 367 <groupId>org.apache.maven.plugins</groupId> 368 <artifactId>maven-pmd-plugin</artifactId> 369 <version>3.8</version> 370 <configuration> 371 <targetJdk>${maven.compiler.target}</targetJdk> 372 <linkXref>true</linkXref> 373 <rulesets> 374 <ruleset>${basedir}/src/conf/pmd.xml</ruleset> 375 </rulesets> 376 </configuration> 377 </plugin> 378 <plugin> 379 <groupId>org.codehaus.mojo</groupId> 380 <artifactId>findbugs-maven-plugin</artifactId> 381 <version>${commons.findbugs.version}</version> 382 <configuration> 383 <threshold>Normal</threshold> 384 <effort>Default</effort> 385 <excludeFilterFile>${basedir}/src/conf/findbugs-exclude-filter.xml</excludeFilterFile> 386 <fork>true</fork> 387 <jvmArgs>-Duser.language=en</jvmArgs> 388 </configuration> 389 </plugin> 390 <plugin> 391 <groupId>org.codehaus.mojo</groupId> 392 <artifactId>taglist-maven-plugin</artifactId> 393 <version>2.4</version> 394 <configuration> 395 <tags> 396 <tag>TODO</tag> 397 <tag>NOPMD</tag> 398 <tag>NOTE</tag> 399 </tags> 400 </configuration> 401 </plugin> 402 <plugin> 403 <groupId>org.apache.rat</groupId> 404 <artifactId>apache-rat-plugin</artifactId> 405 <version>${commons.rat.version}</version> 406 <configuration> 407 <excludes> 408 <exclude>src/test/resources/**</exclude> 409 <exclude>docs/*.bib</exclude> 410 <exclude>docs/*.mdl</exclude> 411 <exclude>docs/eps/*</exclude> 412 <exclude>**/*.eps</exclude> 413 <exclude>**/*.bnf</exclude> 414 <exclude>**/*.mini</exclude> 415 <exclude>TODO.JustIce</exclude> 416 <exclude>src/examples/Mini/MiniParser$JJCalls</exclude> 417 </excludes> 418 </configuration> 419 </plugin> 420 </plugins> 421 </reporting> 422 423 <dependencies> 424 <dependency> 425 <groupId>junit</groupId> 426 <artifactId>junit</artifactId> 427 <version>4.12</version> 428 <scope>test</scope> 429 </dependency> 430 <dependency> 431 <groupId>net.java.dev.jna</groupId> 432 <artifactId>jna</artifactId> 433 <version>${jna.version}</version> 434 <scope>test</scope> 435 </dependency> 436 <dependency> 437 <groupId>net.java.dev.jna</groupId> 438 <artifactId>jna-platform</artifactId> 439 <version>${jna.version}</version> 440 <scope>test</scope> 441 </dependency> 442 <dependency> 443 <groupId>org.apache.commons</groupId> 444 <artifactId>commons-lang3</artifactId> 445 <version>3.7</version> 446 <scope>test</scope> 447 </dependency> 448 </dependencies> 449 450 <profiles> 451 <!-- 452 Profile to ignore certain Clirr errors 453 To show all the errors, use -P!quieten-clirr or -Dclirr.allDifferences 454 --> 455 <profile> 456 <id>quieten-clirr</id> 457 <activation> 458 <!-- Enable unless the following is defined --> 459 <property> 460 <name>!clirr.allDifferences</name> 461 </property> 462 </activation> 463 <properties> 464 <!-- It's not possible to undefine this once defined, so we define it in a profile that is normally active --> 465 <clirr.ignoredDifferencesFile>${basedir}/src/conf/clirr-ignored-diffs.xml</clirr.ignoredDifferencesFile> 466 </properties> 467 </profile> 468 <!-- Profile to build and run PerformanceTest. Use 'mvn test -Pjdk-rt' --> 469 <profile> 470 <id>jdk-rt</id> 471 <build> 472 <plugins> 473 <plugin> 474 <artifactId>maven-surefire-plugin</artifactId> 475 <version>${commons.surefire.version}</version> 476 <configuration> 477 <includes> 478 <include>**/PerformanceTest.java</include> 479 </includes> 480 </configuration> 481 </plugin> 482 </plugins> 483 </build> 484 </profile> 485 486 <!-- Profile to build and run the benchmarks. Use 'mvn test -Pbenchmark', and add '-Dbenchmark=foo' to run only the foo benchmark --> 487 <profile> 488 <id>benchmark</id> 489 490 <properties> 491 <skipTests>true</skipTests> 492 <benchmark>org.apache</benchmark> 493 <jmh.version>1.19</jmh.version> 494 </properties> 495 496 <dependencies> 497 <dependency> 498 <groupId>org.openjdk.jmh</groupId> 499 <artifactId>jmh-core</artifactId> 500 <version>${jmh.version}</version> 501 <scope>test</scope> 502 </dependency> 503 504 <dependency> 505 <groupId>org.openjdk.jmh</groupId> 506 <artifactId>jmh-generator-annprocess</artifactId> 507 <version>${jmh.version}</version> 508 <scope>test</scope> 509 </dependency> 510 511 <dependency> 512 <groupId>commons-io</groupId> 513 <artifactId>commons-io</artifactId> 514 <version>2.6</version> 515 <scope>test</scope> 516 </dependency> 517 518 <dependency> 519 <groupId>org.apache.commons</groupId> 520 <artifactId>commons-collections4</artifactId> 521 <version>4.1</version> 522 <scope>test</scope> 523 </dependency> 524 </dependencies> 525 526 <build> 527 <plugins> 528 <!-- Enable the compilation of the benchmarks --> 529 <plugin> 530 <artifactId>maven-compiler-plugin</artifactId> 531 <version>${commons.compiler.version}</version> 532 <configuration combine.self="override"> 533 <testIncludes> 534 <testInclude>**/*</testInclude> 535 </testIncludes> 536 </configuration> 537 </plugin> 538 539 <!-- Hook the benchmarks to the test phase --> 540 <plugin> 541 <groupId>org.codehaus.mojo</groupId> 542 <artifactId>exec-maven-plugin</artifactId> 543 <version>1.6.0</version> 544 <executions> 545 <execution> 546 <id>benchmark</id> 547 <phase>test</phase> 548 <goals> 549 <goal>exec</goal> 550 </goals> 551 <configuration> 552 <classpathScope>test</classpathScope> 553 <executable>java</executable> 554 <arguments> 555 <argument>-classpath</argument> 556 <classpath /> 557 <argument>org.openjdk.jmh.Main</argument> 558 <argument>-rf</argument> 559 <argument>json</argument> 560 <argument>-rff</argument> 561 <argument>target/jmh-result.json</argument> 562 <argument>${benchmark}</argument> 563 </arguments> 564 </configuration> 565 </execution> 566 </executions> 567 </plugin> 568 </plugins> 569 </build> 570 </profile> 571 572 <profile> 573 <id>jdk8-javadoc</id> 574 <activation> 575 <jdk>[1.8,)</jdk> 576 </activation> 577 <properties> 578 <additionalparam>-Xdoclint:none</additionalparam> 579 </properties> 580 </profile> 581 </profiles> 582 583</project> 584