542 lines
18 KiB
XML
542 lines
18 KiB
XML
<?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>47</version>
|
|
</parent>
|
|
|
|
<artifactId>commons-compress</artifactId>
|
|
<version>1.19-SNAPSHOT</version>
|
|
<name>Apache Commons Compress</name>
|
|
<url>https://commons.apache.org/proper/commons-compress/</url>
|
|
<!-- The description is not indented to make it look better in the release notes -->
|
|
<description>
|
|
Apache Commons Compress software defines an API for working with
|
|
compression and archive formats. These include: bzip2, gzip, pack200,
|
|
lzma, xz, Snappy, traditional Unix Compress, DEFLATE, DEFLATE64, LZ4,
|
|
Brotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj.
|
|
</description>
|
|
|
|
<properties>
|
|
<maven.compiler.source>1.7</maven.compiler.source>
|
|
<maven.compiler.target>1.7</maven.compiler.target>
|
|
<commons.componentid>compress</commons.componentid>
|
|
<commons.module.name>org.apache.commons.compress</commons.module.name>
|
|
<commons.jira.id>COMPRESS</commons.jira.id>
|
|
<commons.jira.pid>12310904</commons.jira.pid>
|
|
<!-- configuration bits for cutting a release candidate -->
|
|
<commons.release.version>${project.version}</commons.release.version>
|
|
<commons.rc.version>RC1</commons.rc.version>
|
|
<powermock.version>1.7.3</powermock.version>
|
|
<commons.pmd-plugin.version>3.8</commons.pmd-plugin.version>
|
|
|
|
<commons.manifestlocation>${project.build.outputDirectory}/META-INF</commons.manifestlocation>
|
|
<commons.manifestfile>${commons.manifestlocation}/MANIFEST.MF</commons.manifestfile>
|
|
<commons.osgi.import>
|
|
org.tukaani.xz;resolution:=optional,
|
|
org.brotli.dec;resolution:=optional,
|
|
com.github.luben.zstd;resolution:=optional,
|
|
javax.crypto.*;resolution:=optional,
|
|
*
|
|
</commons.osgi.import>
|
|
|
|
<!-- only show issues of the current version -->
|
|
<commons.changes.onlyCurrentVersion>true</commons.changes.onlyCurrentVersion>
|
|
|
|
<!-- generate report even if there are binary incompatible changes -->
|
|
<commons.japicmp.breakBuildOnBinaryIncompatibleModifications>false</commons.japicmp.breakBuildOnBinaryIncompatibleModifications>
|
|
<!-- 0.12.0 dies with a NullPointerException -->
|
|
<commons.japicmp.version>0.11.1</commons.japicmp.version>
|
|
|
|
<!-- definition uses commons.componentId starting with parent 47,
|
|
this doesn't work for us -->
|
|
<commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/${project.artifactId}</commons.scmPubUrl>
|
|
|
|
<pax.exam.version>4.11.0</pax.exam.version>
|
|
<slf4j.version>1.7.21</slf4j.version>
|
|
</properties>
|
|
|
|
<issueManagement>
|
|
<system>jira</system>
|
|
<url>https://issues.apache.org/jira/browse/COMPRESS</url>
|
|
</issueManagement>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<version>4.12</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.github.luben</groupId>
|
|
<artifactId>zstd-jni</artifactId>
|
|
<version>1.3.3-3</version>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.brotli</groupId>
|
|
<artifactId>dec</artifactId>
|
|
<version>0.1.2</version>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.tukaani</groupId>
|
|
<artifactId>xz</artifactId>
|
|
<version>1.8</version>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.powermock</groupId>
|
|
<artifactId>powermock-module-junit4</artifactId>
|
|
<version>${powermock.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.powermock</groupId>
|
|
<artifactId>powermock-api-mockito</artifactId>
|
|
<version>${powermock.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- integration test verifiying OSGi bundle works -->
|
|
<dependency>
|
|
<groupId>org.ops4j.pax.exam</groupId>
|
|
<artifactId>pax-exam-container-native</artifactId>
|
|
<version>${pax.exam.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.ops4j.pax.exam</groupId>
|
|
<artifactId>pax-exam-junit4</artifactId>
|
|
<version>${pax.exam.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.ops4j.pax.exam</groupId>
|
|
<artifactId>pax-exam-cm</artifactId>
|
|
<version>${pax.exam.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.ops4j.pax.exam</groupId>
|
|
<artifactId>pax-exam-link-mvn</artifactId>
|
|
<version>${pax.exam.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>org.apache.felix.framework</artifactId>
|
|
<version>5.6.10</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>javax.inject</groupId>
|
|
<artifactId>javax.inject</artifactId>
|
|
<version>1</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.osgi</groupId>
|
|
<artifactId>org.osgi.core</artifactId>
|
|
<version>6.0.0</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<developers>
|
|
<developer>
|
|
<name>Torsten Curdt</name>
|
|
<id>tcurdt</id>
|
|
<email>tcurdt at apache.org</email>
|
|
</developer>
|
|
<developer>
|
|
<name>Stefan Bodewig</name>
|
|
<id>bodewig</id>
|
|
<email>bodewig at apache.org</email>
|
|
</developer>
|
|
<developer>
|
|
<name>Sebastian Bazley</name>
|
|
<id>sebb</id>
|
|
<email>sebb at apache.org</email>
|
|
</developer>
|
|
<developer>
|
|
<name>Christian Grobmeier</name>
|
|
<id>grobmeier</id>
|
|
<email>grobmeier at apache.org</email>
|
|
</developer>
|
|
<developer>
|
|
<name>Julius Davies</name>
|
|
<id>julius</id>
|
|
<email>julius at apache.org</email>
|
|
</developer>
|
|
<developer>
|
|
<name>Damjan Jovanovic</name>
|
|
<id>damjan</id>
|
|
<email>damjan at apache.org</email>
|
|
</developer>
|
|
<developer>
|
|
<name>Emmanuel Bourg</name>
|
|
<id>ebourg</id>
|
|
<email>ebourg at apache.org</email>
|
|
</developer>
|
|
<developer>
|
|
<name>Gary Gregory</name>
|
|
<id>ggregory</id>
|
|
<email>ggregory at apache.org</email>
|
|
</developer>
|
|
<developer>
|
|
<name>Rob Tompkins</name>
|
|
<id>chtompki</id>
|
|
<email>chtompki at apache.org</email>
|
|
</developer>
|
|
</developers>
|
|
|
|
<contributors>
|
|
<contributor>
|
|
<name>Wolfgang Glas</name>
|
|
<email>wolfgang.glas at ev-i.at</email>
|
|
</contributor>
|
|
<contributor>
|
|
<name>Christian Kohlschütte</name>
|
|
<email>ck@newsclub.de</email>
|
|
</contributor>
|
|
<contributor>
|
|
<name>Bear Giles</name>
|
|
<email>bgiles@coyotesong.com</email>
|
|
</contributor>
|
|
<contributor>
|
|
<name>Michael Kuss</name>
|
|
<email>mail at michael minus kuss.de</email>
|
|
</contributor>
|
|
<contributor>
|
|
<name>Lasse Collin</name>
|
|
<email>lasse.collin@tukaani.org</email>
|
|
</contributor>
|
|
<contributor>
|
|
<name>John Kodis</name>
|
|
</contributor>
|
|
<contributor>
|
|
<name>BELUGA BEHR</name>
|
|
</contributor>
|
|
<contributor>
|
|
<name>Simon Spero</name>
|
|
<email>sesuncedu@gmail.com</email>
|
|
</contributor>
|
|
<contributor>
|
|
<name>Michael Hausegger</name>
|
|
<email>hausegger.michael@googlemail.com</email>
|
|
</contributor>
|
|
</contributors>
|
|
|
|
<scm>
|
|
<connection>scm:git:https://git-wip-us.apache.org/repos/asf/commons-compress.git</connection>
|
|
<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/commons-compress.git</developerConnection>
|
|
<url>https://git-wip-us.apache.org/repos/asf?p=commons-compress.git</url>
|
|
</scm>
|
|
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<!-- Override Javadoc config in parent pom to add JCIP tags -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<version>${commons.javadoc.version}</version>
|
|
<configuration>
|
|
<quiet>true</quiet>
|
|
<source>${maven.compiler.source}</source>
|
|
<encoding>${commons.encoding}</encoding>
|
|
<docencoding>${commons.docEncoding}</docencoding>
|
|
<linksource>true</linksource>
|
|
<links>
|
|
<link>${commons.javadoc.java.link}</link>
|
|
<link>${commons.javadoc.javaee.link}</link>
|
|
</links>
|
|
<tags>
|
|
<tag>
|
|
<name>Immutable</name>
|
|
<placement>a</placement>
|
|
<head>This class is immutable</head>
|
|
</tag>
|
|
<tag>
|
|
<name>NotThreadSafe</name>
|
|
<placement>a</placement>
|
|
<head>This class is not thread-safe</head>
|
|
</tag>
|
|
<tag>
|
|
<name>ThreadSafe</name>
|
|
<placement>a</placement>
|
|
<head>This class is thread-safe</head>
|
|
</tag>
|
|
</tags>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.rat</groupId>
|
|
<artifactId>apache-rat-plugin</artifactId>
|
|
<version>${commons.rat.version}</version>
|
|
<configuration>
|
|
<excludes>
|
|
<!-- files used during tests -->
|
|
<exclude>src/test/resources/**</exclude>
|
|
<exclude>.pmd</exclude>
|
|
<exclude>.projectile</exclude>
|
|
<exclude>.mvn/**</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.eluder.coveralls</groupId>
|
|
<artifactId>coveralls-maven-plugin</artifactId>
|
|
<configuration>
|
|
<failOnServiceError>false</failOnServiceError>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>maven-bundle-plugin</artifactId>
|
|
<version>${commons.felix.version}</version>
|
|
</plugin>
|
|
<!-- override skip property of parent pom, can be removed once
|
|
we adopt parent 48+ -->
|
|
<plugin>
|
|
<groupId>com.github.siom79.japicmp</groupId>
|
|
<artifactId>japicmp-maven-plugin</artifactId>
|
|
<configuration>
|
|
<skip>false</skip>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<!-- create the source and binary assemblies -->
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<configuration>
|
|
<descriptors>
|
|
<descriptor>src/assembly/bin.xml</descriptor>
|
|
<descriptor>src/assembly/src.xml</descriptor>
|
|
</descriptors>
|
|
<tarLongFileMode>gnu</tarLongFileMode>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<configuration>
|
|
<archive>
|
|
<manifestEntries>
|
|
<Main-Class>org.apache.commons.compress.archivers.Lister</Main-Class>
|
|
<Extension-Name>org.apache.commons.compress</Extension-Name>
|
|
<Automatic-Module-Name>${commons.module.name}</Automatic-Module-Name>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>maven-bundle-plugin</artifactId>
|
|
<configuration>
|
|
<manifestLocation>${commons.manifestlocation}</manifestLocation>
|
|
</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-pmd-plugin</artifactId>
|
|
<version>${commons.pmd-plugin.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<phase>process-test-resources</phase>
|
|
<configuration>
|
|
<target>
|
|
<untar src="${basedir}/src/test/resources/zstd-tests.tar"
|
|
dest="${project.build.testOutputDirectory}"
|
|
/>
|
|
</target>
|
|
</configuration>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<systemPropertyVariables>
|
|
<pax.exam.karaf.version>${karaf.version}</pax.exam.karaf.version>
|
|
<commons-compress.version>${project.version}</commons-compress.version>
|
|
</systemPropertyVariables>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<reporting>
|
|
<plugins>
|
|
<plugin>
|
|
<!-- generate the PMD reports -->
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-pmd-plugin</artifactId>
|
|
<version>${commons.pmd-plugin.version}</version>
|
|
<configuration>
|
|
<minimumTokens>200</minimumTokens>
|
|
<targetJdk>${maven.compiler.source}</targetJdk>
|
|
<rulesets>
|
|
<ruleset>${basedir}/pmd-ruleset.xml</ruleset>
|
|
</rulesets>
|
|
</configuration>
|
|
</plugin>
|
|
<!-- Override Javadoc config in parent pom to add JCIP tags -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<configuration>
|
|
<quiet>true</quiet>
|
|
<source>${maven.compiler.source}</source>
|
|
<encoding>${commons.encoding}</encoding>
|
|
<docencoding>${commons.docEncoding}</docencoding>
|
|
<linksource>true</linksource>
|
|
<links>
|
|
<link>${commons.javadoc.java.link}</link>
|
|
<link>${commons.javadoc.javaee.link}</link>
|
|
</links>
|
|
<tags>
|
|
<tag>
|
|
<name>Immutable</name>
|
|
<placement>a</placement>
|
|
<head>This class is immutable</head>
|
|
</tag>
|
|
<tag>
|
|
<name>NotThreadSafe</name>
|
|
<placement>a</placement>
|
|
<head>This class is not thread-safe</head>
|
|
</tag>
|
|
<tag>
|
|
<name>ThreadSafe</name>
|
|
<placement>a</placement>
|
|
<head>This class is thread-safe</head>
|
|
</tag>
|
|
</tags>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>findbugs-maven-plugin</artifactId>
|
|
<version>3.0.5</version>
|
|
<configuration>
|
|
<threshold>Normal</threshold>
|
|
<effort>Default</effort>
|
|
<excludeFilterFile>${basedir}/findbugs-exclude-filter.xml</excludeFilterFile>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</reporting>
|
|
|
|
<profiles>
|
|
<!-- Add long running tests as **/*IT.java -->
|
|
<profile>
|
|
<id>run-zipit</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<phase>process-test-resources</phase>
|
|
<configuration>
|
|
<target>
|
|
<untar src="${basedir}/src/test/resources/zip64support.tar.bz2"
|
|
dest="${project.build.testOutputDirectory}"
|
|
compression="bzip2"/>
|
|
</target>
|
|
</configuration>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<includes>
|
|
<include>**/zip/*IT.java</include>
|
|
</includes>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>run-tarit</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<includes>
|
|
<include>**/tar/*IT.java</include>
|
|
</includes>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>java9+</id>
|
|
<activation>
|
|
<jdk>[9,)</jdk>
|
|
</activation>
|
|
<properties>
|
|
<maven.compiler.release>9</maven.compiler.release>
|
|
<commons.jacoco.version>0.7.9</commons.jacoco.version>
|
|
<animal.sniffer.skip>true</animal.sniffer.skip>
|
|
<!-- coverall version 4.3.0 does not work with java 9, see https://github.com/trautonen/coveralls-maven-plugin/issues/112 -->
|
|
<coveralls.skip>true</coveralls.skip>
|
|
</properties>
|
|
</profile>
|
|
|
|
</profiles>
|
|
|
|
</project>
|