scala-json is looking forward to receiving your feedback and pull requests!
- Fork scala-json.
- Clone your fork (we'll refer to your fork as
origin
hereafter). - Install the SBT build tool.
- Run and test using sbt test:
$ git clone [email protected]:[my-user-name]/scala-json.git
$ cd scala-json/
$ sbt test
If you find a bug in the source code or a mistake in the documentation, help us by submitting an issue.
If you have a solution, you can submit a Pull Request with the fix, but please log the issue anyway for tracking purposes.
Before you submit your pull request consider the following guidelines:
- Search GitHub for an open or closed Pull Request that relates to your submission.
- Make sure your fork is synched.
- Open an issue first to discuss any potential changes.
- Create a new branch from
develop
, the current development version. - Branch name should be in the format:
<github_name>-<issue#>-<iteration> (ex: colinrgodsey-1853-2)
- Make your changes in a new git branch:
$ git checkout -b mygithub-1234-1
- Create your patch.
- Follow our Coding Guidelines.
- Commit your changes using a descriptive commit message
- Push your branch to GitHub:
$ git push origin mygithub-1234-1
- In GitHub, send a pull request to
scala-json:develop
If code review suggests changes...
- Make the required updates.
- Rebase your branch and force push to your GitHub repository (this will update your Pull Request):
$ git fetch upstream
$ git rebase -i upstream/develop
$ git push -f origin mygithub-1234-1
- When you solution is approved, please squash your commits.
Thanks for your contribution!
After your pull request is merged, you can safely delete your branch and pull the changes from the main (upstream) repository.
We follow the major version of the release to signify API compatibility. The develop
branch is the staging area
for the next API-compatible release. Any other changes that may break compatibility will need a pull request made
to a specific development branch for that future major version. These semantics will need to be discussed in the issue
before any pull request is made.
To ensure consistency throughout the source code, keep these rules in mind as you are working:
- All features or bug fixes must be tested
- All public API methods must be documented with scaladocs
- Regarding code styling in general:
- scala-json follows the standard scala style guide
- Methods and properties should be named in a meaningful way
- Please refer to any of the scala-json components or shared files for reference