blob: 9d0df4134dbd1dbb196b1b6cbb1e8e6ed740c3ba [file] [log] [blame]
<?xml version="1.0"?>
<!--
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.
-->
<!--
To produce reports, use the reporting profile, for example: mvn -Preporting clean site
You may need to use the -U option to update your environment if you get an error.
-->
<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>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<!-- Remember to update the version in default.properties as well -->
<version>1.16-SNAPSHOT</version>
<name>Apache Commons Codec</name>
<inceptionYear>2002</inceptionYear>
<description>
The Apache Commons Codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
collection of phonetic encoding utilities.
</description>
<url>https://commons.apache.org/proper/commons-codec/</url>
<issueManagement>
<system>jira</system>
<url>https://issues.apache.org/jira/browse/CODEC</url>
</issueManagement>
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf?p=commons-codec.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf?p=commons-codec.git</developerConnection>
<url>https://github.com/apache/commons-codec</url>
</scm>
<distributionManagement>
<site>
<id>stagingSite</id>
<name>Apache Staging Website</name>
<url>${commons.deployment.protocol}://people.apache.org/www/commons.apache.org/commons-${commons.componentid}/</url>
</site>
</distributionManagement>
<developers>
<developer>
<name>Henri Yandell</name>
<id>bayard</id>
<email>bayard@apache.org</email>
</developer>
<developer>
<name>Tim OBrien</name>
<id>tobrien</id>
<email>tobrien@apache.org</email>
<timezone>-6</timezone>
</developer>
<developer>
<name>Scott Sanders</name>
<id>sanders</id>
<email>sanders@totalsync.com</email>
</developer>
<developer>
<name>Rodney Waldhoff</name>
<id>rwaldhoff</id>
<email>rwaldhoff@apache.org</email>
</developer>
<developer>
<name>Daniel Rall</name>
<id>dlr</id>
<email>dlr@finemaltcoding.com</email>
</developer>
<developer>
<name>Jon S. Stevens</name>
<id>jon</id>
<email>jon@collab.net</email>
</developer>
<developer>
<name>Gary Gregory</name>
<id>ggregory</id>
<email>ggregory@apache.org</email>
<url>http://www.garygregory.com</url>
<timezone>-5</timezone>
</developer>
<developer>
<name>David Graham</name>
<id>dgraham</id>
<email>dgraham@apache.org</email>
</developer>
<developer>
<name>Julius Davies</name>
<id>julius</id>
<email>julius@apache.org</email>
<organizationUrl>http://juliusdavies.ca/</organizationUrl>
<timezone>-8</timezone>
</developer>
<developer>
<name>Thomas Neidhart</name>
<id>tn</id>
<email>tn@apache.org</email>
</developer>
<developer>
<name>Rob Tompkins</name>
<id>chtompki</id>
<email>chtompki@apache.org</email>
</developer>
</developers>
<contributors>
<contributor>
<name>Christopher O'Brien</name>
<email>siege@preoccupied.net</email>
<roles>
<role>hex</role>
<role>md5</role>
<role>architecture</role>
</roles>
</contributor>
<contributor>
<name>Martin Redington</name>
<roles>
<role>Representing xml-rpc</role>
</roles>
</contributor>
<contributor>
<name>Jeffery Dever</name>
<roles>
<role>Representing http-client</role>
</roles>
</contributor>
<contributor>
<name>Steve Zimmermann</name>
<email>steve.zimmermann@heii.com</email>
<roles>
<role>Documentation</role>
</roles>
</contributor>
<contributor>
<name>Benjamin Walstrum</name>
<email>ben@walstrum.com</email>
</contributor>
<contributor>
<name>Oleg Kalnichevski</name>
<email>oleg@ural.ru</email>
<roles>
<role>Representing http-client</role>
</roles>
</contributor>
<contributor>
<name>Dave Dribin</name>
<email>apache@dave.dribin.org</email>
<roles>
<role>DigestUtil</role>
</roles>
</contributor>
<contributor>
<name>Alex Karasulu</name>
<email>aok123 at bellsouth.net</email>
<roles>
<role>Submitted Binary class and test</role>
</roles>
</contributor>
<contributor>
<name>Matthew Inger</name>
<email>mattinger at yahoo.com</email>
<roles>
<role>Submitted DIFFERENCE algorithm for Soundex and RefinedSoundex</role>
</roles>
</contributor>
<contributor>
<name>Jochen Wiedmann</name>
<email>jochen@apache.org</email>
<roles>
<role>Base64 code [CODEC-69]</role>
</roles>
</contributor>
<contributor>
<name>Sebastian Bazley</name>
<email>sebb@apache.org</email>
<roles>
<role>Streaming Base64</role>
</roles>
</contributor>
<contributor>
<name>Matthew Pocock</name>
<email>turingatemyhamster@gmail.com</email>
<roles>
<role>Beider-Morse phonetic matching</role>
</roles>
</contributor>
<contributor>
<name>Colm Rice</name>
<email>colm_rice at hotmail dot com</email>
<roles>
<role>Submitted Match Rating Approach (MRA) phonetic encoder and tests [CODEC-161]</role>
</roles>
</contributor>
<contributor>
<name>Adam Retter</name>
<organization>Evolved Binary</organization>
<roles>
<role>Base16 Input and Output Streams</role>
</roles>
</contributor>
</contributors>
<!-- Codec only has test dependencies ATM -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<!-- 3.9+ needs Java8 -->
<version>3.8</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<commons.componentid>codec</commons.componentid>
<commons.module.name>org.apache.commons.codec</commons.module.name>
<commons.jira.id>CODEC</commons.jira.id>
<commons.jira.pid>12310464</commons.jira.pid>
<!-- Ensure copies work OK (can be removed later when this is in parent POM) -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<commons.encoding>UTF-8</commons.encoding>
<checkstyle.header.file>${basedir}/src/conf/checkstyle-header.txt</checkstyle.header.file>
<checkstyle.config.file>${basedir}/src/conf/checkstyle.xml</checkstyle.config.file>
<checkstyle.version>3.1.2</checkstyle.version>
<commons.japicmp.version>0.15.2</commons.japicmp.version>
<commons.jacoco.version>0.8.6</commons.jacoco.version>
<japicmp.skip>false</japicmp.skip>
<!-- Commons Release Plugin -->
<commons.bc.version>1.15</commons.bc.version>
<commons.rc.version>RC1</commons.rc.version>
<commons.release-plugin.version>1.7</commons.release-plugin.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>Alex Herbert</commons.releaseManagerName>
<commons.releaseManagerKey>BC87A3FD0A54480F0BADBEBD21939FF0CA2A6567</commons.releaseManagerKey>
</properties>
<build>
<defaultGoal>clean install apache-rat:check japicmp:cmp checkstyle:check javadoc:javadoc</defaultGoal>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-publish-plugin</artifactId>
<version>${commons.scm-publish.version}</version>
<configuration>
<ignorePathsToDelete>
<ignorePathToDelete>archive**</ignorePathToDelete>
</ignorePathsToDelete>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludes>
<exclude>src/test/resources/org/apache/commons/codec/bla.tar.xz</exclude>
<exclude>src/test/resources/org/apache/commons/codec/empty.bin</exclude>
<exclude>src/test/resources/org/apache/commons/codec/small.bin</exclude>
</excludes>
</configuration>
</plugin>
<!-- Add Java 9 Automatic-Module-Name -->
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive combine.children="append">
<!-- Temporary fix, remove this after this has implemented in parent pom -->
<manifestEntries>
<Automatic-Module-Name>${commons.module.name}</Automatic-Module-Name>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/*AbstractTest.java</exclude>
<exclude>**/*PerformanceTest.java</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<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>
<!-- Allow use of mvn checkstyle:checkstyle. Must agree with reporting section below. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.version}</version>
<configuration>
<configLocation>${checkstyle.config.file}</configLocation>
<enableRulesSummary>false</enableRulesSummary>
<headerFile>${checkstyle.header.file}</headerFile>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<resourceExcludes>NOTICE.txt,LICENSE.txt,**/pom.properties,**/sha512.properties</resourceExcludes>
</configuration>
</plugin>
<!-- Specify source for JDK 11+ javadoc tool to ignore the 'unamed' module.
See: https://bugs.openjdk.java.net/browse/JDK-8212233.
To be removed with parent 49. -->
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<source>${maven.compiler.source}</source>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludes>
<exclude>src/test/resources/org/apache/commons/codec/bla.tar.xz</exclude>
<exclude>src/test/resources/org/apache/commons/codec/empty.bin</exclude>
<exclude>src/test/resources/org/apache/commons/codec/small.bin</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.version}</version>
<configuration>
<configLocation>${checkstyle.config.file}</configLocation>
<enableRulesSummary>false</enableRulesSummary>
<headerFile>${checkstyle.header.file}</headerFile>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
</configuration>
<!-- We need to specify reportSets because 2.9.1 creates two reports -->
<reportSets>
<reportSet>
<reports>
<report>checkstyle</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>${commons.pmd.version}</version>
<configuration>
<targetJdk>${maven.compiler.target}</targetJdk>
<linkXref>true</linkXref>
<rulesets>
<ruleset>${basedir}/pmd.xml</ruleset>
</rulesets>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>${commons.findbugs.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>taglist-maven-plugin</artifactId>
<version>2.4</version>
<configuration>
<tags>
<tag>TODO</tag>
<tag>NOPMD</tag>
<tag>NOTE</tag>
</tags>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>javancss-maven-plugin</artifactId>
<version>2.1</version>
</plugin>
</plugins>
</reporting>
<profiles>
<!-- profile to allow the use of plugin versions that require Java 7 -->
<!-- TODO remove when CP updated to version 51 -->
<profile>
<id>jdk7-plugin-fix-version</id>
<activation>
<jdk>[1.7,1.8)</jdk>
</activation>
<properties>
<!-- Fix to build on JDK 7: version 1.18 requires Java 8. -->
<commons.animal-sniffer.version>1.17</commons.animal-sniffer.version>
</properties>
</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>
</profiles>
</project>