Micronaut Java Library.
Latest version is compatible with Java 17 and Micronaut 4.
You define the version of Micronaut Platform and Micronaut Gradle Plugin in micronautVersion in gradle/libs.versions.toml.
The Micronaut Gradle Plugin is also defined in settings.gradle.kts.
This template uses the Spotless Gradle Plugin to ensure every file contains a license matching the template in config/spotless.license.java.
The submodule docs applies the Asciidoc Gradle Plugin to generate HTML documentation.
./gradlew :docs:asciidoctor
You can find the generated documentation in docs/build/asciidoc/index.html.
The asciidoc source files are in docs/src/docs/asciidoc.
The template applies the Checkstyle Gradle Plugin. You can configure it with config/checkstyle/checkstyle.xml and config/checkstyle/supressions.xml
The template applies the JaCoCo Gradle Plugin to get code coverage and the JaCoCo report Aggregation Plugin.
Run ./gradlew testCodeCoverageReport and you can access the HTML report open code-coverage-report/build/reports/jacoco/testCodeCoverageReport/html/index.html.
The template applies the Gradle Build Native Image Plugin. You can run the Gradle task ./gradlew nativeTest to ensure your library is compatible with Native Image.
To publish to Sonatype OSSRH, you need first to generate a GPG key and distributed your public key.
- Generate a Token. Save the user token username and password.
The credentials for signing and upload can be stored in your gradle.properties file in your users home directory. The content would look like this
$HOME/.gradle/gradle.properties
sonatypeUsername=SonaTypeUserTokenUserName
sonatypePassword=SonaTypeUserTokenPassword
# <1>
signing.keyId=YourKeyId
# <2>
signing.password=YouPublicKeyPassword
# <3>
signing.secretKeyRingFile=PathToYourKeyRingFile<1> The public key ID (The last 8 symbols of the keyId. You can use gpg -K --keyid-format short to get it).
<2> The passphrase used to protect your private key.
<3> The absolute path to the secret key ring file containing your private key. (Since gpg 2.1, you need to export the keys with command gpg --keyring secring.gpg --export-secret-keys > ~/.gnupg/secring.gpg).
- Bump up version. Ensure
projectVersiondoes not contain-SNAPSHOT. - Tag it. E.g.
v1.0.0 ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository --info