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