Thank you for considering contributing to Distributed Latch! We welcome contributions from the community.
- Check the issue tracker to see if the bug has already been reported.
- If not, open a new issue with a clear title, description, steps to reproduce, and expected vs actual behavior.
- Open an issue describing the feature, its use case, and why it would benefit the project.
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/<your-username>/distributed-latch.git cd distributed-latch
- Create a branch for your change:
git checkout -b feature/my-change
- Make your changes and add tests for new functionality.
- Run the tests to make sure everything passes:
mvn clean verify
- Commit your changes with a clear message:
git commit -m "Add feature: brief description" - Push to your fork and open a Pull Request against the
mainbranch.
- Follow the existing code style in the project.
- Use the
.editorconfigsettings provided in the repository. - Ensure Lombok annotations are used consistently.
- All new Java files must include the Apache 2.0 license header.
- All new code should have accompanying unit tests.
- Aim for high code coverage — the project uses JaCoCo for coverage reporting.
- Run coverage locally:
Coverage reports are generated at
mvn clean verify
target/site/jacoco/index.html.
- Keep PRs focused and small — one feature or fix per PR.
- Include a clear description of what the change does and why.
- Ensure all existing tests pass.
- Add tests for any new functionality.
- Update documentation (README, docs/) if the change affects user-facing behavior.
This project follows the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.