IMPORTANT: Developer documentation for the current development branch. This content is unreleased, may change without notice, and must not be treated as Buildish release documentation.

Getting started

Apply the settings plugin and create your first Maven publication bundle.

Use Gradle 9.1+ and Java 17+ in the build consuming this plugin.

Apply the settings plugin

In settings.gradle.kts, choose a plugin version available from your configured plugin repositories. Replace <version> with that version:

1plugins {
2    id("org.buildish.atr-maven-bundle.gradle-plugin") version "<version>"
3}
4rootProject.name = "my-library"

For Groovy settings, use settings.gradle:

1plugins {
2    id 'org.buildish.atr-maven-bundle.gradle-plugin' version '<version>'
3}
4rootProject.name = 'my-library'

Apply this plugin in settings. The maven-publish plugin and publication configuration belong in each publishing project’s build script.

Configure a Maven publication

For example, a Java library’s build.gradle.kts can contain:

 1plugins {
 2    `java-library`
 3    `maven-publish`
 4}
 5group = "org.example"
 6version = "1.0"
 7publishing {
 8    publications {
 9        create<MavenPublication>("main") { from(components["java"]) }
10    }
11}

Each actual Maven publication is included automatically, including publications on the root project. Projects without Maven publications need no opt-out. See publication selection for exclusions.

Create a first bundle

For an unsigned local trial, disable the default signature-presence requirement:

1./gradlew -PatrMavenBundle.requireSignatures=false :atrCentralArchive

With the example name and version, this creates build/atr-maven-bundle/central/my-library-1.0.zip. The ZIP starts at the Maven repository root and contains the native publication files plus their checksums. The plugin uses private local export repositories; this command does not publish to your configured remote repositories or Maven local.

For a release with existing signatures, retain the default presence check:

1./gradlew :atrCentralArchive

To generate missing signatures, first configure root signing, then run:

1./gradlew :prepareAtrMavenBundle --sign-missing :atrCentralArchive

Select other outputs

Request several tasks together to share one preparation and signing pass:

1./gradlew :atrCentralArchive :atrNjordArchive :atrNjordTransportableFiles

The output reference describes every task and layout. Producing a bundle does not upload it or establish acceptance by a remote service.