Skip to content

Latest commit

 

History

History
34 lines (25 loc) · 1.63 KB

CONTRIBUTING.md

File metadata and controls

34 lines (25 loc) · 1.63 KB

Contributing Guide

Do you want to improve the library? Would you like to see yourself in the README Authors section? That's great! Here is a guide how to contribute.

  1. Submit a new issue or choose the existing one.
  2. Fork the repository.
  3. Checkout a new branch from master
  4. Make the changes and run ./gradlew build command. If it succeeds, then you can go ahead. Also, you can run some specific isolated commands. ./gradlew runStaticAnalysis performs all code quality checks, and ./gradlew test run unit tests.
  5. Push the changes and create a new pull request. Please, put Resolves #TASK_ID in the PR description.

Also you should know that the repository uses SonarCloud to measure the test coverage. If it's lower than 80%, the check doesn't pass.

The commits should be written according to this pattern: [#TASK_ID] - message. For example, [#96] - Fixed ImmutableList.slice(int fromIndex, int toIndex) javadoc.

The branches should be named as type/#TASK_ID-desription. For example, feature/#96-move-methods

The repository checks commit messages and branches names automatically on each pull request. So, any violation does not allow proceeding further.

The release process is automatic. Each pull request merge to master branch uploads a new DEV-SNAPSHOT version. Whilst merge to releases creates a new concrete release. Merge to releases can only be made by the repository maintainer.

That's basically everything you need to know. Feel free to contribute!