Skip to content

Commit 31cb7b7

Browse files
committed
Fail fast when pinned version is missing for latest.release lookups
Previously lookupPinnedVersion silently returned null for missing latest.release entries, causing dependencies to fall back to live Maven Central resolution and silently breaking reproducibility. The + range case already threw; make latest.release behave the same.
1 parent 52a2a7a commit 31cb7b7

1 file changed

Lines changed: 9 additions & 18 deletions

File tree

conventions/src/main/kotlin/io.opentelemetry.instrumentation.base.gradle.kts

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -54,27 +54,18 @@ fun getPinnedVersions(): Map<String, String> {
5454
fun lookupPinnedVersion(group: String?, name: String, version: String?): String? {
5555
if (!pinLatestDeps || group == null) return null
5656
val pinned = getPinnedVersions()
57-
return if (version == "latest.release") {
58-
pinned["$group:$name#+"]
57+
val key = if (version == "latest.release") {
58+
"$group:$name#+"
5959
} else if (version != null && version.contains("+")) {
60-
val rangeKey = "$group:$name#$version"
61-
val rangeVersion = pinned[rangeKey]
62-
if (rangeVersion != null) {
63-
rangeVersion
64-
} else {
65-
// Range-specific key is missing from the pinned versions JSON.
66-
// Do NOT fall back to the base key because it could be a different major version
67-
// (e.g. base key resolves to 4.x but the range "2.+" expects 2.x).
68-
// Run resolveLatestDepVersions to populate the missing key.
69-
throw GradleException(
70-
"Pinned version missing for range key \"$rangeKey\". " +
71-
"Run ./gradlew resolveLatestDepVersions -PtestLatestDeps=true -PresolveLatestDeps=true " +
72-
"to regenerate .github/config/latest-dep-versions.json"
73-
)
74-
}
60+
"$group:$name#$version"
7561
} else {
76-
null
62+
return null
7763
}
64+
return pinned[key] ?: throw GradleException(
65+
"Pinned version missing for key \"$key\". " +
66+
"Run ./gradlew resolveLatestDepVersions -PtestLatestDeps=true -PresolveLatestDeps=true " +
67+
"to regenerate .github/config/latest-dep-versions.json"
68+
)
7869
}
7970

8071
@CacheableRule

0 commit comments

Comments
 (0)