diff --git a/archunit-3rd-party-test/build.gradle b/archunit-3rd-party-test/build.gradle
index 90ff8bf6f5..f3f0ce8167 100644
--- a/archunit-3rd-party-test/build.gradle
+++ b/archunit-3rd-party-test/build.gradle
@@ -7,9 +7,9 @@ ext.moduleName = 'com.tngtech.archunit.thirdpartytest'
dependencies {
testImplementation project(path: ':archunit', configuration: 'shadow')
testImplementation project(path: ':archunit', configuration: 'tests')
- testImplementation dependency.springBootLoader
+ testImplementation exampleLibs.springBootLoader
dependency.addGuava { dependencyNotation, config -> testImplementation(dependencyNotation, config) }
- testImplementation dependency.junit4
- testImplementation dependency.junit_dataprovider
- testImplementation dependency.assertj
+ testImplementation libs.junit4
+ testImplementation libs.junitDataprovider
+ testImplementation libs.assertj
}
diff --git a/archunit-example/example-plain/build.gradle b/archunit-example/example-plain/build.gradle
index cec9903a34..256e5319de 100644
--- a/archunit-example/example-plain/build.gradle
+++ b/archunit-example/example-plain/build.gradle
@@ -9,7 +9,7 @@ dependencies {
// we still use JUnit 4 as the test runner, but we don't use JUnit 4 support within this project
// so tests could well be run using TestNG, etc.
- testImplementation dependency.junit4
+ testImplementation libs.junit4
}
test {
diff --git a/archunit-integration-test/build.gradle b/archunit-integration-test/build.gradle
index 28032ef4a1..50cb2c18f9 100644
--- a/archunit-integration-test/build.gradle
+++ b/archunit-integration-test/build.gradle
@@ -7,8 +7,8 @@ ext.moduleName = 'com.tngtech.archunit.integrationtest'
ext.minimumJavaVersion = JavaVersion.VERSION_1_8
dependencies {
- testImplementation dependency.junitPlatform
- testImplementation dependency.assertj
+ testImplementation libs.junitPlatform
+ testImplementation libs.assertj
testImplementation project(path: ':archunit', configuration: 'tests')
testImplementation project(path: ':archunit-junit4')
testImplementation project(path: ':archunit-junit5-api')
diff --git a/archunit-junit/build.gradle b/archunit-junit/build.gradle
index a449537e66..2efd216be5 100644
--- a/archunit-junit/build.gradle
+++ b/archunit-junit/build.gradle
@@ -36,25 +36,16 @@ artifacts {
dependencies {
archJunitApi project(path: ':archunit', configuration: 'shadow')
dependency.addGuava { dependencyNotation, config -> implementation(dependencyNotation, config) }
- implementation dependency.slf4j
-
- testImplementation dependency.junit4
- testImplementation dependency.junit_dataprovider
- testImplementation dependency.mockito
- testImplementation dependency.assertj
- testImplementation(dependency.assertj_guava) {
- exclude module: 'assertj-core'
- exclude module: 'guava'
- }
+
+ testImplementation libs.junit4
+ testImplementation libs.junitDataprovider
+ testImplementation libs.mockito
+ testImplementation libs.assertj
testImplementation project(path: ':archunit', configuration: 'tests')
// This is a hack for running tests with IntelliJ instead of delegating to Gradle,
// because for some reason this dependency cannot be resolved otherwise :-(
- testRuntimeOnly dependency.asm
-}
-
-archUnitTest {
- providesTestJar = true
+ testRuntimeOnly libs.asm
}
shadowJar {
@@ -62,7 +53,6 @@ shadowJar {
dependencies {
exclude(project(':archunit'))
- exclude(dependency(dependency.slf4j))
}
}
diff --git a/archunit-junit/junit4/build.gradle b/archunit-junit/junit4/build.gradle
index b84799d800..6d2a9049e7 100644
--- a/archunit-junit/junit4/build.gradle
+++ b/archunit-junit/junit4/build.gradle
@@ -7,25 +7,18 @@ ext.moduleName = 'com.tngtech.archunit.junit4'
dependencies {
api project(path: ':archunit', configuration: 'shadow')
api project(path: ':archunit-junit', configuration: 'archJunitApi')
- api dependency.junit4
+ api libs.junit4
implementation project(path: ':archunit-junit', configuration: 'shadow')
dependency.addGuava { dependencyNotation, config -> implementation(dependencyNotation, config) }
- implementation dependency.slf4j
-
- testImplementation dependency.junit4
- testImplementation dependency.junit_dataprovider
- testImplementation dependency.mockito
- testImplementation dependency.assertj
- testImplementation(dependency.assertj_guava) {
- exclude module: 'assertj-core'
- exclude module: 'guava'
- }
+
+ testImplementation libs.junit4
+ testImplementation libs.mockito
+ testImplementation libs.assertj
testImplementation project(path: ':archunit', configuration: 'tests')
- testImplementation project(path: ':archunit-junit', configuration: 'tests')
// This is a hack for running tests with IntelliJ instead of delegating to Gradle,
// because for some reason this dependency cannot be resolved otherwise :-(
- testRuntimeOnly dependency.asm
+ testRuntimeOnly libs.asm
}
javadoc {
@@ -42,9 +35,8 @@ shadowJar {
dependencies {
exclude(project(':archunit'))
- exclude(dependency(dependency.junit4))
- exclude(dependency(dependency.slf4j))
- exclude(dependency(dependency.hamcrest)) // Shadow doesn't respect transitive excludes :-(
+ exclude(dependency("${libs.junit4.get()}"))
+ exclude(dependency("${libs.hamcrest.get()}")) // Shadow doesn't respect transitive excludes :-(
}
}
diff --git a/archunit-junit/junit5/api/build.gradle b/archunit-junit/junit5/api/build.gradle
index 369cc510bb..a5ba74a134 100644
--- a/archunit-junit/junit5/api/build.gradle
+++ b/archunit-junit/junit5/api/build.gradle
@@ -9,7 +9,7 @@ ext.minimumJavaVersion = JavaVersion.VERSION_1_8
dependencies {
api project(path: ':archunit')
api project(path: ':archunit-junit', configuration: 'archJunitApi')
- api dependency.junitPlatformCommons
+ api libs.junitPlatformCommons
}
javadoc {
@@ -23,8 +23,7 @@ shadowJar {
exclude 'META-INF/maven/**'
dependencies {
- exclude(project(':archunit'))
- exclude(dependency { it.name != dependency.guava && !it.name.contains('archunit-junit') })
+ exclude(dependency { !it.name.contains('archunit-junit') })
}
}
diff --git a/archunit-junit/junit5/engine-api/build.gradle b/archunit-junit/junit5/engine-api/build.gradle
index dffc0e57e2..210e95230f 100644
--- a/archunit-junit/junit5/engine-api/build.gradle
+++ b/archunit-junit/junit5/engine-api/build.gradle
@@ -7,15 +7,11 @@ ext.moduleName = 'com.tngtech.archunit.junit5.engineapi'
ext.minimumJavaVersion = JavaVersion.VERSION_1_8
dependencies {
- api dependency.junitPlatformEngine
+ api libs.junitPlatformEngine
implementation project(path: ':archunit')
- dependency.addGuava { dependencyNotation, config -> implementation(dependencyNotation, config) }
- implementation dependency.slf4j
testImplementation project(path: ':archunit-junit5-api')
- testImplementation project(path: ':archunit', configuration: 'tests')
- testImplementation dependency.assertj
- testImplementation dependency.mockito
+ testImplementation libs.assertj
}
compileJava.dependsOn project(':archunit-junit5-api').finishArchive
@@ -30,7 +26,7 @@ shadowJar {
exclude 'META-INF/maven/**'
dependencies {
- exclude(dependency { it.name != dependency.guava })
+ exclude(dependency { true })
}
}
diff --git a/archunit-junit/junit5/engine/build.gradle b/archunit-junit/junit5/engine/build.gradle
index 8100031f2d..810e81e54f 100644
--- a/archunit-junit/junit5/engine/build.gradle
+++ b/archunit-junit/junit5/engine/build.gradle
@@ -12,13 +12,13 @@ dependencies {
api project(path: ':archunit-junit5-engine-api')
implementation project(path: ':archunit-junit')
dependency.addGuava { dependencyNotation, config -> implementation(dependencyNotation, config) }
- implementation dependency.slf4j
+ implementation libs.slf4j
testImplementation project(path: ':archunit', configuration: 'tests')
- testImplementation dependency.assertj
- testImplementation dependency.mockito
- testImplementation dependency.mockito_junit5
- testImplementation dependency.log4j_core
+ testImplementation libs.assertj
+ testImplementation libs.mockito
+ testImplementation libs.mockito.junit5
+ testImplementation libs.log4j.core
}
gradle.projectsEvaluated {
@@ -45,7 +45,7 @@ shadowJar {
dependencies {
exclude(dependency {
def isApi = it.configuration == 'archJunitApi'
- def isUnwantedDependency = it.name != dependency.guava && it.moduleName != 'archunit-junit'
+ def isUnwantedDependency = it.moduleName != 'archunit-junit'
isUnwantedDependency || isApi
})
}
diff --git a/archunit-maven-test/build.gradle b/archunit-maven-test/build.gradle
index ca74c13ce0..b041c16555 100644
--- a/archunit-maven-test/build.gradle
+++ b/archunit-maven-test/build.gradle
@@ -125,8 +125,9 @@ def addMavenTest = { IntegrationTestConfig config ->
.replace('#{javaVersion}', "${config.javaVersion}")
.replace('#{additionalDependencies}', config.additionalDependencies ?: '')
.replace('#{surefireExampleConfiguration}', config.surefireExampleConfiguration)
- .replaceAll(/#\{dependency.([^}:]+):?([^}]*)}/) { all, dependencyReference, scope ->
- def targetDependency = dependency[dependencyReference]
+ .replaceAll(/#\{(libs|exampleLibs).([^}:]+):?([^}]*)}/) { all, catalog, dependencyReference, scope ->
+ def versionCatalog = versionCatalogs.named(catalog)
+ def targetDependency = versionCatalog.findLibrary(dependencyReference).get().get()
def scopePart = scope ? "\n ${scope}" : ''
"""
|
@@ -212,7 +213,7 @@ List integrationTestConfigs = [
)
]
-def vintageEngine = dependency.junit5VintageEngine
+def vintageEngine = libs.junit5VintageEngine.get()
integrationTestConfigs << new IntegrationTestConfig(
javaVersion: integrationTestJavaVersion,
testType: TestType.JUNIT5,
diff --git a/archunit-maven-test/pom.xml.template b/archunit-maven-test/pom.xml.template
index edf40686ed..8bdf2fd067 100644
--- a/archunit-maven-test/pom.xml.template
+++ b/archunit-maven-test/pom.xml.template
@@ -49,18 +49,18 @@
#{archunit.version}
test
- #{dependency.javaxAnnotationApi}
- #{dependency.geronimoEjb}
- #{dependency.geronimoJpa}
- #{dependency.jodaTime}
- #{dependency.springBeans}
- #{dependency.jakartaInject}
- #{dependency.jakartaAnnotations}
- #{dependency.guice}
- #{dependency.junit4:test}
- #{dependency.junit_dataprovider:test}
- #{dependency.assertj:test}
- #{dependency.joox:test}
+ #{exampleLibs.javaxAnnotationApi}
+ #{exampleLibs.geronimoEjb}
+ #{exampleLibs.geronimoJpa}
+ #{exampleLibs.jodaTime}
+ #{exampleLibs.springBeans}
+ #{exampleLibs.jakartaInject}
+ #{exampleLibs.jakartaAnnotations}
+ #{exampleLibs.guice}
+ #{libs.junit4:test}
+ #{libs.junitDataprovider:test}
+ #{libs.assertj:test}
+ #{exampleLibs.joox:test}
#{additionalDependencies}
diff --git a/archunit/build.gradle b/archunit/build.gradle
index 16a18ff1d0..0eda647d7a 100644
--- a/archunit/build.gradle
+++ b/archunit/build.gradle
@@ -5,17 +5,17 @@ plugins {
ext.moduleName = 'com.tngtech.archunit'
dependencies {
- api dependency.slf4j
- implementation dependency.asm
+ api libs.slf4j
+ implementation libs.asm
dependency.addGuava { dependencyNotation, config -> implementation(dependencyNotation, config) }
- testImplementation dependency.log4j_api
- testImplementation dependency.log4j_core
- testImplementation dependency.junit4
- testImplementation dependency.junit_dataprovider
- testImplementation dependency.mockito
- testImplementation dependency.assertj
- testImplementation(dependency.assertj_guava) {
+ testImplementation libs.log4j.api
+ testImplementation libs.log4j.core
+ testImplementation libs.junit4
+ testImplementation libs.junitDataprovider
+ testImplementation libs.mockito
+ testImplementation libs.assertj
+ testImplementation(libs.assertj.guava) {
exclude module: 'assertj-core'
exclude module: 'guava'
}
@@ -25,7 +25,7 @@ shadowJar {
exclude 'META-INF/**'
dependencies {
- exclude(dependency(dependency.slf4j))
+ exclude(dependency("${libs.slf4j.get()}"))
}
}
diff --git a/build-steps/release/archunit-examples-utils.gradle b/build-steps/release/archunit-examples-utils.gradle
index 6c8edc1d82..7eb3882f99 100644
--- a/build-steps/release/archunit-examples-utils.gradle
+++ b/build-steps/release/archunit-examples-utils.gradle
@@ -33,9 +33,9 @@ private void updateArchUnitExampleDependencies(File targetArchUnitExampleDir) {
def buildFile = new File(targetArchUnitExampleDir, 'build.gradle')
List