The project consists of a single lib
library, but we imagine that we want to share some dependencies between the main library and build logic.
In this case, the "common" dependencies are actually test dependencies.
The project consists of:
settings.gradle.kts
build-logic
included build (similar to buildSrc
, really)lib
project for the actual library codeWe basically want to share a catalog between build logic and the main build. This is a simplified version of what you would have to do to share a catalog between different components in an organization.
In this repository, you will need to take a look at 4 different branches to explore the options we have:
with-settings
version is the reference for the settings DSL: it doesn't try to share anything but rather duplicates everything in settingswith-settings-plugin
demonstrates sharing versions via a Settings pluginwith-precompiled-settings-plugin
does the same using a precompiled settings pluginwith-toml
version shows how to do the same using the conventional TOML filewith-published-catalog
demonstrates a similar thing but this time with a "published TOML" file