Thank you for improving java-throwable-utils! This guide outlines the bits of project hygiene that help us ship
tiny-but-reliable releases.
- JDK 17 is used for primary development and CI. The published artifacts remain Java 8 compatible, so feel free to validate on older JDKs if your change touches bytecode-sensitive areas.
- The Gradle wrapper (
./gradlew) drives all builds; no additional plugins or package managers are required.
- Bootstrap and compile everything:
This runs Spotless checks, compiles sources, executes tests, and produces coverage.
./gradlew build
- Run just the unit tests when iterating quickly:
./gradlew test - Generate local reports if you need them:
./gradlew jacocoTestReport
- Spotless with Google Java Format guards the Java sources. Let the pre-configured Gradle task fix formatting
automatically:
./gradlew spotlessApply
- Source and target compatibility are locked to Java 8 (
1.8). Avoid introducing APIs that require newer language features unless accompanied by a deliberate major-version plan.
- Creating a Git tag triggers the
publish.ymlworkflow, which builds the artifacts and deploys them to Maven Central. - Ensure
./gradlew buildis green on the default branch before tagging. - Update
CHANGELOG.mdand bump the version ingradle.propertiesas part of your release PR.
- Include the Java version(s) you used along with a minimal reproduction when reporting bugs.
- For feature requests, describe the motivating use case and expected ergonomics; small reproducer snippets are ideal.
- Keep PRs focused—tooling updates, behavioural changes, and documentation refreshes are easier to review separately.
- All contributions require at least one passing GitHub Actions run; re-run the build workflow if you amend commits.
We appreciate every improvement, from typo fixes to new APIs. Thanks for helping keep exception handling ergonomic!