Skip to content

Commit

Permalink
build(gradle): Resolve eventual conflicts between dependency capabili…
Browse files Browse the repository at this point in the history
…ties

See [1]. Give this plugin a try as a safety measure when adding new
dependencies.

[1]: https://github.com/gradlex-org/jvm-dependency-conflict-resolution

Signed-off-by: Sebastian Schuberth <[email protected]>
  • Loading branch information
sschuberth committed Sep 20, 2024
1 parent c44408f commit 759590b
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 0 deletions.
1 change: 1 addition & 0 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ dependencies {

implementation(libs.jgit)
implementation(libs.plugin.dependencyAnalysis)
implementation(libs.plugin.dependencyConflictResolution)
implementation(libs.plugin.detekt)
implementation(libs.plugin.dokkatoo)
implementation(libs.plugin.graalVmNativeImage)
Expand Down
13 changes: 13 additions & 0 deletions buildSrc/src/main/kotlin/ort-base-conventions.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,24 @@
* License-Filename: LICENSE
*/

import org.gradlex.jvm.dependency.conflict.detection.rules.CapabilityDefinition

plugins {
// Apply third-party plugins.
id("org.gradlex.jvm-dependency-conflict-resolution")
id("org.gradlex.reproducible-builds")
}

jvmDependencyConflicts {
logging {
enforceLogback()
}

conflictResolution {
select(CapabilityDefinition.JAVAX_INJECT_API, "org.glassfish.hk2.external:jakarta.inject")
}
}

repositories {
mavenCentral()

Expand Down
2 changes: 2 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[versions]
dependencyAnalysisPlugin = "2.0.2"
dependencyConflictResolutionPlugin = "2.1.2"
detektPlugin = "1.23.7"
dokkatooPlugin = "2.4.0"
downloadPlugin = "5.6.0"
Expand Down Expand Up @@ -77,6 +78,7 @@ versions = { id = "com.github.ben-manes.versions", version.ref = "versionsPlugin
[libraries]
# These are Maven coordinates for Gradle plugins, which are required for use in precompiled plugin scripts.
plugin-dependencyAnalysis = { module = "com.autonomousapps:dependency-analysis-gradle-plugin", version.ref = "dependencyAnalysisPlugin" }
plugin-dependencyConflictResolution = { module = "org.gradlex:jvm-dependency-conflict-resolution", version.ref = "dependencyConflictResolutionPlugin" }
plugin-detekt = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detektPlugin" }
plugin-detekt-formatting = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detektPlugin" }
plugin-dokkatoo = { module = "dev.adamko.dokkatoo:dokkatoo-plugin", version.ref = "dokkatooPlugin" }
Expand Down

0 comments on commit 759590b

Please sign in to comment.