Run| Workspace| Log| Issues| Fixes| Pre-reqs| Stats| XRef| Maven Repository Proxy Log Gump Logo

Details

File Contents

<?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.0-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-02-25T17:02:58Z</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>

Continuation...

      <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>

Apache Gump, Gump, Apache, the Apache feather logo, and the Apache Gump project logos are trademarks of The Apache Software Foundation.

Last Updated: Fri, 26 Apr 2024 00:00:03 ().Python Logo