1<?xml version="1.0" encoding="UTF-8"?> 2<!-- 3 Licensed to the Apache Software Foundation (ASF) under one or more 4 contributor license agreements. See the NOTICE file distributed with 5 this work for additional information regarding copyright ownership. 6 The ASF licenses this file to You under the Apache License, Version 2.0 7 (the "License"); you may not use this file except in compliance with 8 the License. You may obtain a copy of the License at 9 10 http://www.apache.org/licenses/LICENSE-2.0 11 12 Unless required by applicable law or agreed to in writing, software 13 distributed under the License is distributed on an "AS IS" BASIS, 14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 See the License for the specific language governing permissions and 16 limitations under the License. 17--> 18<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"> 19 <modelVersion>4.0.0</modelVersion> 20 <parent> 21 <groupId>org.apache.commons</groupId> 22 <artifactId>commons-parent</artifactId> 23 <version>47</version> 24 </parent> 25 26 <artifactId>commons-compress</artifactId> 27 <version>1.19-SNAPSHOT</version> 28 <name>Apache Commons Compress</name> 29 <url>https://commons.apache.org/proper/commons-compress/</url> 30 <!-- The description is not indented to make it look better in the release notes --> 31 <description> 32Apache Commons Compress software defines an API for working with 33compression and archive formats. These include: bzip2, gzip, pack200, 34lzma, xz, Snappy, traditional Unix Compress, DEFLATE, DEFLATE64, LZ4, 35Brotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj. 36 </description> 37 38 <properties> 39 <maven.compiler.source>1.7</maven.compiler.source> 40 <maven.compiler.target>1.7</maven.compiler.target> 41 <commons.componentid>compress</commons.componentid> 42 <commons.module.name>org.apache.commons.compress</commons.module.name> 43 <commons.jira.id>COMPRESS</commons.jira.id> 44 <commons.jira.pid>12310904</commons.jira.pid> 45 <!-- configuration bits for cutting a release candidate --> 46 <commons.release.version>${project.version}</commons.release.version> 47 <commons.rc.version>RC1</commons.rc.version> 48 <powermock.version>1.7.3</powermock.version> 49 <commons.pmd-plugin.version>3.8</commons.pmd-plugin.version> 50 51 <commons.manifestlocation>${project.build.outputDirectory}/META-INF</commons.manifestlocation> 52 <commons.manifestfile>${commons.manifestlocation}/MANIFEST.MF</commons.manifestfile> 53 <commons.osgi.import> 54 org.tukaani.xz;resolution:=optional, 55 org.brotli.dec;resolution:=optional, 56 com.github.luben.zstd;resolution:=optional, 57 javax.crypto.*;resolution:=optional, 58 * 59 </commons.osgi.import> 60 61 <!-- only show issues of the current version --> 62 <commons.changes.onlyCurrentVersion>true</commons.changes.onlyCurrentVersion> 63 64 <!-- generate report even if there are binary incompatible changes --> 65 <commons.japicmp.breakBuildOnBinaryIncompatibleModifications>false</commons.japicmp.breakBuildOnBinaryIncompatibleModifications> 66 <!-- 0.12.0 dies with a NullPointerException --> 67 <commons.japicmp.version>0.11.1</commons.japicmp.version> 68 69 <!-- definition uses commons.componentId starting with parent 47, 70 this doesn't work for us --> 71 <commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/${project.artifactId}</commons.scmPubUrl> 72 73 <pax.exam.version>4.11.0</pax.exam.version> 74 <slf4j.version>1.7.21</slf4j.version> 75 </properties> 76 77 <issueManagement> 78 <system>jira</system> 79 <url>https://issues.apache.org/jira/browse/COMPRESS</url> 80 </issueManagement> 81 82 <dependencies> 83 <dependency> 84 <groupId>junit</groupId> 85 <artifactId>junit</artifactId> 86 <version>4.12</version> 87 <scope>test</scope> 88 </dependency> 89 <dependency> 90 <groupId>com.github.luben</groupId> 91 <artifactId>zstd-jni</artifactId> 92 <version>1.3.3-3</version> 93 <optional>true</optional> 94 </dependency> 95 <dependency> 96 <groupId>org.brotli</groupId> 97 <artifactId>dec</artifactId> 98 <version>0.1.2</version> 99 <optional>true</optional> 100 </dependency> 101 <dependency> 102 <groupId>org.tukaani</groupId> 103 <artifactId>xz</artifactId> 104 <version>1.8</version> 105 <optional>true</optional> 106 </dependency> 107 <dependency> 108 <groupId>org.powermock</groupId> 109 <artifactId>powermock-module-junit4</artifactId> 110 <version>${powermock.version}</version> 111 <scope>test</scope> 112 </dependency> 113 <dependency> 114 <groupId>org.powermock</groupId> 115 <artifactId>powermock-api-mockito</artifactId> 116 <version>${powermock.version}</version> 117 <scope>test</scope> 118 </dependency> 119 120 <!-- integration test verifiying OSGi bundle works --> 121 <dependency> 122 <groupId>org.ops4j.pax.exam</groupId> 123 <artifactId>pax-exam-container-native</artifactId> 124 <version>${pax.exam.version}</version> 125 <scope>test</scope> 126 </dependency> 127 <dependency> 128 <groupId>org.ops4j.pax.exam</groupId> 129 <artifactId>pax-exam-junit4</artifactId> 130 <version>${pax.exam.version}</version> 131 <scope>test</scope> 132 </dependency> 133 <dependency> 134 <groupId>org.ops4j.pax.exam</groupId> 135 <artifactId>pax-exam-cm</artifactId> 136 <version>${pax.exam.version}</version> 137 <scope>test</scope> 138 </dependency> 139 <dependency> 140 <groupId>org.ops4j.pax.exam</groupId> 141 <artifactId>pax-exam-link-mvn</artifactId> 142 <version>${pax.exam.version}</version> 143 <scope>test</scope> 144 </dependency> 145 <dependency> 146 <groupId>org.apache.felix</groupId> 147 <artifactId>org.apache.felix.framework</artifactId> 148 <version>5.6.10</version> 149 <scope>test</scope> 150 </dependency> 151 <dependency> 152 <groupId>javax.inject</groupId> 153 <artifactId>javax.inject</artifactId> 154 <version>1</version> 155 <scope>test</scope> 156 </dependency> 157 <dependency> 158 <groupId>org.slf4j</groupId> 159 <artifactId>slf4j-api</artifactId> 160 <version>${slf4j.version}</version> 161 <scope>test</scope> 162 </dependency> 163 164 <dependency> 165 <groupId>org.osgi</groupId> 166 <artifactId>org.osgi.core</artifactId> 167 <version>6.0.0</version> 168 <scope>provided</scope> 169 </dependency> 170 </dependencies> 171 172 <developers> 173 <developer> 174 <name>Torsten Curdt</name> 175 <id>tcurdt</id> 176 <email>tcurdt at apache.org</email> 177 </developer> 178 <developer> 179 <name>Stefan Bodewig</name> 180 <id>bodewig</id> 181 <email>bodewig at apache.org</email> 182 </developer> 183 <developer> 184 <name>Sebastian Bazley</name> 185 <id>sebb</id> 186 <email>sebb at apache.org</email> 187 </developer> 188 <developer> 189 <name>Christian Grobmeier</name> 190 <id>grobmeier</id> 191 <email>grobmeier at apache.org</email> 192 </developer> 193 <developer> 194 <name>Julius Davies</name> 195 <id>julius</id> 196 <email>julius at apache.org</email> 197 </developer> 198 <developer> 199 <name>Damjan Jovanovic</name> 200 <id>damjan</id> 201 <email>damjan at apache.org</email> 202 </developer> 203 <developer> 204 <name>Emmanuel Bourg</name> 205 <id>ebourg</id> 206 <email>ebourg at apache.org</email> 207 </developer> 208 <developer> 209 <name>Gary Gregory</name> 210 <id>ggregory</id> 211 <email>ggregory at apache.org</email> 212 </developer> 213 <developer> 214 <name>Rob Tompkins</name> 215 <id>chtompki</id> 216 <email>chtompki at apache.org</email> 217 </developer> 218 </developers> 219 220 <contributors> 221 <contributor> 222 <name>Wolfgang Glas</name> 223 <email>wolfgang.glas at ev-i.at</email> 224 </contributor> 225 <contributor> 226 <name>Christian Kohlschütte</name> 227 <email>ck@newsclub.de</email> 228 </contributor> 229 <contributor> 230 <name>Bear Giles</name> 231 <email>bgiles@coyotesong.com</email> 232 </contributor> 233 <contributor> 234 <name>Michael Kuss</name> 235 <email>mail at michael minus kuss.de</email> 236 </contributor> 237 <contributor> 238 <name>Lasse Collin</name> 239 <email>lasse.collin@tukaani.org</email> 240 </contributor> 241 <contributor> 242 <name>John Kodis</name> 243 </contributor> 244 <contributor> 245 <name>BELUGA BEHR</name> 246 </contributor> 247 <contributor> 248 <name>Simon Spero</name> 249 <email>sesuncedu@gmail.com</email> 250 </contributor> 251 <contributor> 252 <name>Michael Hausegger</name> 253 <email>hausegger.michael@googlemail.com</email> 254 </contributor> 255 </contributors> 256 257 <scm> 258 <connection>scm:git:https://git-wip-us.apache.org/repos/asf/commons-compress.git</connection> 259 <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/commons-compress.git</developerConnection> 260 <url>https://git-wip-us.apache.org/repos/asf?p=commons-compress.git</url> 261 </scm> 262 263 <build> 264 <pluginManagement> 265 <plugins> 266 <!-- Override Javadoc config in parent pom to add JCIP tags --> 267 <plugin> 268 <groupId>org.apache.maven.plugins</groupId> 269 <artifactId>maven-javadoc-plugin</artifactId> 270 <version>${commons.javadoc.version}</version> 271 <configuration> 272 <quiet>true</quiet> 273 <source>${maven.compiler.source}</source> 274 <encoding>${commons.encoding}</encoding> 275 <docencoding>${commons.docEncoding}</docencoding> 276 <linksource>true</linksource> 277 <links> 278 <link>${commons.javadoc.java.link}</link> 279 <link>${commons.javadoc.javaee.link}</link> 280 </links> 281 <tags> 282 <tag> 283 <name>Immutable</name> 284 <placement>a</placement> 285 <head>This class is immutable</head> 286 </tag> 287 <tag> 288 <name>NotThreadSafe</name> 289 <placement>a</placement> 290 <head>This class is not thread-safe</head> 291 </tag> 292 <tag> 293 <name>ThreadSafe</name> 294 <placement>a</placement> 295 <head>This class is thread-safe</head> 296 </tag> 297 </tags> 298 </configuration> 299 </plugin> 300 <plugin> 301 <groupId>org.apache.rat</groupId> 302 <artifactId>apache-rat-plugin</artifactId> 303 <version>${commons.rat.version}</version> 304 <configuration> 305 <excludes> 306 <!-- files used during tests --> 307 <exclude>src/test/resources/**</exclude> 308 <exclude>.pmd</exclude> 309 <exclude>.projectile</exclude> 310 <exclude>.mvn/**</exclude> 311 </excludes> 312 </configuration> 313 </plugin> 314 <plugin> 315 <groupId>org.eluder.coveralls</groupId> 316 <artifactId>coveralls-maven-plugin</artifactId> 317 <configuration> 318 <failOnServiceError>false</failOnServiceError> 319 </configuration> 320 </plugin> 321 <plugin> 322 <groupId>org.apache.felix</groupId> 323 <artifactId>maven-bundle-plugin</artifactId> 324 <version>${commons.felix.version}</version> 325 </plugin> 326 <!-- override skip property of parent pom, can be removed once 327 we adopt parent 48+ --> 328 <plugin> 329 <groupId>com.github.siom79.japicmp</groupId> 330 <artifactId>japicmp-maven-plugin</artifactId> 331 <configuration> 332 <skip>false</skip> 333 </configuration> 334 </plugin> 335 </plugins> 336 </pluginManagement> 337 <plugins> 338 <plugin> 339 <!-- create the source and binary assemblies --> 340 <artifactId>maven-assembly-plugin</artifactId> 341 <configuration> 342 <descriptors> 343 <descriptor>src/assembly/bin.xml</descriptor> 344 <descriptor>src/assembly/src.xml</descriptor> 345 </descriptors> 346 <tarLongFileMode>gnu</tarLongFileMode> 347 </configuration> 348 </plugin> 349 <plugin> 350 <artifactId>maven-jar-plugin</artifactId> 351 <configuration> 352 <archive> 353 <manifestEntries> 354 <Main-Class>org.apache.commons.compress.archivers.Lister</Main-Class> 355 <Extension-Name>org.apache.commons.compress</Extension-Name> 356 <Automatic-Module-Name>${commons.module.name}</Automatic-Module-Name> 357 </manifestEntries> 358 </archive> 359 </configuration> 360 </plugin> 361 <plugin> 362 <groupId>org.apache.felix</groupId> 363 <artifactId>maven-bundle-plugin</artifactId> 364 <configuration> 365 <manifestLocation>${commons.manifestlocation}</manifestLocation> 366 </configuration> 367 </plugin> 368 <plugin> 369 <groupId>org.apache.maven.plugins</groupId> 370 <artifactId>maven-scm-publish-plugin</artifactId> 371 <configuration> 372 <ignorePathsToDelete> 373 <ignorePathToDelete>javadocs</ignorePathToDelete> 374 </ignorePathsToDelete> 375 </configuration> 376 </plugin> 377 <plugin> 378 <groupId>org.apache.maven.plugins</groupId> 379 <artifactId>maven-pmd-plugin</artifactId> 380 <version>${commons.pmd-plugin.version}</version> 381 </plugin> 382 <plugin> 383 <groupId>org.apache.maven.plugins</groupId> 384 <artifactId>maven-antrun-plugin</artifactId> 385 <executions> 386 <execution> 387 <phase>process-test-resources</phase> 388 <configuration> 389 <target> 390 <untar src="${basedir}/src/test/resources/zstd-tests.tar" 391 dest="${project.build.testOutputDirectory}" 392 /> 393 </target> 394 </configuration> 395 <goals> 396 <goal>run</goal> 397 </goals> 398 </execution> 399 </executions> 400 </plugin> 401 <plugin> 402 <artifactId>maven-surefire-plugin</artifactId> 403 <configuration> 404 <systemPropertyVariables> 405 <pax.exam.karaf.version>${karaf.version}</pax.exam.karaf.version> 406 <commons-compress.version>${project.version}</commons-compress.version> 407 </systemPropertyVariables> 408 </configuration> 409 </plugin> 410 </plugins> 411 </build> 412 413 <reporting> 414 <plugins> 415 <plugin> 416 <!-- generate the PMD reports --> 417 <groupId>org.apache.maven.plugins</groupId> 418 <artifactId>maven-pmd-plugin</artifactId> 419 <version>${commons.pmd-plugin.version}</version> 420 <configuration> 421 <minimumTokens>200</minimumTokens> 422 <targetJdk>${maven.compiler.source}</targetJdk> 423 <rulesets> 424 <ruleset>${basedir}/pmd-ruleset.xml</ruleset> 425 </rulesets> 426 </configuration> 427 </plugin> 428 <!-- Override Javadoc config in parent pom to add JCIP tags --> 429 <plugin> 430 <groupId>org.apache.maven.plugins</groupId> 431 <artifactId>maven-javadoc-plugin</artifactId> 432 <configuration> 433 <quiet>true</quiet> 434 <source>${maven.compiler.source}</source> 435 <encoding>${commons.encoding}</encoding> 436 <docencoding>${commons.docEncoding}</docencoding> 437 <linksource>true</linksource> 438 <links> 439 <link>${commons.javadoc.java.link}</link> 440 <link>${commons.javadoc.javaee.link}</link> 441 </links> 442 <tags> 443 <tag> 444 <name>Immutable</name> 445 <placement>a</placement> 446 <head>This class is immutable</head> 447 </tag> 448 <tag> 449 <name>NotThreadSafe</name> 450 <placement>a</placement> 451 <head>This class is not thread-safe</head> 452 </tag> 453 <tag> 454 <name>ThreadSafe</name> 455 <placement>a</placement> 456 <head>This class is thread-safe</head> 457 </tag> 458 </tags> 459 </configuration> 460 </plugin> 461 <plugin> 462 <groupId>org.codehaus.mojo</groupId> 463 <artifactId>findbugs-maven-plugin</artifactId> 464 <version>3.0.5</version> 465 <configuration> 466 <threshold>Normal</threshold> 467 <effort>Default</effort> 468 <excludeFilterFile>${basedir}/findbugs-exclude-filter.xml</excludeFilterFile> 469 </configuration> 470 </plugin> 471 </plugins> 472 </reporting> 473 474 <profiles> 475 <!-- Add long running tests as **/*IT.java --> 476 <profile> 477 <id>run-zipit</id> 478 <build> 479 <plugins> 480 <plugin> 481 <groupId>org.apache.maven.plugins</groupId> 482 <artifactId>maven-antrun-plugin</artifactId> 483 <executions> 484 <execution> 485 <phase>process-test-resources</phase> 486 <configuration> 487 <target> 488 <untar src="${basedir}/src/test/resources/zip64support.tar.bz2" 489 dest="${project.build.testOutputDirectory}" 490 compression="bzip2"/> 491 </target> 492 </configuration> 493 <goals> 494 <goal>run</goal> 495 </goals> 496 </execution> 497 </executions> 498 </plugin> 499 <plugin> 500 <artifactId>maven-surefire-plugin</artifactId> 501 <configuration> 502 <includes> 503 <include>**/zip/*IT.java</include> 504 </includes> 505 </configuration> 506 </plugin> 507 </plugins> 508 </build> 509 </profile> 510 <profile> 511 <id>run-tarit</id> 512 <build> 513 <plugins> 514 <plugin> 515 <artifactId>maven-surefire-plugin</artifactId> 516 <configuration> 517 <includes> 518 <include>**/tar/*IT.java</include> 519 </includes> 520 </configuration> 521 </plugin> 522 </plugins> 523 </build> 524 </profile> 525 <profile> 526 <id>java9+</id> 527 <activation> 528 <jdk>[9,)</jdk> 529 </activation> 530 <properties> 531 <maven.compiler.release>9</maven.compiler.release> 532 <commons.jacoco.version>0.7.9</commons.jacoco.version> 533 <animal.sniffer.skip>true</animal.sniffer.skip> 534 <!-- coverall version 4.3.0 does not work with java 9, see https://github.com/trautonen/coveralls-maven-plugin/issues/112 --> 535 <coveralls.skip>true</coveralls.skip> 536 </properties> 537 </profile> 538 539 </profiles> 540 541</project> 542