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.
- Submit a new issue or choose the existing one.
- Fork the repository.
- Checkout a new branch from
master
- 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. - 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!