I put together this repo to serve as a starting point for what I want in a personal Java project:
- Java 21
- Gradle 9.4.1
- JUnit 6 and AssertJ
- Spotless for formatting
- Error Prone for static analysis
- JaCoCo test coverage
- CI checks
Compile the app:
./gradlew classesRun the sample program:
java -cp build/classes/java/main me.graceteng.HelloWorldExpected output:
Hello World!
Run the test suite:
./gradlew testBuild the project:
./gradlew buildRun formatting checks:
./gradlew spotlessCheckGenerate a JaCoCo coverage report:
./gradlew jacocoTestReportTest coverage reports go in build/reports/jacoco/test/.
GitHub Actions runs the following checks on pushes and pull requests to main:
- wrapper validation
- Java 21 setup
spotlessCheckbuildjacocoTestReport