xref: /aosp_15_r20/external/apache-commons-compress/CONTRIBUTING.md (revision ba8755cb0ae00084b4d58129cd522613d3299f27)
1*ba8755cbSAndroid Build Coastguard Worker<!---
2*ba8755cbSAndroid Build Coastguard Worker Licensed to the Apache Software Foundation (ASF) under one or more
3*ba8755cbSAndroid Build Coastguard Worker contributor license agreements.  See the NOTICE file distributed with
4*ba8755cbSAndroid Build Coastguard Worker this work for additional information regarding copyright ownership.
5*ba8755cbSAndroid Build Coastguard Worker The ASF licenses this file to You under the Apache License, Version 2.0
6*ba8755cbSAndroid Build Coastguard Worker (the "License"); you may not use this file except in compliance with
7*ba8755cbSAndroid Build Coastguard Worker the License.  You may obtain a copy of the License at
8*ba8755cbSAndroid Build Coastguard Worker
9*ba8755cbSAndroid Build Coastguard Worker      http://www.apache.org/licenses/LICENSE-2.0
10*ba8755cbSAndroid Build Coastguard Worker
11*ba8755cbSAndroid Build Coastguard Worker Unless required by applicable law or agreed to in writing, software
12*ba8755cbSAndroid Build Coastguard Worker distributed under the License is distributed on an "AS IS" BASIS,
13*ba8755cbSAndroid Build Coastguard Worker WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*ba8755cbSAndroid Build Coastguard Worker See the License for the specific language governing permissions and
15*ba8755cbSAndroid Build Coastguard Worker limitations under the License.
16*ba8755cbSAndroid Build Coastguard Worker-->
17*ba8755cbSAndroid Build Coastguard Worker<!---
18*ba8755cbSAndroid Build Coastguard Worker +======================================================================+
19*ba8755cbSAndroid Build Coastguard Worker |****                                                              ****|
20*ba8755cbSAndroid Build Coastguard Worker |****      THIS FILE IS GENERATED BY THE COMMONS BUILD PLUGIN      ****|
21*ba8755cbSAndroid Build Coastguard Worker |****                    DO NOT EDIT DIRECTLY                      ****|
22*ba8755cbSAndroid Build Coastguard Worker |****                                                              ****|
23*ba8755cbSAndroid Build Coastguard Worker +======================================================================+
24*ba8755cbSAndroid Build Coastguard Worker | TEMPLATE FILE: contributing-md-template.md                           |
25*ba8755cbSAndroid Build Coastguard Worker | commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates |
26*ba8755cbSAndroid Build Coastguard Worker +======================================================================+
27*ba8755cbSAndroid Build Coastguard Worker |                                                                      |
28*ba8755cbSAndroid Build Coastguard Worker | 1) Re-generate using: mvn commons:contributing-md                    |
29*ba8755cbSAndroid Build Coastguard Worker |                                                                      |
30*ba8755cbSAndroid Build Coastguard Worker | 2) Set the following properties in the component's pom:              |
31*ba8755cbSAndroid Build Coastguard Worker |    - commons.jira.id  (required, alphabetic, upper case)             |
32*ba8755cbSAndroid Build Coastguard Worker |                                                                      |
33*ba8755cbSAndroid Build Coastguard Worker | 3) Example Properties                                                |
34*ba8755cbSAndroid Build Coastguard Worker |                                                                      |
35*ba8755cbSAndroid Build Coastguard Worker |  <properties>                                                        |
36*ba8755cbSAndroid Build Coastguard Worker |    <commons.jira.id>MATH</commons.jira.id>                           |
37*ba8755cbSAndroid Build Coastguard Worker |  </properties>                                                       |
38*ba8755cbSAndroid Build Coastguard Worker |                                                                      |
39*ba8755cbSAndroid Build Coastguard Worker +======================================================================+
40*ba8755cbSAndroid Build Coastguard Worker--->
41*ba8755cbSAndroid Build Coastguard WorkerContributing to Apache Commons Compress
42*ba8755cbSAndroid Build Coastguard Worker======================
43*ba8755cbSAndroid Build Coastguard Worker
44*ba8755cbSAndroid Build Coastguard WorkerYou have found a bug or you have an idea for a cool new feature? Contributing code is a great way to give something back to
45*ba8755cbSAndroid Build Coastguard Workerthe open source community. Before you dig right into the code there are a few guidelines that we need contributors to
46*ba8755cbSAndroid Build Coastguard Workerfollow so that we can have a chance of keeping on top of things.
47*ba8755cbSAndroid Build Coastguard Worker
48*ba8755cbSAndroid Build Coastguard WorkerGetting Started
49*ba8755cbSAndroid Build Coastguard Worker---------------
50*ba8755cbSAndroid Build Coastguard Worker
51*ba8755cbSAndroid Build Coastguard Worker+ Make sure you have a [JIRA account](https://issues.apache.org/jira/).
52*ba8755cbSAndroid Build Coastguard Worker+ Make sure you have a [GitHub account](https://github.com/signup/free).
53*ba8755cbSAndroid Build Coastguard Worker+ 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 Compress's scope.
54*ba8755cbSAndroid Build Coastguard Worker+ Submit a [Jira Ticket][jira] for your issue, assuming one does not already exist.
55*ba8755cbSAndroid Build Coastguard Worker  + Clearly describe the issue including steps to reproduce when it is a bug.
56*ba8755cbSAndroid Build Coastguard Worker  + Make sure you fill in the earliest version that you know has the issue.
57*ba8755cbSAndroid Build Coastguard Worker+ Find the corresponding [repository on GitHub](https://github.com/apache/?query=commons-),
58*ba8755cbSAndroid Build Coastguard Worker[fork](https://help.github.com/articles/fork-a-repo/) and check out your forked repository.
59*ba8755cbSAndroid Build Coastguard Worker
60*ba8755cbSAndroid Build Coastguard WorkerMaking Changes
61*ba8755cbSAndroid Build Coastguard Worker--------------
62*ba8755cbSAndroid Build Coastguard Worker
63*ba8755cbSAndroid Build Coastguard Worker+ Create a _topic branch_ for your isolated work.
64*ba8755cbSAndroid Build Coastguard Worker  * Usually you should base your branch on the `master` or `trunk` branch.
65*ba8755cbSAndroid Build Coastguard Worker  * A good topic branch name can be the JIRA bug id plus a keyword, e.g. `COMPRESS-123-InputStream`.
66*ba8755cbSAndroid Build Coastguard Worker  * If you have submitted multiple JIRA issues, try to maintain separate branches and pull requests.
67*ba8755cbSAndroid Build Coastguard Worker+ Make commits of logical units.
68*ba8755cbSAndroid Build Coastguard Worker  * Make sure your commit messages are meaningful and in the proper format. Your commit message should contain the key of the JIRA issue.
69*ba8755cbSAndroid Build Coastguard Worker  * e.g. `COMPRESS-123: Close input stream earlier`
70*ba8755cbSAndroid Build Coastguard Worker+ Respect the original code style:
71*ba8755cbSAndroid Build Coastguard Worker  + Only use spaces for indentation.
72*ba8755cbSAndroid Build Coastguard Worker  + 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.
73*ba8755cbSAndroid Build Coastguard Worker  + Check for unnecessary whitespace with `git diff` -- check before committing.
74*ba8755cbSAndroid Build Coastguard Worker+ Make sure you have added the necessary tests for your changes, typically in `src/test/java`.
75*ba8755cbSAndroid Build Coastguard Worker+ Run all the tests with `mvn clean verify` to assure nothing else was accidentally broken.
76*ba8755cbSAndroid Build Coastguard Worker
77*ba8755cbSAndroid Build Coastguard WorkerMaking Trivial Changes
78*ba8755cbSAndroid Build Coastguard Worker----------------------
79*ba8755cbSAndroid Build Coastguard Worker
80*ba8755cbSAndroid Build Coastguard WorkerThe JIRA tickets are used to generate the changelog for the next release.
81*ba8755cbSAndroid Build Coastguard Worker
82*ba8755cbSAndroid Build Coastguard WorkerFor changes of a trivial nature to comments and documentation, it is not always necessary to create a new ticket in JIRA.
83*ba8755cbSAndroid Build Coastguard WorkerIn this case, it is appropriate to start the first line of a commit with '(doc)' instead of a ticket number.
84*ba8755cbSAndroid Build Coastguard Worker
85*ba8755cbSAndroid Build Coastguard Worker
86*ba8755cbSAndroid Build Coastguard WorkerSubmitting Changes
87*ba8755cbSAndroid Build Coastguard Worker------------------
88*ba8755cbSAndroid Build Coastguard Worker
89*ba8755cbSAndroid Build Coastguard Worker+ Sign and submit the Apache [Contributor License Agreement][cla] if you haven't already.
90*ba8755cbSAndroid Build Coastguard Worker  * Note that small patches & typical bug fixes do not require a CLA as
91*ba8755cbSAndroid Build Coastguard Worker    clause 5 of the [Apache License](https://www.apache.org/licenses/LICENSE-2.0.html#contributions)
92*ba8755cbSAndroid Build Coastguard Worker    covers them.
93*ba8755cbSAndroid Build Coastguard Worker+ Push your changes to a topic branch in your fork of the repository.
94*ba8755cbSAndroid Build Coastguard Worker+ Submit a _Pull Request_ to the corresponding repository in the `apache` organization.
95*ba8755cbSAndroid Build Coastguard Worker  * Verify _Files Changed_ shows only your intended changes and does not
96*ba8755cbSAndroid Build Coastguard Worker  include additional files like `target/*.class`
97*ba8755cbSAndroid Build Coastguard Worker+ Update your JIRA ticket and include a link to the pull request in the ticket.
98*ba8755cbSAndroid Build Coastguard Worker
99*ba8755cbSAndroid Build Coastguard WorkerIf you prefer to not use GitHub, then you can instead use
100*ba8755cbSAndroid Build Coastguard Worker`git format-patch` (or `svn diff`) and attach the patch file to the JIRA issue.
101*ba8755cbSAndroid Build Coastguard Worker
102*ba8755cbSAndroid Build Coastguard Worker
103*ba8755cbSAndroid Build Coastguard WorkerAdditional Resources
104*ba8755cbSAndroid Build Coastguard Worker--------------------
105*ba8755cbSAndroid Build Coastguard Worker
106*ba8755cbSAndroid Build Coastguard Worker+ [Contributing patches](https://commons.apache.org/patches.html)
107*ba8755cbSAndroid Build Coastguard Worker+ [Apache Commons Compress JIRA project page][jira]
108*ba8755cbSAndroid Build Coastguard Worker+ [Contributor License Agreement][cla]
109*ba8755cbSAndroid Build Coastguard Worker+ [General GitHub documentation](https://help.github.com/)
110*ba8755cbSAndroid Build Coastguard Worker+ [GitHub pull request documentation](https://help.github.com/articles/creating-a-pull-request/)
111*ba8755cbSAndroid Build Coastguard Worker+ [Apache Commons Twitter Account](https://twitter.com/ApacheCommons)
112*ba8755cbSAndroid Build Coastguard Worker+ `#apache-commons` IRC channel on `irc.freenode.net`
113*ba8755cbSAndroid Build Coastguard Worker
114*ba8755cbSAndroid Build Coastguard Worker[cla]:https://www.apache.org/licenses/#clas
115*ba8755cbSAndroid Build Coastguard Worker[jira]:https://issues.apache.org/jira/browse/COMPRESS
116