如何避免Gradle将Spock版本降级?

时间:2018-09-13 11:45:39

标签: gradle groovy version spock downgrade

我在项目中具有spock-spring依赖性。

//spock.gradle
dependencies {
    testCompile( "org.spockframework:spock-spring:${spockVersion}" ) {
        exclude module: 'groovy-all'
        exclude module: 'junit-dep'
    }
}
//build.gradle
...
apply from: "$rootDir/gradle/spock.gradle"
...

spockVersion1.1-groovy-2.4,groovy的版本是2.4.15(其中2.4.9是相同的结果)。但是当我运行./gradlew dependencies时,我看到的是:

org.spockframework:spock-spring:1.1-groovy-2.4
|    \--- org.spockframework:spock-core:1.1-groovy-2.4 -> 1.0-groovy-2.4

我没有任何其他Spock依赖项,但是它已降级为较低版本。 我可以用

解决
testImplementation "org.spockframework:spock-core:${spockVersion}"

,然后一切正常。或者,我可以排除spock-core依赖性并添加显式依赖性。但我想避免使用明确的implementation并查找原因,为什么存在降级。

见解./gradlew dependencyInsight --dependency spock-core --configuration testCompile的输出

 org.spockframework:spock-core:1.0-groovy-2.4 (selected by rule)
       variant "runtime" [
          org.gradle.status = release (not requested)
       ]

selected by rule是什么意思?

您能帮忙吗?有什么建议吗??会非常感激的!

0 个答案:

没有答案