| Contributing to Apache Ant |
| ========================== |
| |
| You have found a bug or think you know how to code a great feature |
| that all other people could benefit from? This is great, we'd love to |
| hear from you. |
| |
| Ant's primary code repository is the |
| [git repository at Apache](https://gitbox.apache.org/repos/asf/ant.git) |
| and we've also got a [github mirror](https://github.com/apache/ant/). |
| |
| There are two ways you can contribute, you can either use the |
| "traditional" approach of creating a patch and attaching it to a |
| Bugzilla issue or you use a github pull request. We do not plan to |
| use github issues, so if you are reporting a bug, please raise a |
| [Bugzilla issue](https://issues.apache.org/bugzilla/). |
| |
| Before reporting a bug, please also review https://ant.apache.org/problems.html |
| |
| If you're planning to implement a new feature please discuss your |
| changes on the |
| [dev list](https://ant.apache.org/mail.html#Developer%20List:%20dev@ant.apache.org) |
| first. This way you can make sure you're not wasting your time on |
| something that isn't considered to be in Ant's scope. |
| |
| Branches |
| -------- |
| |
| The master branch is where we develop the next release of Ant 1.10.x - |
| any patch or PR against this branch must be buildable using Java8. |
| |
| The branch 1.9.x is where we develop the next release of Ant 1.9.x - |
| any patch or PR against this branch must be buildable using Java5. |
| |
| Please state clearly whether you are targeting 1.9.x or 1.10.x - |
| usually we port changes from 1.9.x to 1.10.x but not necessarily the |
| other way around. |
| |
| Making Changes |
| -------------- |
| |
| + Create a topic branch from where you want to base your work (this is |
| usually the master or the 1.9.x branch, see above). |
| + Make commits of logical units. |
| + 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 issue/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 Bugzilla issue if you created one. |
| + Make sure you have added the necessary tests for your changes. |
| + Run all the tests with `./build.sh clean test` to assure nothing |
| else was accidentally broken. |
| |
| Submitting Changes |
| ------------------ |
| |
| + Sign the [Contributor License Agreement][cla] unless your change is |
| really small or you have already signed one. |
| + If you want to create a patch for your Bugzilla issue use `git |
| format-patch` to create it (or a set of patches), this way we can |
| keep your author information. Attach the patch(es) to the issue. |
| + Alternatively push your changes to a topic branch in your fork of the repository. |
| + Submit a pull request to the repository in the apache organization. |
| |
| [cla]:https://www.apache.org/licenses/#clas |