Skip to content

Latest commit

 

History

History
78 lines (65 loc) · 3.24 KB

CONTRIBUTING.md

File metadata and controls

78 lines (65 loc) · 3.24 KB

Contributing

scala-json is looking forward to receiving your feedback and pull requests!

Building and testing

  1. Fork scala-json.
  2. Clone your fork (we'll refer to your fork as origin hereafter).
  3. Install the SBT build tool.
  4. Run and test using sbt test:
$ git clone [email protected]:[my-user-name]/scala-json.git
$ cd scala-json/
$ sbt test

Found an Issue?

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.

Submitting a Pull Request

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

Code Review

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

After your pull request is merged, you can safely delete your branch and pull the changes from the main (upstream) repository.

API Compatibility

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.

Coding Guidelines

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