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