Eastern Edge welcomes contributions from everyone. By contributing to this project, you agree to the license terms of the project.
In brief, contributing involves the following process:
- Clone the repository
- Create a branch
- ??? (Make changes?)
- Push the changes to GitHub
- Open a Pull Request
- ??? (Code review?)
- Merge changes into the
master
branch
If interested, see a complete walkthrough of adding a new feature on the wiki.
All development happens on GitHub—there exists the possibility of brainstorming happening outside of GitHub, but an attempt should be made to convey all design decisions in a GitHub issue or Pull Request.
The master
branch should always contain a stable version of the control software, with (passing) tests, and decent test coverage.
Issue should be used liberally. Example usage:
- Brainstorming and ideas
- General discussion
- Actual issues (e.g. bugs)
(See also: "master
should be stable" above for information about branches.)
Pull Requests (PR) are the means by which branches are merged into master
. Open a Pull Request and describe what changes are being introduced. When a PR is submitted or updated with more commits, CircleCI will run "tests" against just the most recent of them and update the PR to reflect whether it passed or failed. You can run the same "tests" locally via gradle check
and gradle test
.
The project uses Checkstyle to enforce some Java practices and certain formatting styles. These checks will be run automatically before Pull Requests are merged into master
and can be run locally via gradle check
.