diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1a91be29c..af477564d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -51,47 +51,65 @@ 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. ++ 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. `VFS-614-MonitorInputStream`. + * 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. `VFS-614: Close input stream early` + 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/) + [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 diff --git a/README.md b/README.md index 1a5e87da3..8d05c3916 100644 --- a/README.md +++ b/README.md @@ -43,23 +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) -[![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) - 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-collections4). +The [JavaDoc](https://commons.apache.org/proper/commons-collections4/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? ----------------------------------- -You can download source and binaries from our [download page](https://commons.apache.org/proper/commons-collections/download_collections.cgi). +You can download source and binaries from our [download page](https://commons.apache.org/proper/commons-collections4/download_collections4.cgi). Alternatively you can pull it from the central Maven repositories: @@ -74,7 +69,7 @@ Alternatively you can pull it from the central Maven repositories: 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 +81,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 +93,8 @@ Additional Resources -------------------- + [Apache Commons Homepage](https://commons.apache.org/) -+ [Apache Bugtracker (JIRA)](https://issues.apache.org/jira/) ++ [Apache Bugtracker (JIRA)](https://issues.apache.org/jira/browse/@JIRA_ID@) + [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