Gradle 6依赖项具有严格的版本和因为关键字

时间:2019-11-16 01:33:28

标签: gradle groovy build.gradle dependency-management

问题

我目前正在使用Gradle 6.0进行实验,遇到了一个问题,我想将Cause语句与例如严格且被拒绝的版本。

我的构建脚本:

dependencies {
    testImplementation(group: 'org.junit.jupiter', name: 'junit-jupiter-api') {
        version {
            strictly '[5.0, 6.0]'
            prefer '5.5.2'
            reject '5.5.1' // for testing purpose only
        }
    }

    testRuntimeOnly(group: 'org.junit.jupiter', name: 'junit-jupiter-engine') {
        version {
            strictly '[5.0, 6.0]'
            prefer '5.5.2'
            reject '5.5.1' // for testing purpose only
        }
    }

    // Force Gradle to load the JUnit Platform Launcher from the module-path
    testRuntimeOnly(group: 'org.junit.platform', name: 'junit-platform-launcher') {
        version {
            strictly '[1.5, 2.0]'
            prefer '1.5.2'
        }
    }
}

到目前为止我已经尝试过的

我目前正在尝试在because声明的下方或上方添加version语句,并在其周围添加大括号,但这些方法似乎都无法解决。

问题

是否可以将because语句添加到最后一个依赖项中,如果可以,如何? 知道我是否可以将testRuntimeOnly合并为一个,这也将很有趣。

1 个答案:

答案 0 :(得分:2)

使用Kotlin DSL,您可以轻松准确地看到可用的。因此,将您的样本转换为使用Kotlin DSL,我们有

kpi_detail
  

是否可以将since语句添加到最后一个依赖项,如果可以,怎么办?

是的。由于我现在正在使用Kotlin DSL,因此我可以轻松调出智能感知:

intelli-sense

您可以在此处看到dependencies { testImplementation("org.junit.jupiter", "junit-jupiter-api") { version { strictly("[5.0, 6.0]") prefer("5.5.2") reject("5.5.1") // for testing purpose only } } testRuntimeOnly("org.junit.jupiter", "junit-jupiter-engine") { version { strictly("[5.0, 6.0]") prefer("5.5.2") reject("5.5.1") // for testing purpose only } } // Force Gradle to load the JUnit Platform Launcher from the module-path testRuntimeOnly("org.junit.platform", "junit-platform-launcher") { version { strictly("[1.5, 2.0]") prefer("1.5.2") } } } because块的外部中可用,所以:

version