Commit eb5c4acb authored by Emmanuel Bourg's avatar Emmanuel Bourg

New upstream version 3.5

parent 54225845
# 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.
#
# Auto detect text files and perform LF normalization
* text=auto
*.java text diff=java
*.html text diff=html
*.css text
*.js text
*.sql text
......@@ -4,6 +4,7 @@ target
maven-eclipse.xml
build.properties
site-content
*~
# IntelliJ IDEA files
.idea
......@@ -15,3 +16,4 @@ site-content
.settings
.classpath
.project
.externalToolBuilders
# 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.
language: java
sudo: false
jdk:
- openjdk6
- openjdk7
- oraclejdk8
after_success:
- mvn clean cobertura:cobertura coveralls:report
Apache Commons Lang
Copyright 2001-2015 The Apache Software Foundation
Copyright 2001-2016 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
......
......@@ -43,6 +43,11 @@
Apache Commons Lang
===================
[![Build Status](https://travis-ci.org/apache/commons-lang.svg?branch=master)](https://travis-ci.org/apache/commons-lang)
[![Coverage Status](https://coveralls.io/repos/apache/commons-lang/badge.svg?branch=master)](https://coveralls.io/r/apache/commons-lang)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.commons/commons-lang3/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.apache.commons/commons-lang3/)
[![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)
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.
......@@ -50,13 +55,13 @@ Apache Commons Lang, a package of Java utility classes for the
Documentation
-------------
More information can be found on the [homepage](https://commons.apache.org/proper/commons-lang3).
The [JavaDoc](https://commons.apache.org/proper/commons-lang3/javadocs/api-release) can be browsed.
More information can be found on the [homepage](https://commons.apache.org/proper/commons-lang).
The [JavaDoc](https://commons.apache.org/proper/commons-lang/javadocs/api-release) can be browsed.
Questions related to the usage of Apache Commons Lang should be posted to the [user mailing list][ml].
Where can I get the latest release?
-----------------------------------
You can download source and binaries from our [download page](https://commons.apache.org/proper/commons-lang3/download_lang3.cgi).
You can download source and binaries from our [download page](https://commons.apache.org/proper/commons-lang/download_lang.cgi).
Alternatively you can pull it from the central Maven repositories:
......@@ -64,7 +69,7 @@ Alternatively you can pull it from the central Maven repositories:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
<version>3.5</version>
</dependency>
```
......@@ -98,3 +103,4 @@ Additional Resources
+ #apachecommons IRC channel on freenode.org
[ml]:https://commons.apache.org/mail-lists.html
This diff is collapsed.
# 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.
##########################################################################
# Sample Ant build.properties file
#
# This setup assumes dependent jars are in a local maven 2 repository.
# However the jars are located, the properties ending in ".jar" need
# expand to full paths to the jars.
##########################################################################
# Repository base path - unnecessary if full jar paths are provided below
repository=${user.home}/.m2/repository
junit.home=${repository}/junit/junit/4.12/
hamcrest.home=${repository}/org/hamcrest/hamcrest-all/1.3/
commons-io.home=${repository}/commons-io/commons-io/2.4/
easymock.home=${repository}/org/easymock/easymock/3.3.1/
This diff is collapsed.
......@@ -44,5 +44,3 @@ limitations under the License.
</module>
</module>
</module>
#
# 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.
#
# $Id: default.properties 1671054 2015-04-03 12:28:16Z britter $
# The location of the "junit.jar" JAR file
junit.jar = ${junit.home}/junit-4.12.jar
# The location of the Easymock jar
easymock.jar = ${easymock.home}/easymock-3.3.1.jar
# The location of the Commons-IO jar
commons-io.jar = ${commons-io.home}/commons-io-2.4.jar
# The location of Hamcrest jar
hamcrest.jar = ${hamcrest.home}/hamcrest-all-1.3.jar
# Whether or not to fork tests
junit.fork = true
# The name of this component
component.name = commons-lang3
# The primary package name of this component
component.package = org.apache.commons.lang3
# The title of this component
component.title = Core Language Utilities
# The current version number of this component
component.version = 3.4
# The name that is used to create the jar file
final.name = ${component.name}-${component.version}
# The base directory for compilation targets
build.home = target
# The base directory for component configuration files
conf.home = src/conf
# The base directory for component sources
source.home = src/main/java
# The base directory for unit test sources
test.home = src/test/java
# Should Java compilations set the 'debug' compiler option?
compile.debug = true
# Should Java compilations set the 'deprecation' compiler option?
compile.deprecation = true
# Should Java compilations set the 'optimize' compiler option?
compile.optimize = true
# Generate class files for specific VM version (e.g., 1.1 or 1.2).
# Note that the default value depends on the JVM that is running Ant.
# In particular, if you use JDK 1.4+ the generated classes will not be usable
# for a 1.1 Java VM unless you explicitly set this attribute to the value 1.1
# (which is the default value for JDK 1.1 to 1.3).
compile.target = 1.6
# Specifies the source version for the Java compiler.
# Corresponds to the source attribute for the ant javac task.
# Valid values are 1.3, 1.4, 1.5.
compile.source = 1.6
# Specifies the source encoding.
compile.encoding = ISO-8859-1
# Should all tests fail if one does?
test.failonerror = true
# The test runner to execute
test.runner = junit.textui.TestRunner
<?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.
-->
<rdf:RDF xmlns="http://usefulinc.com/ns/doap#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:asfext="http://projects.apache.org/ns/asfext#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:doap="http://usefulinc.com/ns/doap#" xml:lang="en">
<Project rdf:about="http://commons.apache.org/lang/">
<name>Apache Commons Lang</name>
<homepage rdf:resource="http://commons.apache.org/lang/"/>
<programming-language>Java</programming-language>
<category rdf:resource="http://projects.apache.org/category/library"/>
<license rdf:resource="http://usefulinc.com/doap/licenses/asl20"/>
<bug-database rdf:resource="http://issues.apache.org/jira/browse/LANG"/>
<download-page rdf:resource="http://commons.apache.org/lang/download_lang.cgi"/>
<asfext:pmc rdf:resource="http://commons.apache.org/"/>
<shortdesc xml:lang="en">Java Common Components</shortdesc>
<description xml:lang="en">
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>
<repository>
<SVNRepository>
<browse rdf:resource="http://svn.apache.org/viewvc/commons/proper/lang/trunk"/>
<location rdf:resource="http://svn.apache.org/repos/asf/commons/proper/lang"/>
</SVNRepository>
</repository>
<release>
<Version>
<name>commons-lang</name>
<created>2014-04-09</created>
<revision>3.3.2</revision>
</Version>
<Version>
<name>commons-lang</name>
<created>2014-03-18</created>
<revision>3.3.1</revision>
</Version>
<Version>
<name>commons-lang</name>
<created>2014-03-04</created>
<revision>3.3</revision>
</Version>
<Version>
<name>commons-lang</name>
<created>2014-01-05</created>
<revision>3.2.1</revision>
</Version>
<Version>
<name>commons-lang</name>
<created>2014-01-01</created>
<revision>3.2</revision>
</Version>
<Version>
<name>commons-lang</name>
<created>2011-11-14</created>
<revision>3.1</revision>
</Version>
<Version>
<name>commons-lang</name>
<created>2011-07-18</created>
<revision>3.0</revision>
</Version>
<Version>
<name>commons-lang</name>
<created>2011-01-17</created>
<revision>2.6</revision>
</Version>
<Version>
<name>commons-lang</name>
<created>2010-02-25</created>
<revision>2.5</revision>
</Version>
<Version>
<name>commons-lang</name>
<created>2008-03-18</created>
<revision>2.4</revision>
</Version>
<Version>
<name>commons-lang</name>
<created>2007-02-13</created>
<revision>2.3</revision>
</Version>
<Version>
<name>commons-lang</name>
<created>2006-10-04</created>
<revision>2.2</revision>
</Version>
<Version>
<name>commons-lang</name>
<created>2005-06-12</created>
<revision>2.1</revision>
</Version>
<Version>
<name>commons-lang</name>
<created>2003-09-02</created>
<revision>2.0</revision>
</Version>
<Version>
<name>commons-lang</name>
<created>2002-11-25</created>
<revision>1.0.1</revision>
</Version>
<Version>
<name>commons-lang</name>
<created>2002-10-04</created>
<revision>1.0</revision>
</Version>
</release>
<mailing-list rdf:resource="http://commons.apache.org/mail-lists.html"/>
</Project>
</rdf:RDF>
......@@ -141,4 +141,17 @@
<Bug pattern="SF_SWITCH_NO_DEFAULT" />
</Match>
<!-- Reason: Internal class that is used only as a key for an internal FormatCache. For this reason we can
be sure, that equals will never be called with null or types other than MultipartKey.
-->
<Match>
<Class name="org.apache.commons.lang3.time.FormatCache$MultipartKey" />
<Method name="equals" />
<Bug pattern="BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS" />
</Match>
<Match>
<Class name="org.apache.commons.lang3.time.FormatCache$MultipartKey" />
<Method name="equals" />
<Bug pattern="NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT" />
</Match>
</FindBugsFilter>
......@@ -22,12 +22,12 @@
<parent>
<groupId>org.apache.commons</groupId>
<artifactId>commons-parent</artifactId>
<version>37</version>
<version>41</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
<version>3.5</version>
<name>Apache Commons Lang</name>
<inceptionYear>2001</inceptionYear>
......@@ -45,9 +45,10 @@
</issueManagement>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/commons/proper/lang/tags/LANG_3_4</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/commons/proper/lang/tags/LANG_3_4</developerConnection>
<url>http://svn.apache.org/viewvc/commons/proper/lang/tags/LANG_3_4</url>
<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_5</tag>
</scm>
<developers>
......@@ -182,6 +183,24 @@
<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>
......@@ -478,6 +497,12 @@
<contributor>
<name>Michał Kordas</name>
</contributor>
<contributor>
<name>Felipe Adorno</name>
</contributor>
<contributor>
<name>Adrian Ber</name>
</contributor>
</contributors>
<!-- Lang should depend on very little -->
......@@ -498,14 +523,14 @@
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
<version>2.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>3.3.1</version>
<version>3.4</version>
<scope>test</scope>
</dependency>
</dependencies>
......@@ -519,6 +544,7 @@
</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.6</maven.compiler.source>
......@@ -534,7 +560,7 @@
-->
<commons.componentid>lang3</commons.componentid>
<!-- Current 3.x release series -->
<commons.release.version>3.4</commons.release.version>
<commons.release.version>3.5</commons.release.version>
<commons.release.desc>(Java 6.0+)</commons.release.desc>
<!-- Previous 2.x release series -->
<commons.release.2.version>2.6</commons.release.2.version>
......@@ -547,6 +573,10 @@
<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>
</properties>
......@@ -631,28 +661,12 @@
<excludeFilterFile>${basedir}/findbugs-exclude-filter.xml</excludeFilterFile>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>clirr-maven-plugin</artifactId>
<version>2.6.1</version>
<configuration>
<minSeverity>info</minSeverity>
</configuration>
</plugin>
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.4</version>
<version>3.5</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>
......@@ -710,6 +724,7 @@
<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>
......@@ -732,7 +747,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>prepare-checkout</id>
......@@ -764,6 +778,35 @@
</plugins>
</build>
</profile>
<profile>
<id>travis</id>
<activation>
<property>
<name>env.TRAVIS</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>${commons.cobertura.version}</version>
<configuration>
<formats>
<format>xml</format>
</formats>
</configuration>
</plugin>
<plugin>
<groupId>org.eluder.coveralls</groupId>
<artifactId>coveralls-maven-plugin</artifactId>
<version>3.1.0</version>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
......@@ -24,6 +24,7 @@
<fileSets>
<fileSet>
<includes>
<include>.travis.yml</include>
<include>checkstyle.xml</include>
<include>findbugs-exclude-filter.xml</include>
<include>LICENSE.txt</include>
......@@ -31,9 +32,6 @@
<include>pom.xml</include>
<include>PROPOSAL.html</include>
<include>RELEASE-NOTES.txt</include>
<include>build.xml</include>
<include>default.properties</include>
<include>build.properties.sample</include>
<include>README.md</include>
<include>CONTRIBUTING.md</include>
</includes>
......
This diff is collapsed.
......@@ -41,7 +41,6 @@
* <p>#ThreadSafe#</p>
*
* @since 3.0
* @version $Id: AnnotationUtils.java 1436770 2013-01-22 07:09:45Z ggregory $
*/
public class AnnotationUtils {
......@@ -80,7 +79,7 @@ protected String getShortClassName(final java.lang.Class<?> cls) {
break;
}
}
return new StringBuilder(annotationType == null ? "" : annotationType.getName())