|
| 1 | +<!--- |
| 2 | + Licensed to the Apache Software Foundation (ASF) under one or more |
| 3 | + contributor license agreements. See the NOTICE file distributed with |
| 4 | + this work for additional information regarding copyright ownership. |
| 5 | + The ASF licenses this file to You under the Apache License, Version 2.0 |
| 6 | + (the "License"); you may not use this file except in compliance with |
| 7 | + the License. You may obtain a copy of the License at |
| 8 | +
|
| 9 | + http://www.apache.org/licenses/LICENSE-2.0 |
| 10 | +
|
| 11 | + Unless required by applicable law or agreed to in writing, software |
| 12 | + distributed under the License is distributed on an "AS IS" BASIS, |
| 13 | + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 14 | + See the License for the specific language governing permissions and |
| 15 | + limitations under the License. |
| 16 | +--> |
| 17 | +Contributing to Apache Maven Archiver |
| 18 | +====================== |
| 19 | + |
| 20 | +[][license] |
| 21 | +[](https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.apache.maven%22%20AND%20a%3A%22maven-archiver%22) |
| 22 | +[][build] |
| 23 | +[][test-results] |
| 24 | + |
| 25 | + |
| 26 | +You have found a bug or you have an idea for a cool new feature? Contributing |
| 27 | +code is a great way to give something back to the open source community. Before |
| 28 | +you dig right into the code, there are a few guidelines that we need |
| 29 | +contributors to follow so that we can have a chance of keeping on top of |
| 30 | +things. |
| 31 | + |
| 32 | +Getting Started |
| 33 | +--------------- |
| 34 | + |
| 35 | ++ Make sure you have a [JIRA account](https://issues.apache.org/jira/). |
| 36 | ++ Make sure you have a [GitHub account](https://github.com/signup/free). |
| 37 | ++ If you're planning to implement a new feature, it makes sense to discuss your changes |
| 38 | + on the [dev list](https://maven.apache.org/mail-lists.html) first. |
| 39 | + This way you can make sure you're not wasting your time on something that isn't |
| 40 | + considered to be in Apache Maven's scope. |
| 41 | ++ Submit a ticket for your issue, assuming one does not already exist. |
| 42 | + + Clearly describe the issue, including steps to reproduce when it is a bug. |
| 43 | + + Make sure you fill in the earliest version that you know has the issue. |
| 44 | ++ Fork the repository on GitHub. |
| 45 | + |
| 46 | +Making and Submitting Changes |
| 47 | +-------------- |
| 48 | + |
| 49 | +We accept Pull Requests via GitHub. The [developer mailing list][dev-ml-list] is the |
| 50 | +main channel of communication for contributors. |
| 51 | +There are some guidelines which will make applying PRs easier for us: |
| 52 | ++ Create a topic branch from where you want to base your work (this is usually the master branch). |
| 53 | + Push your changes to a topic branch in your fork of the repository. |
| 54 | ++ Make commits of logical units. |
| 55 | ++ Respect the original code style: by using the same [codestyle][code-style], |
| 56 | + patches should only highlight the actual difference, not being disturbed by any formatting issues: |
| 57 | + + Only use spaces for indentation. |
| 58 | + + Create minimal diffs - disable on save actions like reformat source code or organize imports. |
| 59 | + If you feel the source code should be reformatted, create a separate PR for this change. |
| 60 | + + Check for unnecessary whitespace with `git diff --check` before committing. |
| 61 | ++ Make sure your commit messages are in the proper format. Your commit message should contain the key of the JIRA issue. |
| 62 | +``` |
| 63 | +[MSHARED-XXX] - Subject of the JIRA Ticket |
| 64 | + Optional supplemental description. |
| 65 | +``` |
| 66 | ++ Make sure you have added the necessary tests (JUnit/IT) for your changes. |
| 67 | ++ Run all the tests with `mvn -Prun-its verify` to assure nothing else was accidentally broken. |
| 68 | ++ Submit a pull request to the repository in the Apache organization. |
| 69 | ++ Update your JIRA ticket and include a link to the pull request in the ticket. |
| 70 | + |
| 71 | +If you plan to contribute on a regular basis, please consider filing a [contributor license agreement][cla]. |
| 72 | + |
| 73 | +Making Trivial Changes |
| 74 | +---------------------- |
| 75 | + |
| 76 | +For changes of a trivial nature to comments and documentation, it is not always |
| 77 | +necessary to create a new ticket in JIRA. In this case, it is appropriate to |
| 78 | +start the first line of a commit with '(doc)' instead of a ticket number. |
| 79 | + |
| 80 | +Additional Resources |
| 81 | +-------------------- |
| 82 | + |
| 83 | ++ [Contributing patches](https://maven.apache.org/guides/development/guide-maven-development.html#Creating_and_submitting_a_patch) |
| 84 | ++ [Apache Maven Archiver project page](https://issues.apache.org/jira/projects/MSHARED/) |
| 85 | ++ [Contributor License Agreement][cla] |
| 86 | ++ [General GitHub documentation](https://help.github.com/) |
| 87 | ++ [GitHub pull request documentation](https://help.github.com/send-pull-requests/) |
| 88 | ++ [Apache Maven Twitter Account](https://twitter.com/ASFMavenProject) |
| 89 | ++ #Maven IRC channel on freenode.org |
| 90 | + |
| 91 | +[license]: https://www.apache.org/licenses/LICENSE-2.0 |
| 92 | +[dev-ml-list]: https://maven.apache.org/mailing-lists.html |
| 93 | +[code-style]: https://maven.apache.org/developers/conventions/code.html |
| 94 | +[cla]: https://www.apache.org/licenses/#clas |
| 95 | +[maven-wiki]: https://cwiki.apache.org/confluence/display/MAVEN/Index |
| 96 | +[test-results]: https://builds.apache.org/job/maven-box/job/maven-archiver/job/master/lastCompletedBuild/testReport/ |
| 97 | +[build]: https://builds.apache.org/job/maven-box/job/maven-archiver/job/master/ |
0 commit comments