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.
DO NOT use the legacy multiplatform plugins (version 0.10.0
and lower). They will cause you more headache than they are worth
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
Bootstrapping your base maven repositories
Configure Kover for integrated code coverage
Configure Publishing for library publishing
For more information on installation and configuration, please see the root plugin docs
The root plugin is a pre-requisite for using any other sourdough-gradle plugins!
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
Configure Detekt
Configure gradle JVM settings
Configure Kover so module code coverage is fed back to the root module
Configure TestLogger 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 Central but all repositories are supported.
When installed to a child module, this plugin can perform a number of configurations
Configure Detekt
Configure gradle JVM settings
Configure Kover so module code coverage is fed back to the root module
Configure TestLogger for improved test output
Configure Maven publishing
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 Central but all repositories are supported.
When installed to a child module, this plugin can perform a number of configurations
Configure Maven publishing
Configure Sonatype Signing
Last updated