This plugin configures various aspects of dependency management. Where values are configurable, a
default is specified.
Certain values are configurable via dependencySettings
extension inside each project
build.gradle.kts, but most are
configured only once in a dependencySettings
extension in settings.gradle.kts.
- Adds a version catalog (default name:
commonLibs
, default artifact:org.hypertrace.bom:hypertrace-version-catalog:<catalogVersion>
. catalogVersion must be set explicitly) - Renames the default
libs
catalog (fromlibs.versions.toml
) tolocalLibs
to disambiguate - For each java project:
- Adds dependency repositories of mavenLocal, mavenCentral, confluent and hypertrace
- If
autoApplyBom
is specified (default: true), adds a BOM dependency to theapi
configuration (falling back toimplementation
ifapi
is unavailable). The BOM reference to use (bomArtifactName
- defaulthypertrace.bom
) and version can also be configured.bomVersionName
(defaults tohypertrace.bom
) describes the name of the version property in the catalog andbomVersion
(defaults to latest -+
) describes the value to assign. - If
useDependencyLocking
is specified (default: true), configures strict dependency locking on certain configurations ( default:annotationProcessor
,compileClasspath
,runtimeClasspath
,testCompileClasspath
,testRuntimeClasspath
)- If integration tests are found, it will also add
integrationTestCompileClasspath
andintegrationTestRuntimeClasspath
- If integration tests are found, it will also add
- If
useDependencyLocking
is specified (default: true), adds a project taskresolveAndLockAll
which can be used in conjunction with the--write-locks
flag to update all project lockfiles.
Example usage in settings.gradle.kts
:
plugins {
id("org.hypertrace.dependency-settings") version "0.1.0"
}
configure<DependencyPluginSettingExtension> {
catalogVersion.set("0.1.0")
}