| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| --> |
| <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"> |
| |
| <modelVersion>4.0.0</modelVersion> |
| |
| <parent> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-parent</artifactId> |
| <version>69</version> |
| </parent> |
| |
| <groupId>org.apache.bcel</groupId> |
| <artifactId>bcel</artifactId> |
| <packaging>jar</packaging> |
| <version>6.9.1-SNAPSHOT</version> |
| <name>Apache Commons BCEL</name> |
| <description>Apache Commons Bytecode Engineering Library</description> |
| |
| <url>https://commons.apache.org/proper/commons-bcel</url> |
| <inceptionYear>2004</inceptionYear> |
| |
| <properties> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
| <project.build.outputTimestamp>2024-04-27T12:58:11Z</project.build.outputTimestamp> |
| <maven.compiler.source>1.8</maven.compiler.source> |
| <maven.compiler.target>1.8</maven.compiler.target> |
| <commons.componentid>bcel</commons.componentid> |
| <commons.module.name>org.apache.bcel</commons.module.name> |
| <commons.release.version>6.9.0</commons.release.version> |
| <commons.release.next>6.9.1</commons.release.next> |
| <commons.release.isDistModule>true</commons.release.isDistModule> |
| <commons.rc.version>RC1</commons.rc.version> |
| <commons.bc.version>6.8.2</commons.bc.version> |
| <commons.release.desc>(Java 8 or above)</commons.release.desc> |
| <commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-bcel</commons.scmPubUrl> |
| <commons.distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/${commons.componentid}</commons.distSvnStagingUrl> |
| <!-- Configuration properties for the OSGi maven-bundle-plugin --> |
| <commons.osgi.symbolicName>org.apache.${commons.componentid}</commons.osgi.symbolicName> |
| <commons.osgi.export>org.apache.bcel.*;version=${project.version};-noimport:=true</commons.osgi.export> |
| <commons.osgi.import>*</commons.osgi.import> |
| <commons.osgi.dynamicImport /> |
| <commons.osgi.private /> |
| <commons.jira.id>BCEL</commons.jira.id> |
| <commons.jira.pid>12314220</commons.jira.pid> |
| <mockito.version>4.11.0</mockito.version> |
| <assertj.version>3.25.3</assertj.version> |
| <jna.version>5.14.0</jna.version> |
| <japicmp.skip>false</japicmp.skip> |
| <commons.jacoco.haltOnFailure>true</commons.jacoco.haltOnFailure> |
| |
| <!-- JaCoCo on Java 8 is different from other versions. On JDK9+ there is a profile --> |
| <!-- JaCoCo: Don't make code coverage worse than: --> |
| <commons.jacoco.classRatio>0.89</commons.jacoco.classRatio> |
| <commons.jacoco.instructionRatio>0.65</commons.jacoco.instructionRatio> |
| <commons.jacoco.methodRatio>0.70</commons.jacoco.methodRatio> |
| <commons.jacoco.branchRatio>0.59</commons.jacoco.branchRatio> |
| <commons.jacoco.lineRatio>0.68</commons.jacoco.lineRatio> |
| <commons.jacoco.complexityRatio>0.58</commons.jacoco.complexityRatio> |
| </properties> |
| |
| <distributionManagement> |
| <site> |
| <id>apache.website</id> |
| <name>Apache Commons Site</name> |
| <url>scm:svn:https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-bcel/</url> |
| </site> |
| </distributionManagement> |
| |
| <ciManagement> |
| <system>GitHub</system> |
| <url>https://github.com/apache/commons-bcel/actions</url> |
| </ciManagement> |
| |
| <issueManagement> |
| <system>jira</system> |
| <url>https://issues.apache.org/jira/browse/BCEL</url> |
| </issueManagement> |
| |
| <scm> |
| <connection>scm:git:https://gitbox.apache.org/repos/asf/commons-bcel.git</connection> |
| <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/commons-bcel.git</developerConnection> |
| <url>https://gitbox.apache.org/repos/asf?p=commons-bcel.git</url> |
| </scm> |
| |
| <build> |
| <defaultGoal>clean verify apache-rat:check japicmp:cmp checkstyle:check pmd:check spotbugs:check javadoc:javadoc</defaultGoal> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>src/test/resources/**</exclude> |
| <exclude>docs/*.bib</exclude> |
| <exclude>docs/*.mdl</exclude> |
| <exclude>docs/eps/*</exclude> |
| <exclude>**/*.eps</exclude> |
| <exclude>**/*.bnf</exclude> |
| <exclude>**/*.mini</exclude> |
| <exclude>TODO.JustIce</exclude> |
| <exclude>src/examples/Mini/MiniParser$JJCalls</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>test-jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| <!-- Temporary fix for BCEL-293, remove this after this has implemented in parent pom --> |
| <configuration> |
| <archive combine.children="append"> |
| <manifestEntries> |
| <Automatic-Module-Name>org.apache.bcel</Automatic-Module-Name> |
| </manifestEntries> |
| </archive> |
| </configuration> |
| </plugin> |
| <plugin> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <testExcludes> |
| <testExclude>**/*Benchmark*</testExclude> |
| </testExcludes> |
| <!-- MethodParameters attribute in class file --> |
| <parameters>true</parameters> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-sources</id> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <systemPropertyVariables> |
| <!-- Suppress the stats, but keep the test as it exercises the code --> |
| <PerformanceTest.report>false</PerformanceTest.report> |
| </systemPropertyVariables> |
| <includes> |
| <include>**/*TestCase.java</include> |
| <include>**/PerformanceTest.java</include> |
| </includes> |
| <excludes> |
| <exclude>**/Abstract*</exclude> |
| <!-- Takes rather a long time (especially rt.jar) ; only needs to be done occasionally --> |
| <exclude>**/JDKClassDumpTestCase.java</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <configuration> |
| <!-- These need to be specified because CP includes a descriptor --> |
| <descriptors> |
| <descriptor>src/assembly/bin.xml</descriptor> |
| <descriptor>src/assembly/src.xml</descriptor> |
| </descriptors> |
| <tarLongFileMode>gnu</tarLongFileMode> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-scm-publish-plugin</artifactId> |
| <configuration> |
| <ignorePathsToDelete> |
| <ignorePathToDelete>javadocs</ignorePathToDelete> |
| </ignorePathsToDelete> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <configuration> |
| <configLocation>${basedir}/src/conf/checkstyle.xml</configLocation> |
| <!-- Needed to define config_loc --> |
| <propertyExpansion>config_loc=${basedir}</propertyExpansion> |
| <enableRulesSummary>false</enableRulesSummary> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>com.github.siom79.japicmp</groupId> |
| <artifactId>japicmp-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <configuration> |
| <threshold>Normal</threshold> |
| <effort>Default</effort> |
| <excludeFilterFile>src/conf/spotbugs-exclude-filter.xml</excludeFilterFile> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-pmd-plugin</artifactId> |
| <configuration> |
| <targetJdk>${maven.compiler.target}</targetJdk> |
| <rulesets> |
| <ruleset>${basedir}/src/conf/pmd-ruleset.xml</ruleset> |
| </rulesets> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>merge-all-jacoco</id> |
| <goals> |
| <goal>merge</goal> |
| </goals> |
| <phase>install</phase> |
| <configuration> |
| <fileSets> |
| <fileSet> |
| <directory>${project.build.directory}</directory> |
| <includes> |
| <include>*.exec</include> |
| </includes> |
| </fileSet> |
| </fileSets> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <configuration> |
| <configLocation>${basedir}/src/conf/checkstyle.xml</configLocation> |
| <!-- Needed to define config_loc --> |
| <propertyExpansion>config_loc=${basedir}</propertyExpansion> |
| <enableRulesSummary>false</enableRulesSummary> |
| </configuration> |
| <!-- We need to specify reportSets because 2.9.1 creates two reports --> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>checkstyle</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-pmd-plugin</artifactId> |
| <configuration> |
| <targetJdk>${maven.compiler.target}</targetJdk> |
| <linkXRef>true</linkXRef> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>taglist-maven-plugin</artifactId> |
| <version>3.0.0</version> |
| <configuration> |
| <tags> |
| <tag>TODO</tag> |
| <tag>NOPMD</tag> |
| <tag>NOTE</tag> |
| </tags> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <version>${commons.rat.version}</version> |
| <configuration> |
| <excludes> |
| <exclude>src/test/resources/**</exclude> |
| <exclude>docs/*.bib</exclude> |
| <exclude>docs/*.mdl</exclude> |
| <exclude>docs/eps/*</exclude> |
| <exclude>**/*.eps</exclude> |
| <exclude>**/*.bnf</exclude> |
| <exclude>**/*.mini</exclude> |
| <exclude>TODO.JustIce</exclude> |
| <exclude>src/examples/Mini/MiniParser$JJCalls</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>com.github.siom79.japicmp</groupId> |
| <artifactId>japicmp-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <configuration> |
| <threshold>Normal</threshold> |
| <effort>Default</effort> |
| <excludeFilterFile>src/conf/spotbugs-exclude-filter.xml</excludeFilterFile> |
| <!-- Hacky: Don't allow new SpotBugs errors --> |
| <maxAllowedViolations>9</maxAllowedViolations> |
| </configuration> |
| </plugin> |
| </plugins> |
| </reporting> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <version>${mockito.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.assertj</groupId> |
| <artifactId>assertj-core</artifactId> |
| <version>${assertj.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>net.java.dev.jna</groupId> |
| <artifactId>jna</artifactId> |
| <version>${jna.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>net.java.dev.jna</groupId> |
| <artifactId>jna-platform</artifactId> |
| <version>${jna.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <version>3.14.0</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>2.16.1</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <!-- BCEL-336 refers to this specific version. --> |
| <groupId>javax</groupId> |
| <artifactId>javaee-api</artifactId> |
| <version>6.0</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-exec</artifactId> |
| <version>1.4.0</version> |
| <scope>test</scope> |
| </dependency> |
| <!-- START very old jars for Justice verifier --> |
| <dependency> |
| <groupId>commons-lang</groupId> |
| <artifactId>commons-lang</artifactId> |
| <version>2.0</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>wsdl4j</groupId> |
| <artifactId>wsdl4j</artifactId> |
| <version>1.5.3</version> |
| <scope>test</scope> |
| </dependency> |
| <!-- END very old jars for Justice verifier --> |
| <dependency> |
| <!-- Eclipse compiler: useful to generate specific .class file patterns --> |
| <groupId>org.eclipse.jdt</groupId> |
| <artifactId>ecj</artifactId> |
| <version>3.26.0</version> <!-- last JDK8-compatible version --> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.jetbrains.kotlin</groupId> |
| <artifactId>kotlin-stdlib</artifactId> |
| <version>1.9.23</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <profiles> |
| <!-- Profile to build and run PerformanceTest. Use 'mvn test -Pjdk-rt' --> |
| <profile> |
| <id>jdk-rt</id> |
| <build> |
| <plugins> |
| <plugin> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${commons.surefire.version}</version> |
| <configuration> |
| <includes> |
| <include>**/PerformanceTest.java</include> |
| </includes> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <!-- Profile to build and run the benchmarks. Use 'mvn test -Pbenchmark', and add '-Dbenchmark=foo' to run only the foo benchmark --> |
| <profile> |
| <id>benchmark</id> |
| |
| <properties> |
| <skipTests>true</skipTests> |
| <benchmark>org.apache</benchmark> |
| <jmh.version>1.37</jmh.version> |
| </properties> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.openjdk.jmh</groupId> |
| <artifactId>jmh-core</artifactId> |
| <version>${jmh.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.openjdk.jmh</groupId> |
| <artifactId>jmh-generator-annprocess</artifactId> |
| <version>${jmh.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>2.16.1</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-collections4</artifactId> |
| <version>4.4</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <plugins> |
| <!-- Enable the compilation of the benchmarks --> |
| <plugin> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${commons.compiler.version}</version> |
| <configuration combine.self="override"> |
| <testIncludes> |
| <testInclude>**/*</testInclude> |
| </testIncludes> |
| </configuration> |
| </plugin> |
| <!-- Hook the benchmarks to the test phase --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>benchmark</id> |
| <phase>test</phase> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| <configuration> |
| <classpathScope>test</classpathScope> |
| <executable>java</executable> |
| <arguments> |
| <argument>-classpath</argument> |
| <classpath /> |
| <argument>org.openjdk.jmh.Main</argument> |
| <argument>-rf</argument> |
| <argument>json</argument> |
| <argument>-rff</argument> |
| <argument>target/jmh-result.json</argument> |
| <argument>${benchmark}</argument> |
| </arguments> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <!-- Java 9 and up --> |
| <id>java-9-up</id> |
| <activation> |
| <jdk>[9,)</jdk> |
| </activation> |
| <properties> |
| <!-- JaCoCo: Don't make code coverage worse than: --> |
| <commons.jacoco.classRatio>0.90</commons.jacoco.classRatio> |
| <commons.jacoco.instructionRatio>0.65</commons.jacoco.instructionRatio> |
| <commons.jacoco.methodRatio>0.70</commons.jacoco.methodRatio> |
| <commons.jacoco.branchRatio>0.58</commons.jacoco.branchRatio> |
| <commons.jacoco.lineRatio>0.68</commons.jacoco.lineRatio> |
| <commons.jacoco.complexityRatio>0.58</commons.jacoco.complexityRatio> |
| </properties> |
| </profile> |
| </profiles> |
| |
| <developers> |
| <developer> |
| <name>Dave Brosius</name> |
| <id>dbrosius</id> |
| <email>dbrosius at mebigfatguy.com</email> |
| </developer> |
| <developer> |
| <name>Torsten Curdt</name> |
| <id>tcurdt</id> |
| <email>tcurdt at apache.org</email> |
| <organization>ASF</organization> |
| <organizationUrl>http://www.apache.org/</organizationUrl> |
| <timezone>+1</timezone> |
| </developer> |
| <developer> |
| <name>Markus Dahm</name> |
| <id>mdahm</id> |
| <email>m.dahm at gmx.de</email> |
| <organization>it-frameworksolutions</organization> |
| </developer> |
| <developer> |
| <name>Jason van Zyl</name> |
| <email>jason at zenplex.com</email> |
| </developer> |
| <developer> |
| <id>ggregory</id> |
| <name>Gary Gregory</name> |
| <email>ggregory at apache.org</email> |
| <url>https://www.garygregory.com</url> |
| <organization>The Apache Software Foundation</organization> |
| <organizationUrl>https://www.apache.org/</organizationUrl> |
| <roles> |
| <role>PMC Member</role> |
| </roles> |
| <timezone>America/New_York</timezone> |
| <properties> |
| <picUrl>https://people.apache.org/~ggregory/img/garydgregory80.png</picUrl> |
| </properties> |
| </developer> |
| </developers> |
| <contributors> |
| <contributor> |
| <name>Enver Haase</name> |
| <email>enver at convergence.de</email> |
| </contributor> |
| <contributor> |
| <name>David Dixon-Peugh</name> |
| <email>dixonpeugh at yahoo.com</email> |
| </contributor> |
| <contributor> |
| <name>Patrick Beard</name> |
| <email>beard at netscape.com</email> |
| </contributor> |
| <contributor> |
| <name>Conor MacNeill</name> |
| <email>conor at cortexbusiness.com.au</email> |
| </contributor> |
| <contributor> |
| <name>Costin Manolache</name> |
| <email>cmanolache at yahoo.com</email> |
| </contributor> |
| <contributor> |
| <name>Bill Pugh</name> |
| <email>bill.pugh at gmail.com</email> |
| </contributor> |
| <contributor> |
| <name>First Hop Ltd / Torsten Rueger</name> |
| </contributor> |
| <contributor> |
| <name>Jérôme Leroux</name> |
| </contributor> |
| <contributor> |
| <name>Mark Roberts</name> |
| </contributor> |
| <contributor> |
| <name>Sam Yoon</name> |
| </contributor> |
| <contributor> |
| <name>Arturo Bernal</name> |
| </contributor> |
| </contributors> |
| </project> |