This is a development focused supplement to CONTRIBUTING.md.
Installing pre-commit hook is optional but can save you some headache when pushing unformatted code.
Installing git pre-commit hook that formats code with Ktlint:
cp scripts/git/pre-commit .git/hooks/pre-commitBefore writing a commit message read this article.
Before pushing any changes make sure project builds without errors with:
./gradlew buildThis project uses Kotest for testing.
- Make sure tests clearly document new features
- Any new feature must be unit tested
Test coverage report is generated with:
./gradle build coverage
# See: build/reports/kover/html/index.htmlBefore submitting a pull request test your changes locally on a sample project.
You can test locally by publishing this library to maven local repository with
./gradlew publishToMavenLocal.
Snapshot release is triggered manually by code owners. To use a released snapshot version make sure to register Sonatype snapshot repository in gradle with:
// build.gradle.kts
repositories {
mavenCentral()
maven {
url = URI("https://oss.sonatype.org/content/repositories/snapshots")
}
}
If change adds new feature or modifies an existing one update README and documentation.
To locally preview documentation changes follow instructions in docs/README.md