Introduction

The Sourdough Gradle Plugins are a collection of highly-opinionated, batteries-included gradle plugins to get you started building delicious multi-module Kotlin projects.

triangle-exclamation

Plugins

Root

The root plugin is intended to bootstrap the root build.gradle.kts file in your multi-module Gradle projects.

When installed, it can perform a number of configurations

  1. Bootstrapping your base maven repositories

  2. Configure Koverarrow-up-right for integrated code coverage

  3. Configure Publishingarrow-up-right for library publishing

For more information on installation and configuration, please see the root plugin docs

circle-exclamation

JVM Application

The JVM Application plugin is intended for bootstrapping modules where the intended purpose is a deployed application.

When installed to a child module, it can perform a number of configurations

  1. Configure gradle JVM settings

  2. Configure Koverarrow-up-right so module code coverage is fed back to the root module

  3. Configure TestLoggerarrow-up-right for improved test output

For more information on installing and configuring, please see the jvm application plugin docs

JVM Library

The JVM Library plugin is intended for bootstrapping modules where the intended purpose is publishing an artifact to a maven repository. It is focused on publishing to Maven Centralarrow-up-right but all repositories are supported.

When installed to a child module, this plugin can perform a number of configurations

  1. Configure gradle JVM settings

  2. Configure Koverarrow-up-right so module code coverage is fed back to the root module

  3. Configure TestLoggerarrow-up-right for improved test output

  4. Configure Maven publishing

  5. Configure Sonatype Signing

For more information on installing and configuring, please see the library jvm plugin docs

Multiplatform Library

The Multiplatform Library plugin is intended for bootstrapping modules where the intended purpose is publishing multiplatform artifacts to a maven repository. It is focused on publishing to Maven Centralarrow-up-right but all repositories are supported.

When installed to a child module, this plugin can perform a number of configurations

  1. Configure Maven publishing

  2. Configure Sonatype Signing

Last updated