Skip to content

Commit c42e852

Browse files
committed
Move SamplesCompletenessCheck task functionality to JarOverlapTest
1 parent b968d0f commit c42e852

File tree

4 files changed

+28
-68
lines changed

4 files changed

+28
-68
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
plugins {
22
id("groovy")
33
id("gradlexbuild.lifecycle")
4-
id("gradlexbuild.jvm-dependency-conflict-detection-documentation")
4+
id("gradlexbuild.asciidoctor-conventions")
55
id("org.gradlex.internal.plugin-publish-conventions") version "0.6"
66
}
77

gradle/plugins/documentation/src/main/kotlin/gradlexbuild.jvm-dependency-conflict-detection-documentation.gradle.kts

Lines changed: 0 additions & 17 deletions
This file was deleted.

gradle/plugins/documentation/src/main/kotlin/gradlexbuild/jvm/dependency/conflict/documentation/SamplesCompletenessCheck.kt

Lines changed: 0 additions & 42 deletions
This file was deleted.

src/test/groovy/org/gradlex/jvm/dependency/conflict/test/JarOverlapTest.groovy

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import static org.gradlex.jvm.dependency.conflict.detection.rules.CapabilityDefi
1313
*/
1414
class JarOverlapTest extends Specification {
1515
private static final String SAMPLE_ALL_BUILD_FILE = "samples/sample-all/build.gradle.kts"
16+
private static final String SAMPLE_ALL_DEACTIVATED_BUILD_FILE = "samples/sample-all-deactivated/build.gradle.kts"
1617

1718
// Some Jars do not have overlapping classes, but contain conflicting implementations of the same service.
1819
static def expectedToOverlap = values() - [
@@ -26,10 +27,11 @@ class JarOverlapTest extends Specification {
2627
SLF4J_VS_LOG4J2_FOR_JUL // register conflicting handler implementations
2728
]
2829

29-
def latestVersions = []
30+
def allSample = parse(SAMPLE_ALL_BUILD_FILE)
31+
def allDeactivatedSample = parse(SAMPLE_ALL_DEACTIVATED_BUILD_FILE)
3032

31-
void setup() {
32-
latestVersions = new File(SAMPLE_ALL_BUILD_FILE)
33+
private static List<String> parse(String buildFilr) {
34+
new File(buildFilr)
3335
.readLines()
3436
.findAll { it.contains("implementation(") }
3537
.collect { it.trim() }
@@ -52,19 +54,36 @@ class JarOverlapTest extends Specification {
5254
it.metadataSources.ignoreGradleMetadataRedirection()
5355
}
5456

57+
def missingInAll = []
58+
def missingInAllDeactivated = []
59+
5560
def modules = definition.modules.collect { module ->
5661
def specific = specificVersions.find { it.startsWith(module + ":") }
62+
def moduleInAllSample = allSample.find { it.startsWith(module + ":") }
63+
def moduleInAllDeactivatedSample = allDeactivatedSample.find { it.startsWith(module + ":") }
64+
if (!moduleInAllSample) {
65+
missingInAll.add(module)
66+
}
67+
if (!moduleInAllDeactivatedSample) {
68+
missingInAllDeactivated.add(module)
69+
}
70+
5771
if (specific) {
5872
dependencies.create(specific)
73+
} else if (moduleInAllSample !=null ) {
74+
dependencies.create(moduleInAllSample)
5975
} else {
60-
def moduleForSample = latestVersions.find { it.startsWith(module + ":") }
61-
if (!moduleForSample) {
62-
throw new RuntimeException("Missing entry for " + module + " in " + SAMPLE_ALL_BUILD_FILE)
63-
}
64-
dependencies.create(moduleForSample)
76+
null
6577
}
6678
}
6779

80+
if (!missingInAll.isEmpty() || !missingInAllDeactivated.isEmpty()) {
81+
throw new RuntimeException(
82+
"Missing in $SAMPLE_ALL_BUILD_FILE:\n" + missingInAll.collect { "implementation(\"$it:+\")\n" }.join("") +
83+
"Missing in $SAMPLE_ALL_DEACTIVATED_BUILD_FILE:\n" + missingInAllDeactivated.collect { "implementation(\"$it:+\")\n" }.join("")
84+
)
85+
}
86+
6887
def conf = project.getConfigurations().detachedConfiguration(*modules)
6988
conf.transitive = false
7089

0 commit comments

Comments
 (0)