waena

Stars
0
Committers
3

Waena

Gradle plugins for publishing to Maven Central

Setup

There are 2 plugins that make up this project.

Waena Root

This needs to be applied only to the root project.

plugins {
  id("com.github.rahulsom.waena.root").version("<VERSION>")
}

allprojects {
  group = 'TODO'
}

contacts {
    validateEmails = true
    '[email protected]' {
        moniker("To Do")
        roles("owner")
        github("https://github.com/todo")
    }
}

Waena Published

This needs to be applied to each module in the project that needs to be published.

plugins {
  id("com.github.rahulsom.waena.published").version("<VERSION>")
}

description = "TODO"

// Optional (to customize license)
waena {
    license.set(WaenaExtension.License.Apache2)
}

Usage

Environment Variables

Set these 4 environment variables

export ORG_GRADLE_PROJECT_sonatypeUsername=???
export ORG_GRADLE_PROJECT_sonatypePassword=???
export ORG_GRADLE_PROJECT_signingKey=???
export ORG_GRADLE_PROJECT_signingPassword=???

Publishing snapshots

./gradlew snapshot

Publishing releases

git tag v1.2.3 # Any semver compatible version prefixed by `v`
./gradlew -Prelease.useLastTag=true build final --stacktrace

Implementation Details

Under the hood, this uses several other plugins and ties them all together such that you can release to maven central easily