https://github.com/hypertrace/hypertrace-gradle-dependency-settings-plugin
https://github.com/hypertrace/hypertrace-gradle-dependency-settings-plugin
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/hypertrace/hypertrace-gradle-dependency-settings-plugin
- Owner: hypertrace
- License: apache-2.0
- Created: 2023-09-07T06:25:09.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-17T20:21:00.000Z (about 2 years ago)
- Last Synced: 2025-01-21T17:49:56.586Z (about 1 year ago)
- Language: Java
- Size: 79.1 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Hypertrace Dependency Settings Plugin
###### org.hypertrace.dependency-settings
### Purpose
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 must be
set explicitly)
- Renames the default `libs` catalog (from `libs.versions.toml`) to `localLibs` 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 the `api`
configuration (falling back
to `implementation` if `api` is unavailable). The BOM reference to use (`bomArtifactName` -
default `hypertrace.bom`) and version can also be configured. `bomVersionName` (defaults
to `hypertrace.bom`)
describes the name of the version property in the catalog and `bomVersion` (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 `useDependencyLocking` is specified (default: true), adds a project
task `resolveAndLockAll`which can be use in
conjunction with the `--write-locks` flag to update all project lockfiles.
Example usage in `settings.gradle.kts`:
```kts
plugins {
id("org.hypertrace.dependency-settings") version "0.1.0"
}
configure {
catalogVersion.set("0.1.0")
}
```