Skip to content
/ build-commons Public template

✨ Gradle plugin and catalog containing conventional plugins for Kotlin JVM and Multiplatform development!

Notifications You must be signed in to change notification settings

sureshg/build-commons

Repository files navigation

🐘 Common Build Plugins

GitHub Workflow Status Maven Central Version OpenJDK Version Kotlin release

Common project and settings gradle convention plugin to bootstrap Kotlin JVM & Multiplatform projects.

Install Java 21

$ curl -s "https://get.sdkman.io" | bash
$ sdk i java 21.0.4-zulu
$ sdk u java 21.0.4-zulu

Build & Testing

$ ./gradlew build

For testing, a separate sandbox project is available with the plugin and version catalog applied in settings.gradle.kts. First publish the plugin to the local maven repository and then run the sandbox project.

$ ./gradlew publishToMavenLocal
$ ./gradlew -p sandbox :build
$ ./gradlew -p sandbox :dependencyUpdates

Publishing

Push a new tag to trigger the release workflow and publish the plugin to maven central. That's it 🎉. The next version will be based on the semantic version scope (major, minor, patch)

$ ./gradlew pushSemverTag "-Psemver.scope=patch"

# To see the current version
# ./gradlew v

# Print the new version
# ./gradlew printSemver "-Psemver.scope=patch"

Published Plugins

Gradle Plugin ID Version
dev.suresh.plugin.root Maven Central
dev.suresh.plugin.common Maven Central
dev.suresh.plugin.graalvm Maven Central
dev.suresh.plugin.kotlin.jvm Maven Central
dev.suresh.plugin.kotlin.mpp Maven Central
dev.suresh.plugin.kotlin.docs Maven Central
dev.suresh.plugin.kotlin.benchmark Maven Central
dev.suresh.plugin.publishing Maven Central
dev.suresh.plugin.repos Maven Central
dev.suresh.plugin.catalog Maven Central
Misc

Maven Central

  • Publishing

    # Publish to local maven repository
    $ ./gradlew publishToMavenLocal
    $  tree  ~/.m2/repository/dev/suresh/build/
    
    # Publish the plugins to maven central
    $ ./gradlew publishPluginMavenPublicationToMavenCentralRepository
    
    # Publish the catalog to maven central
    $ ./gradlew :catalog:publishToMavenCentral
    $ ./gradlew :catalog:publishAndReleaseToMavenCentral

About

✨ Gradle plugin and catalog containing conventional plugins for Kotlin JVM and Multiplatform development!

Resources

Stars

Watchers

Forks

Packages

No packages published