diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000000..2208cd7494 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,30 @@ +Following this checklist to help us incorporate your +contribution quickly and easily: + + - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/MNG) filed + for the change (usually before you start working on it). Trivial changes like typos do not + require a JIRA issue. Your pull request should address just this issue, without + pulling in other changes. + - [ ] Each commit in the pull request should have a meaningful subject line and body. + - [ ] Format the pull request title like `[MNG-XXX] - Fixes bug in ApproximateQuantiles`, + where you replace `MNG-XXX` with the appropriate JIRA issue. Best practice + is to use the JIRA issue title in the pull request title and in the first line of the + commit message. + - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why. + - [ ] Run `mvn clean verify` to make sure basic checks pass. A more thorough check will + be performed on your pull request automatically. + - [ ] You have run the [Core IT][core-its] successfully. + +If your pull request is about ~20 lines of code you don't need to sign an +[Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) if you are unsure +please ask on the developers list. + +To make clear that you license your contribution under +the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0) +you have to acknowledge this by using the following check-box. + + - [ ] I hereby declare this contribution to be licenced under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0) + + - [ ] In any other case, please file an [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). + +[core-its]: https://maven.apache.org/core-its/core-it-suite/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..d22ffd9a12 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,92 @@ + +Contributing to Apache Maven +====================== + +You 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 the open source community. Before +you dig right into the code, there are a few guidelines that we need +contributors to follow so that we can have a chance of keeping on top of +things. + +Some of the ideas are documented in the [Maven Wiki][maven-wiki] +which might be interesting to read and for further discussion. + +Getting Started +--------------- + ++ Make sure you have a [JIRA account](https://issues.apache.org/jira/). ++ Make sure you have a [GitHub account](https://github.com/signup/free). ++ If you're planning to implement a new feature, it makes sense to discuss your changes + on the [dev list](https://maven.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 Maven's scope. ++ Submit a ticket for your issue, assuming one does not already exist. + + Clearly describe the issue, including steps to reproduce when it is a bug. + + Make sure you fill in the earliest version that you know has the issue. ++ Fork the repository on GitHub. + +Making and Submitting Changes +-------------- + +We accept Pull Requests via GitHub. The [developer mailing list][dev-ml-list] is the +main channel of communication for contributors. +There are some guidelines which will make applying PRs easier for us: ++ Create a topic branch from where you want to base your work (this is usually the master branch). + Push your changes to a topic branch in your fork of the repository. ++ Make commits of logical units. ++ Respect the original code style: by using the same [codestyle][code-style], + patches should only highlight the actual difference, not being disturbed by any formatting issues: + + 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 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 JIRA issue. +``` +[MNG-XXX] - Subject of the JIRA Ticket + Optional supplemental description. +``` ++ Make sure you have added the necessary tests (JUnit/[Core IT tests][core-it]) for your changes. ++ Run all the tests with `mvn -Prun-its verify` to assure nothing else was accidentally broken. ++ Submit a pull request to the repository in the Apache organization. ++ Update your JIRA ticket and include a link to the pull request in the ticket. + +If you plan to contribute on a regular basis, please consider filing a [contributor license agreement][cla]. + +Making Trivial Changes +---------------------- + +For changes of a trivial nature to comments and documentation, it is not always +necessary to create a new ticket in JIRA. In this case, it is appropriate to +start the first line of a commit with '(doc)' instead of a ticket number. + +Additional Resources +-------------------- + ++ [Contributing patches](https://maven.apache.org/guides/development/guide-maven-development.html#Creating_and_submitting_a_patch) ++ [Apache Maven JIRA project page](https://issues.apache.org/jira/projects/MNG/) ++ [Contributor License Agreement][cla] ++ [General GitHub documentation](https://help.github.com/) ++ [GitHub pull request documentation](https://help.github.com/send-pull-requests/) ++ [Apache Maven Twitter Account](https://twitter.com/ASFMavenProject) ++ #Maven IRC channel on freenode.org + +[dev-ml-list]: https://maven.apache.org/mail-lists.html +[code-style]: https://maven.apache.org/developers/conventions/code.html +[cla]: https://www.apache.org/licenses/#clas +[maven-wiki]: https://cwiki.apache.org/confluence/display/MAVEN/Index +[core-it]: https://maven.apache.org/core-its/core-it-suite/ diff --git a/README.md b/README.md index 33a4be48ce..ed81c33454 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,82 @@ -# Maven + +Apache Maven +============ -## Bootstrapping Basics +[![Apache License, Version 2.0, January 2004](https://img.shields.io/github/license/apache/maven.svg?label=License)][license] +[![Maven Central](https://img.shields.io/maven-central/v/org.apache.maven/apache-maven.svg?label=Maven%20Central)](https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.apache.maven%22%20AND%20a%3A%22apache-maven%22) +[![Jenkins Status](https://img.shields.io/jenkins/s/https/builds.apache.org/job/maven-box/job/maven/job/master.svg?style=flat-square)][build] +[![Jenkins tests](https://img.shields.io/jenkins/t/https/builds.apache.org/job/maven-box/job/maven/job/master.svg?style=flat-square)][test-results] -If you want to bootstrap Maven, you'll need: -- Java 1.7+ -- Maven 3.0.5 or later +Apache Maven is a software project management and comprehension tool. Based on +the concept of a project object model (POM), Maven can manage a project's +build, reporting and documentation from a central piece of information. -Run Maven, specifying a location into which the completed Maven distro should be installed: +If you think you have found a bug, please file in an issue into [Maven Issue Tracker](https://issues.apache.org/jira/browse/MNG) -``` -mvn -DdistributionTargetDir="$HOME/app/maven/apache-maven-3.5.x-SNAPSHOT" clean package -``` +Documentation +------------- + +More information can be found on [Apache Maven Homepage][maven-home]. +Question related to the usage of the Maven should be posted on +the [Maven User List][users-list]. + + +Where can I get the latest release? +----------------------------------- +You can download release source from our [download page][maven-download]. + +Contributing +------------ + +If you are interested in the development of Maven, please consult the +documentation first and afterwards you are welcome to join the developers +mailing list to ask question or discuss new ideas / features / bugs etc. + +Take a look into the [contribution guidelines](CONTRIBUTING.md). + +License +------- +This code is under the [Apache Licence v2][license] + +See the `NOTICE` file for required notices and attributions. + +Donations +--------- +You like Apache Maven? Then [donate back to the ASF](https://www.apache.org/foundation/contributing.html) to support the development. + +License +------- +[Apache License, Version 2.0, January 2004][license] + + +[home]: https://maven.apache.org/ +[license]: https://www.apache.org/licenses/LICENSE-2.0 +[build]: https://builds.apache.org/job/maven-box/job/maven/job/master/ +[test-results]: https://builds.apache.org/job/maven-box/job/maven/job/master/lastCompletedBuild/testReport/ +[build-status]: https://img.shields.io/jenkins/s/https/builds.apache.org/job/maven-box/job/maven/job/master.svg?style=flat-square +[build-tests]: https://img.shields.io/jenkins/t/https/builds.apache.org/job/maven-box/job/maven/job/master.svg?style=flat-square +[maven-home]: https://maven.apache.org/ +[maven-download]: https://maven.apache.org/download.cgi +[users-list]: https://maven.apache.org/mail-lists.html +[dev-ml-list]: https://www.mail-archive.com/dev@maven.apache.org/ +[code-style]: http://maven.apache.org/developers/conventions/code.html +[core-it]: https://maven.apache.org/core-its/core-it-suite/ +[building-maven]: https://maven.apache.org/guides/development/guide-building-maven.html +[cla]: https://www.apache.org/licenses/#clas -Once the build completes, you should have a new Maven distro ready to roll in that directory!