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