Contributions are welcome to all Apache Accumulo repositories. While most contributions are code, there are other ways to contribute to Accumulo:
Contributions are reviewed (via GitHub pull requests) by the community before being merged by a committer.
This document provides basic instructions for contributing to Accumulo. If you are looking for more information, check out the more comprehensive contributor guide.
Accumulo uses GitHub issues to track bugs and features. Each git repository has its own issues. In GitHub pull request are issues, therefore creating an issue before a pull request is optional. If unsure whether to start with an issue or pull request, then create an issue. If you need help finding an issue to work on, check out the open issues labeled ‘helpwanted’ or contact us.
Accumulo previously used [JIRA], but is now transitioning to GitHub issues. All new issues should be opened using GitHub. When working an existing JIRA issue, please do the following :
Eventually JIRA will be transitioned to a read-only state for reference. For finding issues to work, there may still be open issues labeled for newbies in JIRA.
For pull request and issues, the following labels are used in the core repository. Consider an issue with labels v1.9.3
, v2.0.2
, and bug
. If the issue is open, then its a bug that someone plans to fix in 1.9.3 and 2.0.2. If closed, then it was fixed in those versions.
Label | Description |
---|---|
blocker | Indicates a release blocker that must be fixed in labeled versions. |
bug | |
duplicate | |
enhancement | |
vX.Y.Z | Fix version. The prefix v was chosen so that these labels sort last in the drop down list. |
Currently only Accumulo committers can set labels. If you think a label should be set, comment on the issue and someone will help.
Contributions can be made to the following repositories. While the general contribution workflow is described below, repositories have special instructions in their CONTRIBUTING.md
file which can be viewed by clicking on contribute
in the Links column below.
Repository | Links | Description |
---|---|---|
Accumulo | Contribute Issues | Core Project |
Accumulo Website | Contribute Issues | Source for this website |
Accumulo Examples | Contribute Issues | Accumulo example code |
Accumulo Testing | Contribute Issues | Accumulo test suites such as continuous ingest and random walk |
Accumulo Docker | Contribute Issues | Source for Accumulo Docker image |
Accumulo Wikisearch | Contribute Issues | Accumulo example application that indexes and queries Wikipedia data |
git checkout -b accumulo-4321
CONTRIBUTING.md
file.git push origin accumulo-4321
[WIP]
in the subject.Feel free to use any editor when contributing Accumulo. If you are looking for a recommendation, many Accumulo developers use [IntelliJ][intellij] or [Eclipse][eclipse]. Below are some basic instructions to help you get started.
git clone https://github.com/apache/accumulo.git
Eclipse-Accumulo-Codestyle.xml
from Accumulo's [contrib][accumulo-contrib] directoryFile
> Settings
> Code Style
and clicking on cog wheelgit clone https://github.com/apache/accumulo.git
Preferences
> Java
> Code Style
> Formatter
and import the Eclipse-Accumulo-Codestyle.xml
downloaded in the previous step.Preferences
> Java
> Code Style
> Code Templates
and import the Eclipse-Accumulo-Template.xml
. Make sure to check the “Automatically add comments” box. This template adds the ASF header and so on for new code.For more details, see the contributor guide.
[manual]: {{ site.baseurl }}/{{ site.latest_minor_release }}/accumulo_user_manual.html [JIRA]: https://issues.apache.org/jira/browse/ACCUMULO [GitHub]: https://github.com/apache/accumulo/pulls [Jenkins]: https://builds.apache.org/view/A/view/Accumulo [TravisCI]: https://travis-ci.org/apache/accumulo [making]: {{ “/contributor/making-release” | relative_url }} [verifying]: {{ “/contributor/verifying-release” | relative_url }} [Fork]: https://help.github.com/articles/fork-a-repo/ [Pull Request]: https://help.github.com/articles/about-pull-requests/ [Push]: https://help.github.com/articles/pushing-to-a-remote/ [clone]: https://help.github.com/articles/cloning-a-repository/ [srcheaders]: https://www.apache.org/legal/src-headers [styles]: https://gitbox.apache.org/repos/asf?p=accumulo.git;a=tree;f=contrib;hb=HEAD [accumulo-readme]: https://github.com/apache/accumulo/blob/master/README.md#api [semver]: http://semver.org/spec/v2.0.0.html [eclipse]: https://www.eclipse.org/ [eclipse-import]: https://stackoverflow.com/questions/2061094/importing-maven-project-into-eclipse [intellij]: https://www.jetbrains.com/idea/ [intellij-import]: https://www.jetbrains.com/help/idea/maven.html#maven_import_project_start [accumulo-contrib]: https://github.com/apache/accumulo/tree/master/contrib [messages]: https://chris.beams.io/posts/git-commit/ [squash-tutorial]: http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html [squash-stack]: https://stackoverflow.com/questions/5189560/squash-my-last-x-commits-together-using-git