Skip to content
Commits on Source (10)
# 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
- oraclejdk9
script:
- mvn
after_success:
- mvn clean test jacoco:report coveralls:report
- mvn clean test jacoco:report coveralls:report -Ptravis-jacoco
\ No newline at end of file
......@@ -50,48 +50,66 @@ Getting Started
+ Make sure you have a [JIRA account](https://issues.apache.org/jira/).
+ Make sure you have a [GitHub account](https://github.com/signup/free).
+ If you're planning to implement a new feature it makes sense to discuss you're changes on the [dev list](https://commons.apache.org/mail-lists.html) first. This way you can make sure you're not wasting your time on something that isn't considered to be in Apache Commons Collections's scope.
+ Submit a ticket for your issue, assuming one does not already exist.
+ If you're planning to implement a new feature it makes sense to discuss your changes on the [dev list](https://commons.apache.org/mail-lists.html) first. This way you can make sure you're not wasting your time on something that isn't considered to be in Apache Commons Collections's scope.
+ Submit a [Jira Ticket][jira] for your issue, assuming one does not already exist.
+ Clearly describe the issue including steps to reproduce when it is a bug.
+ Make sure you fill in the earliest version that you know has the issue.
+ Fork the repository on GitHub.
+ Find the corresponding [repository on GitHub](https://github.com/apache/?query=commons-),
[fork](https://help.github.com/articles/fork-a-repo/) and check out your forked repository.
Making Changes
--------------
+ Create a topic branch from where you want to base your work (this is usually the master/trunk branch).
+ Create a _topic branch_ for your isolated work.
* Usually you should base your branch on the `master` or `trunk` branch.
* A good topic branch name can be the JIRA bug id plus a keyword, e.g. `COLLECTIONS-123-InputStream`.
* If you have submitted multiple JIRA issues, try to maintain separate branches and pull requests.
+ Make commits of logical units.
* Make sure your commit messages are meaningful and in the proper format. Your commit message should contain the key of the JIRA issue.
* e.g. `COLLECTIONS-123: Close input stream earlier`
+ Respect the original code style:
+ Only use spaces for indentation.
+ Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source code should be reformatted create a separate PR for this change.
+ Check for unnecessary whitespace with git diff --check before committing.
+ Make sure your commit messages are in the proper format. Your commit message should contain the key of the JIRA issue.
+ Make sure you have added the necessary tests for your changes.
+ Create minimal diffs - disable _On Save_ actions like _Reformat Source Code_ or _Organize Imports_. If you feel the source code should be reformatted create a separate PR for this change first.
+ Check for unnecessary whitespace with `git diff` -- check before committing.
+ Make sure you have added the necessary tests for your changes, typically in `src/test/java`.
+ Run all the tests with `mvn clean verify` to assure nothing else was accidentally broken.
Making Trivial Changes
----------------------
The JIRA tickets are used to generate the changelog for the next release.
For changes of a trivial nature to comments and documentation, it is not always necessary to create a new ticket in JIRA.
In this case, it is appropriate to start the first line of a commit with '(doc)' instead of a ticket number.
Submitting Changes
------------------
+ Sign the [Contributor License Agreement][cla] if you haven't already.
+ Sign and submit the Apache [Contributor License Agreement][cla] if you haven't already.
* Note that small patches & typical bug fixes do not require a CLA as
clause 5 of the [Apache License](https://www.apache.org/licenses/LICENSE-2.0.html#contributions)
covers them.
+ Push your changes to a topic branch in your fork of the repository.
+ Submit a pull request to the repository in the apache organization.
+ Submit a _Pull Request_ to the corresponding repository in the `apache` organization.
* Verify _Files Changed_ shows only your intended changes and does not
include additional files like `target/*.class`
+ Update your JIRA ticket and include a link to the pull request in the ticket.
If you prefer to not use GitHub, then you can instead use
`git format-patch` (or `svn diff`) and attach the patch file to the JIRA issue.
Additional Resources
--------------------
+ [Contributing patches](https://commons.apache.org/patches.html)
+ [Apache Commons Collections JIRA project page](https://issues.apache.org/jira/browse/COLLECTIONS)
+ [Apache Commons Collections JIRA project page][jira]
+ [Contributor License Agreement][cla]
+ [General GitHub documentation](https://help.github.com/)
+ [GitHub pull request documentation](https://help.github.com/send-pull-requests/)
+ [GitHub pull request documentation](https://help.github.com/articles/creating-a-pull-request/)
+ [Apache Commons Twitter Account](https://twitter.com/ApacheCommons)
+ #apachecommons IRC channel on freenode.org
+ `#apache-commons` IRC channel on `irc.freenode.net`
[cla]:https://www.apache.org/licenses/#clas
[jira]:https://issues.apache.org/jira/browse/COLLECTIONS
......@@ -24,7 +24,7 @@
<div align="center">
<h1>The Apache Commons <em>Collections</em> Package</h1>
<h2>Developers Guide</h2>
$Id: DEVELOPERS-GUIDE.html 1353152 2012-06-23 15:49:16Z tn $<br />
$Id$<br />
<a href="#Introduction">[Introduction]</a>
<a href="#CollectionInterfaces">[Collection Interfaces]</a>
<a href="#CollectionImplementations">[Collection Implementations]</a>
......
Apache Commons Collections
Copyright 2001-2015 The Apache Software Foundation
Copyright 2001-2018 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
......@@ -43,18 +43,18 @@
Apache Commons Collections
===================
[![Build Status](https://travis-ci.org/apache/commons-collections.svg?branch=trunk)](https://travis-ci.org/apache/commons-collections)
[![Coverage Status](https://coveralls.io/repos/apache/commons-collections/badge.svg?branch=trunk&service=github)](https://coveralls.io/github/apache/commons-collections?branch=trunk)
[![Build Status](https://travis-ci.org/apache/commons-collections.svg)](https://travis-ci.org/apache/commons-collections)
[![Coverage Status](https://coveralls.io/repos/apache/commons-collections/badge.svg)](https://coveralls.io/r/apache/commons-collections)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.commons/commons-collections4/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.apache.commons/commons-collections4/)
[![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)
[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-collections4/4.2.svg)](https://javadoc.io/doc/org.apache.commons/commons-collections4/4.2)
The Apache Commons Collections package contains types that extend and augment the Java Collections Framework.
Documentation
-------------
More information can be found on the [homepage](https://commons.apache.org/proper/commons-collections).
The [JavaDoc](https://commons.apache.org/proper/commons-collections/javadocs/api-release) can be browsed.
More information can be found on the [Apache Commons Collections homepage](https://commons.apache.org/proper/commons-collections).
The [Javadoc](https://commons.apache.org/proper/commons-collections/javadocs/api-release) can be browsed.
Questions related to the usage of Apache Commons Collections should be posted to the [user mailing list][ml].
Where can I get the latest release?
......@@ -67,14 +67,14 @@ Alternatively you can pull it from the central Maven repositories:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.0</version>
<version>4.2</version>
</dependency>
```
Contributing
------------
We accept PRs via github. The [developer mailing list][ml] is the main channel of communication for contributors.
We accept Pull Requests via GitHub. The [developer mailing list][ml] is the main channel of communication for contributors.
There are some guidelines which will make applying PRs easier for us:
+ No tabs! Please use spaces for indentation.
+ Respect the code style.
......@@ -86,7 +86,9 @@ You can learn more about contributing via GitHub in our [contribution guidelines
License
-------
Code is under the [Apache Licence v2](https://www.apache.org/licenses/LICENSE-2.0.txt).
This code is under the [Apache Licence v2](https://www.apache.org/licenses/LICENSE-2.0).
See the `NOTICE.txt` file for required notices and attributions.
Donations
---------
......@@ -96,8 +98,8 @@ Additional Resources
--------------------
+ [Apache Commons Homepage](https://commons.apache.org/)
+ [Apache Bugtracker (JIRA)](https://issues.apache.org/jira/)
+ [Apache Issue Tracker (JIRA)](https://issues.apache.org/jira/browse/COLLECTIONS)
+ [Apache Commons Twitter Account](https://twitter.com/ApacheCommons)
+ #apachecommons IRC channel on freenode.org
+ `#apache-commons` IRC channel on `irc.freenode.org`
[ml]:https://commons.apache.org/mail-lists.html
Apache Apache Commons Collections 4.2 RELEASE NOTES
The Apache Commons Collections package contains types that extend and augment the Java Collections Framework.
Update from Java 6 to Java 7, bug fixes, and small changes.
Changes in this version include:
New features:
o COLLECTIONS-681: Add test for MultiSetUtils Thanks to Stephan Fuhrmann.
o COLLECTIONS-658: Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility.
o COLLECTIONS-589: Add null-safe MapUtils.size(Map<?, ?>) method. Thanks to Gary Gregory.
o COLLECTIONS-586: PatriciaTrie prefixMap clear throws NullPointerException. Thanks to Shailender Bathula, Gary Gregory.
o COLLECTIONS-654: Add class SortedProperties to sort keys.
o COLLECTIONS-668: Add CollectionUtils containsAny method for primitive array: org.apache.commons.collections4.CollectionUtils.containsAny(Collection<?>, T...). Thanks to Gary Gregory.
o COLLECTIONS-575: Synchronized queue wrapper in QueueUtils. Thanks to Guram Savinov, Grzegorz Rożniecki, Bruno P. Kinoshita, Gary Gregory.
o COLLECTIONS-670: Add org.apache.commons.collections4.IteratorUtils.first(Iterator). Thanks to Gary Gregory.
o COLLECTIONS-671: Add org.apache.commons.collections4.IterableUtils.first(Iterable). Thanks to Gary Gregory.
Fixed Bugs:
o COLLECTIONS-599: HashEntry array object naming data initialized with double the size during deserialization. Thanks to Tejas Patel, Saleem Akbar, Gary Gregory.
o COLLECTIONS-662: Unit tests MapUtilsTest and ListIteratorWrapperTest no longer fail on Java 9. Thanks to Vamsi Kavuri.
o COLLECTIONS-661: Intermittent test failures in Windows for HashSetValuedHashMap.
o COLLECTIONS-660: Uncomment test in AbstractMapTest regarding LRUMap equals.
o COLLECTIONS-656: Fix site build on Java 8.
o COLLECTIONS-653: Update Javadoc to Build on Java 1.8.
o COLLECTIONS-606: Build status, Coverage status and Maven central weren't in README.md Thanks to Vamsi Kavuri.
o COLLECTIONS-594: Web site spelling error: MultiValuedMapeList. Thanks to Javen O'Neal.
o COLLECTIONS-597: Correction of Javadoc for org.apache.commons.collections4.functors.CatchAndRethrowClosure. Thanks to Enrique.
o COLLECTIONS-678: The verification of unsupported iterator methods is not complete. Thanks to Oscar Luis Vera Pérez.
o COLLECTIONS-673: ListUtils.partition potential integer overflow. Thanks to John Mark, Stephan Fuhrmann.
Changes:
o COLLECTIONS-602: Improve efficiency of DefaultedMap.get. Thanks to John Mark.
o COLLECTIONS-603: Small improvements for generics, conditional statements, and warnings suppressions. Thanks to Artem Konovalov.
o COLLECTIONS-655: Update platform from Java 6 to Java 7.
o COLLECTIONS-666: org.apache.commons.collections4.ListUtils.union(List, List) should pre-allocate result list. Thanks to BELUGA BEHR.
o COLLECTIONS-669: Update org.apache.commons.collections4.CollectionUtils.addAll(Collection<C>, C[]) to addAll(Collection<C>, C...). Thanks to BELUGA BEHR, Gary Gregory.
For complete information on Apache Commons Collections, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Collections website:
http://commons.apache.org/proper/commons-collections/
Download page: http://commons.apache.org/proper/commons-collections/download_pool.cgi
===============================================================================
Apache Commons Collections
Version 4.1
......
# 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.11/
hamcrest.home=${repository}/org/hamcrest/hamcrest-core/1.3/
easymock.home=${repository}/org/easymock/easymock/3.2/
<!--
/*
* 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.
*/
-->
<!--
"Collections" component of the Apache Commons Subproject
$Id: build.xml 1495867 2013-06-23 18:27:46Z tn $
-->
<project name="Collections" default="compile" basedir=".">
<!-- ========== Initialize Properties ===================================== -->
<property file="${user.home}/${component.name}.build.properties"/>
<property file="${user.home}/build.properties"/>
<property file="${basedir}/build.properties"/>
<property file="${basedir}/default.properties"/>
<property name="jdk.javadoc" value="http://download.oracle.com/javase/1.5.0/docs/api/"/>
<!-- ========== Construct compile classpath =============================== -->
<path id="compile.classpath">
<pathelement location="${build.home}/classes"/>
</path>
<!-- ========== Construct unit test classpath ============================= -->
<path id="test.classpath">
<pathelement location="${build.home}/classes"/>
<pathelement location="${build.home}/tests"/>
<pathelement location="${junit.jar}"/>
<pathelement location="${hamcrest.jar}"/>
<pathelement location="${easymock.jar}"/>
</path>
<!-- ========== Executable Targets ======================================== -->
<target name="init" description="Initialize and evaluate conditionals">
<echo message="-------- ${component.name} ${component.version} --------"/>
<filter token="name" value="${component.name}"/>
<filter token="package" value="${component.package}"/>
<filter token="version" value="${component.version}"/>
<filter token="compile.source" value="${compile.source}"/>
<filter token="compile.target" value="${compile.target}"/>
<mkdir dir="${build.home}"/>
</target>
<!-- ========== Compile Targets ========================================= -->
<target name="compile" depends="init" description="Compile shareable components">
<mkdir dir="${build.home}/classes"/>
<javac srcdir="${source.home}" destdir="${build.home}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" target="${compile.target}" source="${compile.source}" excludes="${compile.excludes}" optimize="${compile.optimize}" includeantruntime="false" encoding="${compile.encoding}">
<classpath refid="compile.classpath"/>
</javac>
<copy todir="${build.home}/classes" filtering="on">
<fileset dir="${source.home}" excludes="**/*.java,**/*.html"/>
</copy>
</target>
<target name="compile.tests" depends="compile" description="Compile unit test cases">
<mkdir dir="${build.home}/tests"/>
<javac srcdir="${test.home}" destdir="${build.home}/tests" debug="${compile.debug}" deprecation="off" target="${compile.target}" source="${compile.source}" optimize="${compile.optimize}" includeantruntime="false" encoding="${compile.encoding}">
<classpath refid="test.classpath"/>
</javac>
<copy todir="${build.home}/tests" filtering="on">
<fileset dir="${test.home}" excludes="**/*.java"/>
</copy>
</target>
<!-- ========== Unit Tests ========================================= -->
<target name="test" depends="compile.tests" description="Run all unit test cases">
<echo message="Running unit tests ..."/>
<mkdir dir="${build.home}/test-reports"/>
<junit printsummary="true" showoutput="true" fork="yes" haltonfailure="${test.failonerror}">
<classpath refid="test.classpath"/>
<formatter type="plain" usefile="true" />
<!-- If test.entry is defined, run a single test, otherwise run all valid tests -->
<test name="${test.entry}" todir="${build.home}/test-reports" if="test.entry"/>
<batchtest fork="yes" todir="${build.home}/test-reports" unless="test.entry">
<fileset dir="${test.home}">
<include name="**/*Test.java"/>
<exclude name="**/*$*"/>
<exclude name="**/TestUtils.java"/>
<exclude name="**/Abstract*.java"/>
<exclude name="**/BulkTest.java"/>
</fileset>
</batchtest>
</junit>
</target>
<target name="clean" description="Clean build and distribution directories">
<delete dir="${build.home}"/>
</target>
<target name="all" depends="clean,test,compile" description="Clean and compile all components"/>
<!-- ========== JavaDocs ========================================= -->
<target name="javadoc" depends="compile" description="Create component Javadoc documentation">
<mkdir dir="${build.home}"/>
<mkdir dir="${build.home}/apidocs"/>
<tstamp>
<format property="current.year" pattern="yyyy"/>
</tstamp>
<javadoc sourcepath="${source.home}"
destdir="${build.home}/apidocs"
overview="${source.home}/org/apache/commons/collections4/overview.html"
packagenames="org.apache.commons.*"
excludepackagenames="${javadoc.excludepackagenames}"
author="false"
version="true"
doctitle="&lt;h1&gt;Commons Lang ${component.version}&lt;/h1&gt;"
windowtitle="Lang ${component.version}"
bottom="Copyright &amp;copy; 2001-${current.year} - Apache Software Foundation"
use="true"
encoding="${compile.encoding}"
source="${compile.source}">
<classpath refid="compile.classpath"/>
<link href="${jdk.javadoc}"/>
<link href="${collections.javadoc}"/>
</javadoc>
</target>
<!-- ========== Jar Targets ========================================= -->
<target name="jar" depends="compile" description="Create jar">
<mkdir dir="${build.home}/classes/META-INF"/>
<copy file="LICENSE.txt" tofile="${build.home}/classes/META-INF/LICENSE.txt"/>
<copy file="NOTICE.txt" tofile="${build.home}/classes/META-INF/NOTICE.txt"/>
<jar jarfile="${build.home}/${final.name}.jar">
<manifest>
<attribute name="Specification-Title" value="Commons Collections"/>
<attribute name="Specification-Version" value="${component.version}"/>
<attribute name="Specification-Vendor" value="The Apache Software Foundation"/>
<attribute name="Implementation-Title" value="Commons Collections"/>
<attribute name="Implementation-Version" value="${component.version}"/>
<attribute name="Implementation-Vendor" value="The Apache Software Foundation"/>
<attribute name="Implementation-Vendor-Id" value="org.apache"/>
<attribute name="X-Compile-Source-JDK" value="${compile.source}"/>
<attribute name="X-Compile-Target-JDK" value="${compile.target}"/>
</manifest>
<fileset dir="${build.home}/classes">
<include name="**/*.class"/>
<include name="**/LICENSE.txt"/>
<include name="**/NOTICE.txt"/>
</fileset>
</jar>
</target>
<target name="javadoc-jar" depends="javadoc" description="Create JavaDoc jar">
<jar jarfile="${build.home}/${final.name}-javadoc.jar">
<manifest>
<attribute name="Specification-Title" value="Commons Collections API"/>
<attribute name="Specification-Version" value="${component.version}"/>
<attribute name="Specification-Vendor" value="The Apache Software Foundation"/>
<attribute name="Implementation-Title" value="Commons Collections API"/>
<attribute name="Implementation-Version" value="${component.version}"/>
<attribute name="Implementation-Vendor" value="The Apache Software Foundation"/>
<attribute name="Implementation-Vendor-Id" value="org.apache"/>
</manifest>
<fileset dir="${build.home}/apidocs"/>
<fileset dir="${basedir}">
<include name="LICENSE.txt"/>
<include name="NOTICE.txt"/>
</fileset>
</jar>
</target>
<target name="source-jar" depends="init" description="Create Source jar">
<jar jarfile="${build.home}/${final.name}-sources.jar">
<manifest>
<attribute name="Specification-Title" value="Commons Collections Source"/>
<attribute name="Specification-Version" value="${component.version}"/>
<attribute name="Specification-Vendor" value="The Apache Software Foundation"/>
<attribute name="Implementation-Title" value="Commons Collections Source"/>
<attribute name="Implementation-Version" value="${component.version}"/>
<attribute name="Implementation-Vendor" value="The Apache Software Foundation"/>
<attribute name="Implementation-Vendor-Id" value="org.apache"/>
</manifest>
<fileset dir="${source.home}">
<include name="**/*.java"/>
</fileset>
<fileset dir="${basedir}">
<include name="LICENSE.txt"/>
<include name="NOTICE.txt"/>
</fileset>
</jar>
</target>
<target name="test-jar" depends="init" description="Create Testframework jar">
<jar jarfile="${build.home}/${final.name}-tests.jar">
<manifest>
<attribute name="Specification-Title" value="Commons Collections Testframework"/>
<attribute name="Specification-Version" value="${component.version}"/>
<attribute name="Specification-Vendor" value="The Apache Software Foundation"/>
<attribute name="Implementation-Title" value="Commons Collections Testframework"/>
<attribute name="Implementation-Version" value="${component.version}"/>
<attribute name="Implementation-Vendor" value="The Apache Software Foundation"/>
<attribute name="Implementation-Vendor-Id" value="org.apache"/>
</manifest>
<fileset dir="${test.home}">
<include name="**/*.java"/>
</fileset>
<fileset dir="${basedir}">
<include name="LICENSE.txt"/>
<include name="NOTICE.txt"/>
</fileset>
</jar>
</target>
<!-- ========== Distribution ========================================= -->
<target name="dist" depends="clean,jar,source-jar,javadoc-jar,test-jar" description="Create binary distribution">
<!-- binary distro -->
<zip destfile="${build.home}/${final.name}.zip">
<zipfileset dir="${basedir}" prefix="${final.name}"
includes="LICENSE.txt,
NOTICE.txt,
RELEASE-NOTES.txt"
/>
<zipfileset dir="${build.home}" includes="*.jar," prefix="${final.name}"/>
<zipfileset dir="${build.home}/apidocs" prefix="${final.name}/apidocs"/>
</zip>
<tar destfile="${build.home}/${final.name}.tar.gz" compression="gzip">
<zipfileset src="${build.home}/${final.name}.zip"/>
</tar>
<!-- source distro -->
<zip destfile="${build.home}/${final.name}-src.zip">
<zipfileset dir="${basedir}" prefix="${final.name}-src"
includes="build.xml,
default.properties,
build.properties.sample,
DEVELOPERS-GUIDE.html,
PROPOSAL.html,
LICENSE.txt,
NOTICE.txt,
README.txt,
pom.xml,
RELEASE-NOTES.txt"
/>
<zipfileset dir="${basedir}/src" prefix="${final.name}-src/src"/>
</zip>
<tar destfile="${build.home}/${final.name}-src.tar.gz" compression="gzip">
<zipfileset src="${build.home}/${final.name}-src.zip"/>
</tar>
</target>
</project>
libcommons-collections4-java (4.2-1) unstable; urgency=medium
* New upstream release
* Fixed the build failure with Java 11 (Closes: #912477)
* Added the OSGi metadata
* Standards-Version updated to 4.2.1
* Switch to debhelper level 11
* Use salsa.debian.org Vcs-* URLs
* Track and download the new releases from the GitHub mirror
-- Emmanuel Bourg <ebourg@apache.org> Tue, 06 Nov 2018 16:47:50 +0100
libcommons-collections4-java (4.1-1) unstable; urgency=medium
* New upstream release
......
......@@ -3,14 +3,19 @@ Section: java
Priority: optional
Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Uploaders: Emmanuel Bourg <ebourg@apache.org>
Build-Depends: debhelper (>= 9), default-jdk, maven-debian-helper (>= 1.5)
Build-Depends-Indep: default-jdk-doc,
Build-Depends:
debhelper (>= 11),
default-jdk,
default-jdk-doc,
junit4,
libcommons-parent-java (>= 39-3~),
libeasymock-java,
libmaven-javadoc-plugin-java
Standards-Version: 3.9.6
Vcs-Git: git://anonscm.debian.org/pkg-java/libcommons-collections4-java.git
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/libcommons-collections4-java.git
libmaven-bundle-plugin-java,
libmaven-javadoc-plugin-java,
maven-debian-helper (>= 2.0.2~)
Standards-Version: 4.2.1
Vcs-Git: https://salsa.debian.org/java-team/libcommons-collections4-java.git
Vcs-Browser: https://salsa.debian.org/java-team/libcommons-collections4-java
Homepage: http://commons.apache.org/collections/
Package: libcommons-collections4-java
......
......@@ -25,4 +25,4 @@
# --site-xml=<location>: Optional, the location for site.xml if it needs to be installed.
# Empty by default. [mh_install]
#
pom.xml --no-parent --has-package-version
pom.xml --has-package-version
......@@ -2,5 +2,4 @@
# For example:
# maven.test.skip=true
maven.compiler.source=1.6
maven.compiler.target=1.6
maven.compiler.release=7
#!/bin/sh
set -e
PACKAGE=$(dpkg-parsechangelog -S Source)
VERSION=$2
TAR=../${PACKAGE}_${VERSION}.orig.tar.xz
DIR=${PACKAGE}_${VERSION}
TAG=$(echo "COLLECTIONS_$VERSION" | sed -re's,\.,_,')
svn export http://svn.apache.org/repos/asf/commons/proper/collections/tags/${TAG} $DIR
XZ_OPT=--best tar -c -J -f $TAR $DIR
rm -rf $DIR ../$TAG
......@@ -8,5 +8,3 @@ export JAVA_HOME := /usr/lib/jvm/default-java
override_dh_installchangelogs:
dh_installchangelogs RELEASE-NOTES.txt
get-orig-source:
uscan --download-current-version --force-download --no-symlink
version=3
opts="uversionmangle=s/_/./" \
http://svn.apache.org/viewvc/commons/proper/collections/tags/ COLLECTIONS_([\d_]*)/ \
debian debian/orig-tar.sh
version=4
opts="repack,compression=xz" \
https://github.com/apache/commons-collections/tags .*/commons-collections-([\d.]+).tar.gz
#
# 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 1716550 2015-11-25 21:52:13Z tn $
# The location of the "junit.jar" JAR file
junit.jar = ${junit.home}/junit-4.11.jar
# The location of the "junit.jar" JAR file
hamcrest.jar = ${hamcrest.home}/hamcrest-core-1.3.jar
# The location of the Easymock jar
easymock.jar = ${easymock.home}/easymock-3.2.jar
# Whether or not to fork tests
junit.fork = true
# The name of this component
component.name = commons-collections4
# The primary package name of this component
component.package = org.apache.commons.collections4
# The title of this component
component.title = Commons Collections
# The current version number of this component
component.version = 4.1
# 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/collections/">
<name>Apache Commons Collections</name>
<homepage rdf:resource="http://commons.apache.org/collections/"/>
<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/COLLECTIONS"/>
<download-page rdf:resource="http://commons.apache.org/collections/download_collections.cgi"/>
<asfext:pmc rdf:resource="http://commons.apache.org/"/>
<shortdesc xml:lang="en">Commons Collections</shortdesc>
<description xml:lang="en">Types that extend and augment the Java Collections Framework.</description>
<repository>
<SVNRepository>
<browse rdf:resource="http://svn.apache.org/repos/asf/commons/proper/collections/trunk"/>
<location rdf:resource="http://svn.apache.org/repos/asf/commons/proper/collections"/>
</SVNRepository>
</repository>
<release>
<Version>
<name>commons-collections</name>
<created>2013-11-24</created>
<revision>4.0</revision>
</Version>
</release>
<release>
<Version>
<name>commons-collections</name>
<created>2015-11-14</created>
<revision>3.2.2</revision>
</Version>
</release>
<release>
<Version>
<name>commons-collections</name>
<created>2008-04-15</created>
<revision>3.2.1</revision>
</Version>
</release>
<release>
<Version>
<name>commons-collections</name>
<created>2006-05-14</created>
<revision>3.2</revision>
</Version>
</release>
<release>
<Version>
<name>commons-collections</name>
<created>2004-06-23</created>
<revision>3.1</revision>
</Version>
</release>
<release>
<Version>
<name>commons-collections</name>
<created>2004-06-23</created>
<revision>2.1.1</revision>
</Version>
</release>
<mailing-list rdf:resource="http://commons.apache.org/mail-lists.html"/>
</Project>
</rdf:RDF>
......@@ -19,12 +19,11 @@
<parent>
<groupId>org.apache.commons</groupId>
<artifactId>commons-parent</artifactId>
<version>38</version>
<version>47</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.1</version>
<version>4.2</version>
<name>Apache Commons Collections</name>
<inceptionYear>2001</inceptionYear>
......@@ -38,9 +37,9 @@
</issueManagement>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/commons/proper/collections/trunk</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/commons/proper/collections/trunk</developerConnection>
<url>http://svn.apache.org/viewvc/commons/proper/collections/trunk</url>
<connection>scm:git:http://git-wip-us.apache.org/repos/asf/commons-collections.git</connection>
<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/commons-collections.git</developerConnection>
<url>https://git-wip-us.apache.org/repos/asf?p=commons-collections.git</url>
</scm>
<developers>
......@@ -65,7 +64,7 @@
<id>morgand</id>
</developer>
<developer>
<name>Gary D. Gregory</name>
<name>Gary Gregory</name>
<id>ggregory</id>
</developer>
<developer>
......@@ -96,10 +95,6 @@
<name>Adrian Nistor</name>
<id>adriannistor</id>
</developer>
<developer>
<name>Phil Steitz</name>
<id>psteitz</id>
</developer>
<developer>
<name>Arun M. Thomas</name>
<id>amamment</id>
......@@ -112,6 +107,10 @@
<name>Henri Yandell</name>
<id>bayard</id>
</developer>
<developer>
<name>Rob Tompkins</name>
<id>chtompki</id>
</developer>
</developers>
<contributors>
......@@ -436,19 +435,28 @@
<contributor>
<name>Goncalo Marques</name>
</contributor>
<contributor>
<name>Vamsi Kavuri</name>
</contributor>
</contributors>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>3.2</version>
<version>3.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
<scope>test</scope>
</dependency>
</dependencies>
......@@ -464,8 +472,8 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<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.
......@@ -476,35 +484,49 @@
The above seems to change the download page name but not any other
properties that depend on the componentid.
-->
<commons.componentid>collections4</commons.componentid>
<commons.componentid>collections</commons.componentid>
<commons.module.name>org.apache.commons.collections4</commons.module.name>
<!-- Current 4.x release series -->
<commons.release.version>4.1</commons.release.version>
<commons.release.desc>(Java 6.0+)</commons.release.desc>
<commons.release.version>4.2</commons.release.version>
<commons.release.desc>(Requires Java 7 or later)</commons.release.desc>
<!-- Previous 3.x release series -->
<commons.release.2.version>3.2.2</commons.release.2.version>
<commons.release.2.desc>(Requires Java 1.3 or later)</commons.release.2.desc>
<commons.release.2.version>4.1</commons.release.2.version>
<commons.release.2.desc>(Requires Java 6 or later)</commons.release.2.desc>
<!-- Override generated name -->
<commons.release.2.name>commons-collections-${commons.release.2.version}</commons.release.2.name>
<!-- Previous 3.x release series -->
<commons.release.3.version>3.2.2</commons.release.3.version>
<commons.release.3.desc>(Requires Java 1.3 or later)</commons.release.3.desc>
<!-- Override generated name -->
<commons.release.3.name>commons-collections-${commons.release.3.version}</commons.release.3.name>
<commons.jira.id>COLLECTIONS</commons.jira.id>
<commons.jira.pid>12310465</commons.jira.pid>
<!-- The RC version used in the staging repository URL. -->
<commons.rc.version>RC2</commons.rc.version>
<checkstyle.version>2.9.1</checkstyle.version>
<commons.rc.version>RC1</commons.rc.version>
<checkstyle.version>3.0.0</checkstyle.version>
<commons.site.path>collections</commons.site.path>
<commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-collections</commons.scmPubUrl>
<commons.scmPubCheckoutDirectory>site-content</commons.scmPubCheckoutDirectory>
<!-- Override javadoc plugin version due to a vulnerability of the generated javadoc
see http://jira.codehaus.org/browse/MJAVADOC-370, remove after update to CP 32 -->
<commons.javadoc.version>2.9.1</commons.javadoc.version>
<!-- Override clirr version to enable clirr on Java 8 -->
<commons.clirr.version>2.8</commons.clirr.version>
<!--Commons Release Plugin -->
<commons.bc.version>4.1</commons.bc.version>
<commons.release.isDistModule>true</commons.release.isDistModule>
<commons.releaseManagerName>Gary Gregory</commons.releaseManagerName>
<commons.releaseManagerKey>86FDC7E2A11262CB</commons.releaseManagerKey>
</properties>
<build>
<defaultGoal>clean verify apache-rat:check clirr:check javadoc:javadoc</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
......@@ -531,12 +553,23 @@
<tarLongFileMode>gnu</tarLongFileMode>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludes>
<exclude>site-content/**/*</exclude>
<exclude>src/test/resources/data/test/*</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.version}</version>
<configuration>
<configLocation>${basedir}/src/conf/checkstyle.xml</configLocation>
<enableRulesSummary>false</enableRulesSummary>
<suppressionsLocation>${basedir}/src/conf/checkstyle-suppressions.xml</suppressionsLocation>
</configuration>
</plugin>
<plugin>
......@@ -548,6 +581,25 @@
</ignorePathsToDelete>
</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 COLLECTIONS-658, remove this after this has implemented in parent pom -->
<configuration>
<archive combine.children="append">
<manifestEntries>
<Automatic-Module-Name>org.apache.commons.collections4</Automatic-Module-Name>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
......@@ -609,7 +661,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.5.5</version>
<version>${commons.findbugs.version}</version>
<configuration>
<threshold>Normal</threshold>
<effort>Default</effort>
......@@ -618,7 +670,7 @@
</plugin>
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.7.1</version>
<version>3.10.0</version>
<configuration>
<targetJdk>${maven.compiler.target}</targetJdk>
</configuration>
......@@ -631,18 +683,6 @@
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludes>
<exclude>site-content/**/*</exclude>
<exclude>src/test/resources/data/test/*</exclude>
<exclude>maven-eclipse.xml</exclude>
<exclude>.travis.yml</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</reporting>
......@@ -659,7 +699,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<version>1.8</version>
<executions>
<execution>
<id>prepare-checkout</id>
......@@ -691,40 +731,17 @@
</plugins>
</build>
</profile>
<profile>
<id>travis</id>
<id>java9</id>
<activation>
<property>
<name>env.TRAVIS</name>
<value>true</value>
</property>
<jdk>9</jdk>
</activation>
<properties>
<buildnumber.skip>true</buildnumber.skip>
<!-- versions below 3.0.0 do not work with java 9 -->
<commons.javadoc.version>3.0.1</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>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${commons.jacoco.version}</version>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eluder.coveralls</groupId>
<artifactId>coveralls-maven-plugin</artifactId>
<version>3.1.0</version>
</plugin>
</plugins>
</build>
</profile>
</profiles>
......
......@@ -24,15 +24,14 @@
<fileSets>
<fileSet>
<includes>
<include>build.xml</include>
<include>default.properties</include>
<include>build.properties.sample</include>
<include>.travis.yml</include>
<include>CONTRIBUTING.md</include>
<include>DEVELOPERS-GUIDE.html</include>
<include>LICENSE.txt</include>
<include>NOTICE.txt</include>
<include>pom.xml</include>
<include>PROPOSAL.html</include>
<include>README.txt</include>
<include>README.md</include>
<include>RELEASE-NOTES.txt</include>
</includes>
</fileSet>
......