Skip to content

Commit 42d3beb

Browse files
committed
Resolving via the GEM resolver adds a reason for Gradle 4.5+ (#325)
1 parent 220982a commit 42d3beb

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

core-plugin/src/main/groovy/com/github/jrubygradle/internal/gems/GemVersionResolver.groovy

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,15 @@ package com.github.jrubygradle.internal.gems
2525

2626
import com.github.jrubygradle.api.gems.GemVersion
2727
import com.github.jrubygradle.api.gems.GemGroups
28+
import groovy.transform.CompileDynamic
2829
import groovy.transform.PackageScope
2930
import org.gradle.api.Action
3031
import org.gradle.api.GradleException
3132
import org.gradle.api.artifacts.Configuration
3233
import org.gradle.api.artifacts.DependencyResolveDetails
3334
import org.gradle.api.logging.Logger
3435
import org.gradle.api.logging.Logging
36+
import org.gradle.util.GradleVersion
3537

3638
import static com.github.jrubygradle.api.gems.GemVersion.gemVersionFromGradleIvyRequirement
3739

@@ -81,6 +83,8 @@ class GemVersionResolver {
8183
logger.debug("${configuration} resolved ${next}")
8284

8385
details.useVersion(next.toString())
86+
withReason(details,"Selected by GEM Version Resolver")
87+
8488
} else {
8589
GemVersion next = gemVersionFromGradleIvyRequirement(details.requested.version)
8690
versions[details.requested.name] = next
@@ -113,9 +117,17 @@ class GemVersionResolver {
113117
)
114118
}
115119

120+
@CompileDynamic
121+
void withReason(DependencyResolveDetails drd, String reason) {
122+
if(HAS_BECAUSE_PROPERTY) {
123+
drd.because(reason)
124+
}
125+
}
126+
116127
@PackageScope
117128
static final GemVersionResolver NULL_RESOLVER = new GemVersionResolver()
118129

130+
private static final HAS_BECAUSE_PROPERTY = GradleVersion.current() >= GradleVersion.version('4.5')
119131
private static final String DBG_SEPARATOR = ' ------------------------'
120132
private final Map versions = [:]
121133
private final Configuration configuration

0 commit comments

Comments
 (0)