Common Gradle project templates with emphasis on Scala, separated by target platform and kind of distribution.
Plugins | Testing | Publishing | Website | Coverage | Max Heap Size | |
---|---|---|---|---|---|---|
jvm-app | Scala, Application | JUnit 5 | ✗ | Cayman | ✓ | 2GB |
jvm-library | Scala | JUnit 5 | Maven Central | ScalaDoc, Minimal | ✓ | 2GB |
- JUnit testing framework with Mockito suite and Truth asserter.
- WartRemover code linter.
- JaCoCo code coverage.
- GitHub project layout:
- GitHub README, LICENSE, and gitignore file.
- EditorConfig enforces IDE settings.
- CircleCI to run test every commit, also triggers Codecov integration within CircleCI.
- Gradle build tool:
- Kotlin DSL scripts with properties delegation.
- Apply plugin using plugins DSL.
- Version catalogs in TOML file to avoid typing unsafe dependencies.
- Website module:
- Pages Gradle Plugin for generating webpage displaying README's content and documentation links.
- gradle-git-publish plugin, necessary for uploading to GitHub Pages.