diff --git a/build.gradle.kts b/build.gradle.kts index 8b116a80..f55db01c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jreleaser.model.Active + plugins { `java-platform` `maven-publish` @@ -27,3 +29,52 @@ tasks { mustRunAfter(clean) } } + +/* + * Jreleaser (https://jreleaser.org) config. + */ +jreleaser { + dryrun = false + + // Used for creating a tagged release, uploading files and generating changelog. + // In the future we can set this up to push release tags to GitHub, but for now it's + // set up to do nothing. + // https://jreleaser.org/guide/latest/reference/release/index.html + release { + generic { + enabled = true + skipRelease = true + } + } + + // Used to announce a release to configured announcers. + // https://jreleaser.org/guide/latest/reference/announce/index.html + announce { + active = Active.NEVER + } + + // Signing configuration. + // https://jreleaser.org/guide/latest/reference/signing.html + signing { + active = Active.ALWAYS + armored = true + } + + // Configuration for deploying to Maven Central. + // https://jreleaser.org/guide/latest/examples/maven/maven-central.html#_gradle + deploy { + maven { + nexus2 { + create("maven-central") { + active = Active.ALWAYS + url = "https://aws.oss.sonatype.org/service/local" + snapshotUrl = "https://aws.oss.sonatype.org/content/repositories/snapshots" + closeRepository.set(true) + releaseRepository.set(true) + verifyPom.set(true) + stagingRepository(rootProject.layout.buildDirectory.dir("staging").get().asFile.path) + } + } + } + } +}