test(cache): 修复CacheConfigTest边界值测试

- 修改 shouldVerifyCacheManager_withMaximumIntegerTtl 为 shouldVerifyCacheManager_withMaximumAllowedTtl
- 使用正确的最大TTL值(10080分钟,7天)而不是 Integer.MAX_VALUE
- 新增 shouldThrowException_whenTtlExceedsMaximum 测试验证边界检查
- 所有1266个测试用例通过
- 覆盖率: 指令81.89%, 行88.48%, 分支51.55%

docs: 添加项目状态报告
- 生成 PROJECT_STATUS_REPORT.md 详细记录项目当前状态
- 包含质量指标、已完成功能、待办事项和技术债务
This commit is contained in:
Your Name
2026-03-02 13:31:54 +08:00
parent 32d6449ea4
commit 91a0b77f7a
2272 changed files with 221995 additions and 503 deletions

View File

@@ -0,0 +1,4 @@
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
#Sat Jan 31 09:39:21 CST 2026
commons-compress-1.21.jar>aliyunmaven=
commons-compress-1.21.pom>aliyunmaven=

View File

@@ -0,0 +1 @@
4ec95b60d4e86b5c95a0e919cb172a0af98011ef

View File

@@ -0,0 +1,586 @@
<?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>52</version>
</parent>
<artifactId>commons-compress</artifactId>
<version>1.21</version>
<name>Apache Commons Compress</name>
<url>https://commons.apache.org/proper/commons-compress/</url>
<inceptionYear>2002</inceptionYear> <!-- from NOTICE file -->
<!-- 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.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<commons.felix.version>5.1.2</commons.felix.version>
<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>
<!-- old version used by japicmp -->
<commons.bc.version>1.20</commons.bc.version>
<mockito.version>3.11.1</mockito.version>
<commons.pmd-plugin.version>3.14.0</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,
org.objectweb.asm;resolution:=optional,
javax.crypto.*;resolution:=optional,
*
</commons.osgi.import>
<!-- only show issues of the current version -->
<commons.changes.onlyCurrentVersion>true</commons.changes.onlyCurrentVersion>
<!-- 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>
<japicmp.skip>false</japicmp.skip>
<pax.exam.version>4.13.1</pax.exam.version>
<slf4j.version>1.7.30</slf4j.version>
<commons.jacoco.version>0.8.7</commons.jacoco.version>
<commons.japicmp.version>0.15.3</commons.japicmp.version>
<commons.javadoc.version>3.3.0</commons.javadoc.version>
</properties>
<issueManagement>
<system>jira</system>
<url>https://issues.apache.org/jira/browse/COMPRESS</url>
</issueManagement>
<dependencies>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<version>2.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.luben</groupId>
<artifactId>zstd-jni</artifactId>
<version>1.5.0-2</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.9</version>
<optional>true</optional>
</dependency>
<!-- Pack200 -->
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>3.2</version>
<optional>true</optional>
</dependency>
<!-- Test -->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.marschall</groupId>
<artifactId>memoryfilesystem</artifactId>
<version>2.1.0</version>
<scope>test</scope>
</dependency>
<!-- integration test verifying 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>7.0.0</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>
<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>
<developer>
<name>Rob Tompkins</name>
<id>chtompki</id>
<email>chtompki at apache.org</email>
</developer>
<developer>
<name>Peter Alfred Lee</name>
<id>peterlee</id>
<email>peterlee 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://gitbox.apache.org/repos/asf/commons-compress.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/commons-compress.git</developerConnection>
<url>https://gitbox.apache.org/repos/asf?p=commons-compress.git</url>
</scm>
<build>
<defaultGoal>clean package apache-rat:check japicmp:cmp javadoc:javadoc</defaultGoal>
<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>
<source>${maven.compiler.source}</source>
<quiet>true</quiet>
<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>
</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>
<source>${maven.compiler.source}</source>
<quiet>true</quiet>
<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>java11+</id>
<activation>
<jdk>[11,)</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<release>8</release>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>java9+</id>
<activation>
<jdk>[9,)</jdk>
</activation>
<properties>
<maven.compiler.release>9</maven.compiler.release>
<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>

View File

@@ -0,0 +1 @@
f9f4f26a1ea08778cc818c1555587741605bb4da

View File

@@ -0,0 +1,4 @@
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
#Sat Jan 31 09:39:05 CST 2026
commons-compress-1.24.0.jar>aliyunmaven=
commons-compress-1.24.0.pom>aliyunmaven=

View File

@@ -0,0 +1 @@
b4b1b5a3d9573b2970fddab236102c0a4d27d35e

View File

@@ -0,0 +1,637 @@
<?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>61</version>
</parent>
<artifactId>commons-compress</artifactId>
<version>1.24.0</version>
<name>Apache Commons Compress</name>
<url>https://commons.apache.org/proper/commons-compress/</url>
<inceptionYear>2002</inceptionYear> <!-- from NOTICE file -->
<!-- The description is not indented to make it look better in the release notes -->
<description>
Apache Commons Compress 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.8</maven.compiler.source>
<maven.compiler.target>1.8</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>1.24.0</commons.release.version>
<commons.bc.version>1.23.0</commons.bc.version>
<commons.rc.version>RC1</commons.rc.version>
<mockito.version>4.11.0</mockito.version>
<commons.release.isDistModule>true</commons.release.isDistModule>
<commons.distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/${commons.componentid}</commons.distSvnStagingUrl>
<commons.releaseManagerName>Gary Gregory</commons.releaseManagerName>
<commons.releaseManagerKey>86fdc7e2a11262cb</commons.releaseManagerKey>
<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,
org.objectweb.asm;resolution:=optional,
javax.crypto.*;resolution:=optional,
*
</commons.osgi.import>
<!-- only show issues of the current version -->
<commons.changes.onlyCurrentVersion>true</commons.changes.onlyCurrentVersion>
<!-- 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>
<japicmp.skip>false</japicmp.skip>
<pax.exam.version>4.13.5</pax.exam.version>
<slf4j.version>2.0.8</slf4j.version>
<asm.version>9.5</asm.version>
</properties>
<issueManagement>
<system>jira</system>
<url>https://issues.apache.org/jira/browse/COMPRESS</url>
</issueManagement>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<version>2.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.luben</groupId>
<artifactId>zstd-jni</artifactId>
<version>1.5.5-5</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.9</version>
<optional>true</optional>
</dependency>
<!-- Pack200 -->
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>${asm.version}</version>
<optional>true</optional>
</dependency>
<!-- Test -->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.marschall</groupId>
<artifactId>memoryfilesystem</artifactId>
<version>2.6.1</version>
<scope>test</scope>
</dependency>
<!-- integration test verifying 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>7.0.5</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>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.13.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.13.0</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>
<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>
<developer>
<name>Rob Tompkins</name>
<id>chtompki</id>
<email>chtompki at apache.org</email>
</developer>
<developer>
<name>Peter Alfred Lee</name>
<id>peterlee</id>
<email>peterlee 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>
<contributor>
<name>Arturo Bernal</name>
<email>arturobernalg@yahoo.com</email>
</contributor>
</contributors>
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/commons-compress.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/commons-compress.git</developerConnection>
<url>https://gitbox.apache.org/repos/asf?p=commons-compress.git</url>
<tag>HEAD</tag>
</scm>
<build>
<defaultGoal>clean verify apache-rat:check japicmp:cmp javadoc:javadoc</defaultGoal>
<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>
<source>${maven.compiler.source}</source>
<quiet>true</quiet>
<encoding>${commons.encoding}</encoding>
<docencoding>${commons.docEncoding}</docencoding>
<linksource>true</linksource>
<links>
<link>${commons.javadoc8.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>
<exclude>.gitattributes</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>
<plugin>
<groupId>com.github.siom79.japicmp</groupId>
<artifactId>japicmp-maven-plugin</artifactId>
<configuration>
<parameter>
<excludes>
<!-- Compress 1.21 -> 1.22 updates ASM from 3.2 to 9.2 for pack200 implementation. -->
<exclude>org.apache.commons.compress.harmony.pack200.Segment</exclude>
<exclude>org.apache.commons.compress.harmony.pack200.SegmentMethodVisitor</exclude>
<exclude>org.apache.commons.compress.harmony.pack200.SegmentAnnotationVisitor</exclude>
<exclude>org.apache.commons.compress.harmony.pack200.SegmentFieldVisitor</exclude>
</excludes>
</parameter>
</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>
<configuration>
<minimumTokens>200</minimumTokens>
<targetJdk>${maven.compiler.source}</targetJdk>
<rulesets>
<ruleset>${basedir}/src/conf/pmd-ruleset.xml</ruleset>
</rulesets>
</configuration>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<configuration>
<threshold>Normal</threshold>
<effort>Default</effort>
<excludeFilterFile>${basedir}/src/conf/spotbugs-exclude-filter.xml</excludeFilterFile>
</configuration>
</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>
<configuration>
<minimumTokens>200</minimumTokens>
<targetJdk>${maven.compiler.source}</targetJdk>
<rulesets>
<ruleset>${basedir}/src/conf/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>
<source>${maven.compiler.source}</source>
<quiet>true</quiet>
<encoding>${commons.encoding}</encoding>
<docencoding>${commons.docEncoding}</docencoding>
<linksource>true</linksource>
<links>
<link>${commons.javadoc8.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>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<configuration>
<threshold>Normal</threshold>
<effort>Default</effort>
<excludeFilterFile>${basedir}/src/conf/spotbugs-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>java11+</id>
<activation>
<jdk>[11,)</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<release>8</release>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>java9+</id>
<activation>
<jdk>[9,)</jdk>
</activation>
<properties>
<maven.compiler.release>8</maven.compiler.release>
<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>

View File

@@ -0,0 +1 @@
7aed3b6026a9177fa638c33e419ac57f7b10143f

View File

@@ -0,0 +1,4 @@
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
#Sat Jan 31 09:39:05 CST 2026
commons-lang3-3.12.0.jar>aliyunmaven=
commons-lang3-3.12.0.pom>aliyunmaven=

View File

@@ -0,0 +1 @@
c6842c86792ff03b9f1d1fe2aab8dc23aa6c6f0e

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
302d01a9279f7a400b1e767be60f12c02a5cf513

View File

@@ -0,0 +1,4 @@
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
#Sat Jan 31 09:39:21 CST 2026
commons-lang3-3.7.jar>aliyunmaven=
commons-lang3-3.7.pom>aliyunmaven=

View File

@@ -0,0 +1 @@
557edd918fd41f9260963583ebf5a61a43a6b423

View File

@@ -0,0 +1,885 @@
<?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">
<parent>
<groupId>org.apache.commons</groupId>
<artifactId>commons-parent</artifactId>
<version>42</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
<name>Apache Commons Lang</name>
<inceptionYear>2001</inceptionYear>
<description>
Apache Commons Lang, a package of Java utility classes for the
classes that are in java.lang's hierarchy, or are considered to be so
standard as to justify existence in java.lang.
</description>
<url>http://commons.apache.org/proper/commons-lang/</url>
<issueManagement>
<system>jira</system>
<url>http://issues.apache.org/jira/browse/LANG</url>
</issueManagement>
<scm>
<connection>scm:git:http://git-wip-us.apache.org/repos/asf/commons-lang.git</connection>
<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/commons-lang.git</developerConnection>
<url>https://git-wip-us.apache.org/repos/asf?p=commons-lang.git</url>
<tag>LANG_3_6</tag>
</scm>
<developers>
<developer>
<name>Daniel Rall</name>
<id>dlr</id>
<email>dlr@finemaltcoding.com</email>
<organization>CollabNet, Inc.</organization>
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>Stephen Colebourne</name>
<id>scolebourne</id>
<email>scolebourne@joda.org</email>
<organization>SITA ATS Ltd</organization>
<timezone>0</timezone>
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>Henri Yandell</name>
<id>bayard</id>
<email>bayard@apache.org</email>
<organization />
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>Steven Caswell</name>
<id>scaswell</id>
<email>stevencaswell@apache.org</email>
<organization />
<roles>
<role>Java Developer</role>
</roles>
<timezone>-5</timezone>
</developer>
<developer>
<name>Robert Burrell Donkin</name>
<id>rdonkin</id>
<email>rdonkin@apache.org</email>
<organization />
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>Gary D. Gregory</name>
<id>ggregory</id>
<email>ggregory@apache.org</email>
<timezone>-5</timezone>
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>Fredrik Westermarck</name>
<id>fredrik</id>
<email />
<organization />
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>James Carman</name>
<id>jcarman</id>
<email>jcarman@apache.org</email>
<organization>Carman Consulting, Inc.</organization>
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>Niall Pemberton</name>
<id>niallp</id>
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>Matt Benson</name>
<id>mbenson</id>
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>Joerg Schaible</name>
<id>joehni</id>
<email>joerg.schaible@gmx.de</email>
<roles>
<role>Java Developer</role>
</roles>
<timezone>+1</timezone>
</developer>
<developer>
<name>Oliver Heger</name>
<id>oheger</id>
<email>oheger@apache.org</email>
<timezone>+1</timezone>
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>Paul Benedict</name>
<id>pbenedict</id>
<email>pbenedict@apache.org</email>
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>Benedikt Ritter</name>
<id>britter</id>
<email>britter@apache.org</email>
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>Duncan Jones</name>
<id>djones</id>
<email>djones@apache.org</email>
<timezone>0</timezone>
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>Loic Guibert</name>
<id>lguibert</id>
<email>lguibert@apache.org</email>
<timezone>+4</timezone>
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>Rob Tompkins</name>
<id>chtompki</id>
<email>chtompki@apache.org</email>
<timezone>-5</timezone>
<roles>
<role>Java Developer</role>
</roles>
</developer>
</developers>
<contributors>
<contributor>
<name>C. Scott Ananian</name>
</contributor>
<contributor>
<name>Chris Audley</name>
</contributor>
<contributor>
<name>Stephane Bailliez</name>
</contributor>
<contributor>
<name>Michael Becke</name>
</contributor>
<contributor>
<name>Benjamin Bentmann</name>
</contributor>
<contributor>
<name>Ola Berg</name>
</contributor>
<contributor>
<name>Nathan Beyer</name>
</contributor>
<contributor>
<name>Stefan Bodewig</name>
</contributor>
<contributor>
<name>Janek Bogucki</name>
</contributor>
<contributor>
<name>Mike Bowler</name>
</contributor>
<contributor>
<name>Sean Brown</name>
</contributor>
<contributor>
<name>Alexander Day Chaffee</name>
</contributor>
<contributor>
<name>Al Chou</name>
</contributor>
<contributor>
<name>Greg Coladonato</name>
</contributor>
<contributor>
<name>Maarten Coene</name>
</contributor>
<contributor>
<name>Justin Couch</name>
</contributor>
<contributor>
<name>Michael Davey</name>
</contributor>
<contributor>
<name>Norm Deane</name>
</contributor>
<contributor>
<name>Morgan Delagrange</name>
</contributor>
<contributor>
<name>Ringo De Smet</name>
</contributor>
<contributor>
<name>Russel Dittmar</name>
</contributor>
<contributor>
<name>Steve Downey</name>
</contributor>
<contributor>
<name>Matthias Eichel</name>
</contributor>
<contributor>
<name>Christopher Elkins</name>
</contributor>
<contributor>
<name>Chris Feldhacker</name>
</contributor>
<contributor>
<name>Roland Foerther</name>
</contributor>
<contributor>
<name>Pete Gieser</name>
</contributor>
<contributor>
<name>Jason Gritman</name>
</contributor>
<contributor>
<name>Matthew Hawthorne</name>
</contributor>
<contributor>
<name>Michael Heuer</name>
</contributor>
<contributor>
<name>Chas Honton</name>
</contributor>
<contributor>
<name>Chris Hyzer</name>
</contributor>
<contributor>
<name>Paul Jack</name>
</contributor>
<contributor>
<name>Marc Johnson</name>
</contributor>
<contributor>
<name>Shaun Kalley</name>
</contributor>
<contributor>
<name>Tetsuya Kaneuchi</name>
</contributor>
<contributor>
<name>Nissim Karpenstein</name>
</contributor>
<contributor>
<name>Ed Korthof</name>
</contributor>
<contributor>
<name>Holger Krauth</name>
</contributor>
<contributor>
<name>Rafal Krupinski</name>
</contributor>
<contributor>
<name>Rafal Krzewski</name>
</contributor>
<contributor>
<name>David Leppik</name>
</contributor>
<contributor>
<name>Eli Lindsey</name>
</contributor>
<contributor>
<name>Sven Ludwig</name>
</contributor>
<contributor>
<name>Craig R. McClanahan</name>
</contributor>
<contributor>
<name>Rand McNeely</name>
</contributor>
<contributor>
<name>Hendrik Maryns</name>
</contributor>
<contributor>
<name>Dave Meikle</name>
</contributor>
<contributor>
<name>Nikolay Metchev</name>
</contributor>
<contributor>
<name>Kasper Nielsen</name>
</contributor>
<contributor>
<name>Tim O'Brien</name>
</contributor>
<contributor>
<name>Brian S O'Neill</name>
</contributor>
<contributor>
<name>Andrew C. Oliver</name>
</contributor>
<contributor>
<name>Alban Peignier</name>
</contributor>
<contributor>
<name>Moritz Petersen</name>
</contributor>
<contributor>
<name>Dmitri Plotnikov</name>
</contributor>
<contributor>
<name>Neeme Praks</name>
</contributor>
<contributor>
<name>Eric Pugh</name>
</contributor>
<contributor>
<name>Stephen Putman</name>
</contributor>
<contributor>
<name>Travis Reeder</name>
</contributor>
<contributor>
<name>Antony Riley</name>
</contributor>
<contributor>
<name>Valentin Rocher</name>
</contributor>
<contributor>
<name>Scott Sanders</name>
</contributor>
<contributor>
<name>James Sawle</name>
</contributor>
<contributor>
<name>Ralph Schaer</name>
</contributor>
<contributor>
<name>Henning P. Schmiedehausen</name>
</contributor>
<contributor>
<name>Sean Schofield</name>
</contributor>
<contributor>
<name>Robert Scholte</name>
</contributor>
<contributor>
<name>Reuben Sivan</name>
</contributor>
<contributor>
<name>Ville Skytta</name>
</contributor>
<contributor>
<name>David M. Sledge</name>
</contributor>
<contributor>
<name>Michael A. Smith</name>
</contributor>
<contributor>
<name>Jan Sorensen</name>
</contributor>
<contributor>
<name>Glen Stampoultzis</name>
</contributor>
<contributor>
<name>Scott Stanchfield</name>
</contributor>
<contributor>
<name>Jon S. Stevens</name>
</contributor>
<contributor>
<name>Sean C. Sullivan</name>
</contributor>
<contributor>
<name>Ashwin Suresh</name>
</contributor>
<contributor>
<name>Helge Tesgaard</name>
</contributor>
<contributor>
<name>Arun Mammen Thomas</name>
</contributor>
<contributor>
<name>Masato Tezuka</name>
</contributor>
<contributor>
<name>Daniel Trebbien</name>
</contributor>
<contributor>
<name>Jeff Varszegi</name>
</contributor>
<contributor>
<name>Chris Webb</name>
</contributor>
<contributor>
<name>Mario Winterer</name>
</contributor>
<contributor>
<name>Stepan Koltsov</name>
</contributor>
<contributor>
<name>Holger Hoffstatte</name>
</contributor>
<contributor>
<name>Derek C. Ashmore</name>
</contributor>
<contributor>
<name>Sebastien Riou</name>
</contributor>
<contributor>
<name>Allon Mureinik</name>
</contributor>
<contributor>
<name>Adam Hooper</name>
</contributor>
<contributor>
<name>Chris Karcher</name>
</contributor>
<contributor>
<name>Michael Osipov</name>
</contributor>
<contributor>
<name>Thiago Andrade</name>
</contributor>
<contributor>
<name>Jonathan Baker</name>
</contributor>
<contributor>
<name>Mikhail Mazursky</name>
</contributor>
<contributor>
<name>Fabian Lange</name>
</contributor>
<contributor>
<name>Michał Kordas</name>
</contributor>
<contributor>
<name>Felipe Adorno</name>
</contributor>
<contributor>
<name>Adrian Ber</name>
</contributor>
<contributor>
<name>Mark Dacek</name>
</contributor>
</contributors>
<!-- Lang should depend on very little -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>3.5</version>
<scope>test</scope>
</dependency>
<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>
</dependencies>
<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-lang/</url>
</site>
</distributionManagement>
<properties>
<argLine>-Xmx512m</argLine>
<project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<!--
This is also used to generate download_xxx file name.
To override this when generating the download page:
mvn commons:download-page -Dcommons.componentid=lang
The above seems to change the download page name but not any other
properties that depend on the componentid.
-->
<commons.componentid>lang3</commons.componentid>
<commons.module.name>org.apache.commons.lang3</commons.module.name>
<!-- Current 3.x release series -->
<commons.release.version>3.7</commons.release.version>
<commons.release.desc>(Java 7.0+)</commons.release.desc>
<!-- Previous 2.x release series -->
<commons.release.2.version>2.6</commons.release.2.version>
<commons.release.2.desc>(Requires Java 1.2 or later)</commons.release.2.desc>
<!-- Override generated name -->
<commons.release.2.name>commons-lang-${commons.release.2.version}</commons.release.2.name>
<commons.jira.id>LANG</commons.jira.id>
<commons.jira.pid>12310481</commons.jira.pid>
<commons.site.path>lang</commons.site.path>
<commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-lang</commons.scmPubUrl>
<commons.scmPubCheckoutDirectory>site-content</commons.scmPubCheckoutDirectory>
<commons.encoding>utf-8</commons.encoding>
<!-- Override clirr version to be able to build the site on Java 8 -->
<commons.clirr.version>2.8</commons.clirr.version>
<checkstyle.plugin.version>2.17</checkstyle.plugin.version>
<!-- JMH Benchmark related properties, version, target compiler and name of the benchmarking uber jar. -->
<jmh.version>1.19</jmh.version>
<uberjar.name>benchmarks</uberjar.name>
</properties>
<build>
<defaultGoal>clean verify apache-rat:check clirr:check checkstyle:check findbugs:check javadoc:javadoc</defaultGoal>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludes>
<exclude>site-content/**</exclude>
<exclude>src/site/resources/.htaccess</exclude>
<exclude>src/site/resources/download_lang.cgi</exclude>
<exclude>src/site/resources/release-notes/RELEASE-NOTES-*.txt</exclude>
<exclude>src/test/resources/lang-708-input.txt</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<executions>
<execution>
<id>plain</id>
<configuration>
<includes>
<include>**/*Test.java</include>
</includes>
<runOrder>random</runOrder>
</configuration>
</execution>
<!-- <execution> <id>security-manager-test</id> <phase>integration-test</phase> <goals> <goal>test</goal> </goals> <configuration>
<includes> <include>**/*Test.java</include> </includes> <argLine>-Djava.security.manager -Djava.security.policy=${basedir}/src/test/resources/java.policy</argLine>
</configuration> </execution> -->
</executions>
</plugin>
<plugin>
<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>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
<!-- Temporary fix for LANG-1338, remove this after this has implemented in parent pom -->
<configuration>
<archive combine.children="append">
<manifestEntries>
<Automatic-Module-Name>org.apache.commons.lang3</Automatic-Module-Name>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-publish-plugin</artifactId>
<configuration>
<ignorePathsToDelete>
<ignorePathToDelete>javadocs</ignorePathToDelete>
</ignorePathsToDelete>
</configuration>
</plugin>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.plugin.version}</version>
<configuration>
<configLocation>${basedir}/checkstyle.xml</configLocation>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<enableRulesSummary>false</enableRulesSummary>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<!-- Use version from parent pom as that is adjusted according to the Java version used to run Maven -->
<version>${commons.findbugs.version}</version>
<configuration>
<excludeFilterFile>${basedir}/findbugs-exclude-filter.xml</excludeFilterFile>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.plugin.version}</version>
<configuration>
<configLocation>${basedir}/checkstyle.xml</configLocation>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<enableRulesSummary>false</enableRulesSummary>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>checkstyle</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<!-- Requires setting 'export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m" ' -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<!-- Use version from parent pom as that is adjusted according to the Java version used to run Maven -->
<version>${commons.findbugs.version}</version>
<configuration>
<excludeFilterFile>${basedir}/findbugs-exclude-filter.xml</excludeFilterFile>
</configuration>
</plugin>
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.8</version>
<configuration>
<targetJdk>${maven.compiler.target}</targetJdk>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>taglist-maven-plugin</artifactId>
<version>2.4</version>
<configuration>
<tagListOptions>
<tagClasses>
<tagClass>
<displayName>Needs Work</displayName>
<tags>
<tag>
<matchString>TODO</matchString>
<matchType>exact</matchType>
</tag>
<tag>
<matchString>FIXME</matchString>
<matchType>exact</matchType>
</tag>
<tag>
<matchString>XXX</matchString>
<matchType>exact</matchType>
</tag>
</tags>
</tagClass>
<tagClass>
<displayName>Noteable Markers</displayName>
<tags>
<tag>
<matchString>NOTE</matchString>
<matchType>exact</matchType>
</tag>
<tag>
<matchString>NOPMD</matchString>
<matchType>exact</matchType>
</tag>
<tag>
<matchString>NOSONAR</matchString>
<matchType>exact</matchType>
</tag>
</tags>
</tagClass>
</tagClasses>
</tagListOptions>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>javancss-maven-plugin</artifactId>
<version>2.1</version>
</plugin>
</plugins>
</reporting>
<profiles>
<profile>
<id>setup-checkout</id>
<activation>
<file>
<missing>site-content</missing>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>prepare-checkout</id>
<phase>pre-site</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<exec executable="svn">
<arg line="checkout --depth immediates ${commons.scmPubUrl} ${commons.scmPubCheckoutDirectory}" />
</exec>
<exec executable="svn">
<arg line="update --set-depth exclude ${commons.scmPubCheckoutDirectory}/javadocs" />
</exec>
<pathconvert pathsep=" " property="dirs">
<dirset dir="${commons.scmPubCheckoutDirectory}" includes="*" />
</pathconvert>
<exec executable="svn">
<arg line="update --set-depth infinity ${dirs}" />
</exec>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>java9</id>
<activation>
<jdk>9</jdk>
</activation>
<properties>
<!-- LANG-1265: allow tests to access private fields/methods of java.base classes via reflection -->
<argLine>-Xmx512m --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED</argLine>
<!-- versions below 3.0.0 do not work with java 9 -->
<commons.javadoc.version>3.0.0-M1</commons.javadoc.version>
<!-- 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>
<profile>
<id>benchmark</id>
<properties>
<skipTests>true</skipTests>
<benchmark>org.apache</benchmark>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<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.${benchmark}.json</argument>
<argument>${benchmark}</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@@ -0,0 +1 @@
c445be3b6442b41cbea539d4218be3aea9428a55

View File

@@ -0,0 +1,3 @@
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
#Sat Jan 31 09:38:54 CST 2026
commons-parent-34.pom>aliyunmaven=

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
1f6be162a806d8343e3cd238dd728558532473a5

View File

@@ -0,0 +1,3 @@
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
#Sat Jan 31 09:38:54 CST 2026
commons-parent-39.pom>aliyunmaven=

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
4bc32d3cda9f07814c548492af7bf19b21798d46

View File

@@ -0,0 +1,3 @@
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
#Sat Jan 31 09:39:10 CST 2026
commons-parent-42.pom>aliyunmaven=

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
35d45eda74fe511d3d60b68e1dac29ed55043354

View File

@@ -0,0 +1,3 @@
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
#Sat Jan 31 09:38:44 CST 2026
commons-parent-52.pom>aliyunmaven=

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
004ee86dedc66d0010ccdc29e5a4ce014c057854

View File

@@ -0,0 +1,3 @@
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
#Sat Jan 31 09:38:49 CST 2026
commons-parent-54.pom>aliyunmaven=

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
1f0bb4fa26349c91fea72fd70f731f752d3bde3b

View File

@@ -0,0 +1,3 @@
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
#Sat Jan 31 09:38:53 CST 2026
commons-parent-61.pom>aliyunmaven=

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
018672c655ff005d7962a59c74f93b2f31f27386

View File

@@ -0,0 +1,4 @@
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
#Sat Jan 31 09:39:05 CST 2026
commons-text-1.10.0.pom>aliyunmaven=
commons-text-1.10.0.jar>aliyunmaven=

View File

@@ -0,0 +1 @@
3363381aef8cef2dbc1023b3e3a9433b08b64e01

View File

@@ -0,0 +1,575 @@
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.commons</groupId>
<artifactId>commons-parent</artifactId>
<version>54</version>
</parent>
<artifactId>commons-text</artifactId>
<version>1.10.0</version>
<name>Apache Commons Text</name>
<description>Apache Commons Text is a library focused on algorithms working on strings.</description>
<url>https://commons.apache.org/proper/commons-text</url>
<properties>
<project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<commons.componentid>text</commons.componentid>
<commons.module.name>org.apache.commons.text</commons.module.name>
<commons.release.version>1.10.0</commons.release.version>
<commons.release.desc>(Java 8+)</commons.release.desc>
<commons.jira.id>TEXT</commons.jira.id>
<commons.jira.pid>12318221</commons.jira.pid>
<commons.site.path>text</commons.site.path>
<commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-text</commons.scmPubUrl>
<commons.scmPubCheckoutDirectory>site-content</commons.scmPubCheckoutDirectory>
<commons.junit.version>5.9.1</commons.junit.version>
<checkstyle.plugin.version>3.2.0</checkstyle.plugin.version>
<checkstyle.version>9.3</checkstyle.version>
<commons.spotbugs.plugin.version>4.7.2.0</commons.spotbugs.plugin.version>
<commons.spotbugs.impl.version>4.7.2</commons.spotbugs.impl.version>
<commons.pmd.version>3.19.0</commons.pmd.version>
<commons.pmd-impl.version>6.49.0</commons.pmd-impl.version>
<commons.mockito.version>4.8.0</commons.mockito.version>
<commons.jacoco.version>0.8.8</commons.jacoco.version>
<!-- apache-rat-plugin 0.13 and jdepend-maven-plugin 2.0 both fail with LinkageError when generating reports
with maven site plugin 3.11+. However, javadoc 3.4.0+ fails with site plugin versions lower than 3.11. So, we'll
use slightly older site and javadoc versions here in order to be able to generate all reports. -->
<commons.site-plugin.version>3.10.0</commons.site-plugin.version>
<commons.javadoc.version>3.4.1</commons.javadoc.version>
<!-- 22.1.0 requires Java 11 -->
<graalvm.version>22.0.0.2</graalvm.version>
<commons.rng.version>1.4</commons.rng.version>
<commons.japicmp.version>0.16.0</commons.japicmp.version>
<japicmp.skip>false</japicmp.skip>
<jmh.version>1.35</jmh.version>
<commons.project-info.version>3.1.2</commons.project-info.version>
<!-- Commons Release Plugin -->
<commons.bc.version>1.9</commons.bc.version>
<commons.rc.version>RC1</commons.rc.version>
<commons.release.isDistModule>true</commons.release.isDistModule>
<commons.distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/${commons.componentid}</commons.distSvnStagingUrl>
<commons.releaseManagerName>Gary Gregory</commons.releaseManagerName>
<commons.releaseManagerKey>86fdc7e2a11262cb</commons.releaseManagerKey>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
<!-- testing -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.23.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<!-- Use mockito-inline instead of mockito-core to mock and spy on final classes. -->
<artifactId>mockito-inline</artifactId>
<version>${commons.mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.graalvm.js</groupId>
<artifactId>js</artifactId>
<version>${graalvm.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.graalvm.js</groupId>
<artifactId>js-scriptengine</artifactId>
<version>${graalvm.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-rng-simple</artifactId>
<version>${commons.rng.version}</version>
<scope>test</scope>
</dependency>
<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>
</dependencies>
<build>
<defaultGoal>clean verify apache-rat:check japicmp:cmp checkstyle:check spotbugs:check javadoc:javadoc</defaultGoal>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludes>
<exclude>site-content/**</exclude>
<exclude>src/site/resources/download_lang.cgi</exclude>
<exclude>src/test/resources/org/apache/commons/text/stringEscapeUtilsTestData.txt</exclude>
<exclude>src/test/resources/org/apache/commons/text/lcs-perf-analysis-inputs.csv</exclude>
<exclude>src/site/resources/release-notes/RELEASE-NOTES-*.txt</exclude>
</excludes>
</configuration>
</plugin><!-- override skip property of parent pom -->
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
<version>${commons.pmd.version}</version>
<configuration>
<targetJdk>${maven.compiler.target}</targetJdk>
</configuration>
<dependencies>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-core</artifactId>
<version>${commons.pmd-impl.version}</version>
</dependency>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-java</artifactId>
<version>${commons.pmd-impl.version}</version>
</dependency>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-javascript</artifactId>
<version>${commons.pmd-impl.version}</version>
</dependency>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-jsp</artifactId>
<version>${commons.pmd-impl.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.plugin.version}</version>
<configuration>
<enableRulesSummary>false</enableRulesSummary>
<configLocation>src/conf/checkstyle.xml</configLocation>
<headerLocation>src/conf/checkstyle-header.txt</headerLocation>
<suppressionsLocation>src/conf/checkstyle-suppressions.xml</suppressionsLocation>
<suppressionsFileExpression>src/conf/checkstyle-suppressions.xml</suppressionsFileExpression>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<excludes>**/generated/**.java,**/jmh_generated/**.java</excludes>
</configuration>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>${checkstyle.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>${commons.spotbugs.plugin.version}</version>
<dependencies>
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs</artifactId>
<version>${commons.spotbugs.impl.version}</version>
</dependency>
</dependencies>
<configuration>
<excludeFilterFile>src/conf/spotbugs-exclude-filter.xml</excludeFilterFile>
</configuration>
</plugin>
<plugin>
<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>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
<configuration>
<archive combine.children="append">
<manifestEntries>
<Automatic-Module-Name>${commons.module.name}</Automatic-Module-Name>
</manifestEntries>
</archive>
</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-javadoc-plugin</artifactId>
<configuration>
<source>${maven.compiler.source}</source>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.plugin.version}</version>
<configuration>
<enableRulesSummary>false</enableRulesSummary>
<configLocation>src/conf/checkstyle.xml</configLocation>
<headerLocation>src/conf/checkstyle-header.txt</headerLocation>
<suppressionsLocation>src/conf/checkstyle-suppressions.xml</suppressionsLocation>
<suppressionsFileExpression>src/conf/checkstyle-suppressions.xml</suppressionsFileExpression>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<excludes>**/generated/**.java,**/jmh_generated/**.java</excludes>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>checkstyle</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<!-- Requires setting 'export MAVEN_OPTS="-Xmx512m" ' -->
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>${commons.spotbugs.plugin.version}</version>
<configuration>
<excludeFilterFile>src/conf/spotbugs-exclude-filter.xml</excludeFilterFile>
</configuration>
</plugin>
<plugin>
<groupId>com.github.siom79.japicmp</groupId>
<artifactId>japicmp-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.19.0</version>
<configuration>
<targetJdk>${maven.compiler.target}</targetJdk>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>pmd</report>
<report>cpd</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>taglist-maven-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<tagListOptions>
<tagClasses>
<tagClass>
<displayName>Needs Work</displayName>
<tags>
<tag>
<matchString>TODO</matchString>
<matchType>exact</matchType>
</tag>
<tag>
<matchString>FIXME</matchString>
<matchType>exact</matchType>
</tag>
<tag>
<matchString>XXX</matchString>
<matchType>exact</matchType>
</tag>
</tags>
</tagClass>
<tagClass>
<displayName>Noteable Markers</displayName>
<tags>
<tag>
<matchString>NOTE</matchString>
<matchType>exact</matchType>
</tag>
<tag>
<matchString>NOPMD</matchString>
<matchType>exact</matchType>
</tag>
<tag>
<matchString>NOSONAR</matchString>
<matchType>exact</matchType>
</tag>
</tags>
</tagClass>
</tagClasses>
</tagListOptions>
</configuration>
</plugin>
</plugins>
</reporting>
<inceptionYear>2014</inceptionYear>
<developers>
<developer>
<id>kinow</id>
<name>Bruno P. Kinoshita</name>
<email>kinow@apache.org</email>
</developer>
<developer>
<id>britter</id>
<name>Benedikt Ritter</name>
<email>britter@apache.org</email>
</developer>
<developer>
<id>chtompki</id>
<name>Rob Tompkins</name>
<email>chtompki@apache.org</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>
<developer>
<id>djones</id>
<name>Duncan Jones</name>
<email>djones@apache.org</email>
</developer>
</developers>
<contributors>
<contributor>
<name>Don Jeba</name>
<email>donjeba@yahoo.com</email>
</contributor>
<contributor>
<name>Sampanna Kahu</name>
</contributor>
<contributor>
<name>Jarek Strzelecki</name>
</contributor>
<contributor>
<name>Lee Adcock</name>
</contributor>
<contributor>
<name>Amey Jadiye</name>
<email>ameyjadiye@gmail.com</email>
</contributor>
<contributor>
<name>Arun Vinud S S</name>
</contributor>
<contributor>
<name>Ioannis Sermetziadis</name>
</contributor>
<contributor>
<name>Jostein Tveit</name>
</contributor>
<contributor>
<name>Luciano Medallia</name>
</contributor>
<contributor>
<name>Jan Martin Keil</name>
</contributor>
<contributor>
<name>Nandor Kollar</name>
</contributor>
<contributor>
<name>Nick Wong</name>
</contributor>
<contributor>
<name>Ali Ghanbari</name>
<url>https://ali-ghanbari.github.io/</url>
</contributor>
</contributors>
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/commons-text</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/commons-text</developerConnection>
<url>https://gitbox.apache.org/repos/asf?p=commons-text.git</url>
</scm>
<issueManagement>
<system>jira</system>
<url>https://issues.apache.org/jira/browse/TEXT</url>
</issueManagement>
<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-text/</url>
</site>
</distributionManagement>
<profiles>
<profile>
<id>setup-checkout</id>
<activation>
<file>
<missing>site-content</missing>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>prepare-checkout</id>
<goals>
<goal>run</goal>
</goals>
<phase>pre-site</phase>
<configuration>
<target>
<exec executable="svn">
<arg line="checkout --depth immediates ${commons.scmPubUrl} ${commons.scmPubCheckoutDirectory}"/>
</exec>
<exec executable="svn">
<arg line="update --set-depth exclude ${commons.scmPubCheckoutDirectory}/javadocs"/>
</exec>
<pathconvert pathsep=" " property="dirs">
<dirset dir="${commons.scmPubCheckoutDirectory}" includes="*"/>
</pathconvert>
<exec executable="svn">
<arg line="update --set-depth infinity ${dirs}"/>
</exec>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>java9+</id>
<activation>
<jdk>[9,)</jdk>
</activation>
<properties>
<!-- 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>
<profile>
<id>benchmark</id>
<properties>
<skipTests>true</skipTests>
<benchmark>org.apache</benchmark>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.1.0</version>
<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.${benchmark}.json</argument>
<argument>${benchmark}</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@@ -0,0 +1 @@
562cb856b03d90bbc38ccdb52831293e47e371ec