Skip to content

Latest commit

 

History

History
62 lines (43 loc) · 2.27 KB

development.md

File metadata and controls

62 lines (43 loc) · 2.27 KB

Developer docs

JDK versions

The project's official build JDK version is the latest LTS JDK version, although the project may lag behind the true latest release for a while until we can upgrade the build definition to match this target.

The official build JDK version currently in effect is encoded in the "Reproducible binary" workflow, as the JDK version is crucial for successfully reproducing released binaries. This version is also enforced in the release process in build.gradle.

The primary build workflow should run on all currently maintaned LTS JDK versions, and ideally also the latest non-LTS JDK version if Gradle and other build dependencies are compatible.

A list of JDK versions and maintenance status can be found here.

Code formatting

Use ./gradlew spotlessApply to run the automatic code formatter. You can also run it in continuous mode as ./gradlew --continuous spotlessApply to reformat whenever a file changes.

We mean to follow the Google Java Style Guide, but do not enforce it comprehensively (apart from what the automatic formatter does). Take particular note of the rules:

In case of disagreement on code style, defer to the style guide.

Setup for publishing

To enable publishing to Maven Central via Sonatype Nexus, generate a user token. Set yubicoPublish=true in $HOME/.gradle/gradle.properties and add your token username and password. Example:

yubicoPublish=true
ossrhUsername=8pnmjKQP
ossrhPassword=bmjuyWSIik8P3Nq/ZM2G0Xs0sHEKBg+4q4zTZ8JDDRCr

Publishing a release

See the release checklist.