是否有用于下载testRuntime依赖项的Gradle任务?

是否有用于下载testRuntime依赖项的Gradle任务?,gradle,Gradle,是否有命令指示Gradle解析和下载所有testRuntime依赖项,但不运行测试 最好是在不编写自定义任务的情况下执行此操作(这样该命令就可以针对任何Gradle项目运行) 例如,如果我的build.gradle具有此依赖项: dependencies { // ... testRuntime "org.seleniumhq.selenium:selenium-htmlunit-driver:2.47.1" } 与selenium htmlunit驱动程序关联的JAR文件在我

是否有命令指示Gradle解析和下载所有
testRuntime
依赖项,但不运行测试

最好是在不编写自定义任务的情况下执行此操作(这样该命令就可以针对任何Gradle项目运行)

例如,如果我的
build.gradle
具有此依赖项:

dependencies {
    // ...
    testRuntime "org.seleniumhq.selenium:selenium-htmlunit-driver:2.47.1"
}

selenium htmlunit驱动程序关联的JAR文件在我运行
gradle test
之前不会下载,gradle test也会运行测试。我可以通过运行
gradle testClasses
下载所有其他依赖项,但不能下载
testRuntime
deps。

将以下内容放入名为
resolve.gradle

gradle.allprojects { project ->
    project.task('resolveTestRuntime') {
        doLast {
            project.configurations.testRuntime.resolve()
        }
    }
}
然后运行
resolve.gradle
,作为

将答案从修改为有效的Init脚本,我可以通过以下
resolve.gradle
实现这一点:

apply plugin:MyInitPlugin

class MyInitPlugin implements Plugin<Gradle> {
  @Override
  void apply(Gradle gradle) {
    gradle.allprojects{ project ->
      project.task('resolveTestRuntime') {
        doLast {
          project.configurations.testRuntime.resolve()
        }
      }
    }
  }
}

只需运行
gradle测试
?的潜在重复项。注意,2014年有一条评论说,没有办法提前下载依赖项。我认为这不是一个有效的初始化脚本。似乎不允许执行
任务
。我错了吗?对。。。初始化脚本在作用域中有一个实例,而build.gradle在作用域中有一个实例。您不需要插件。。。您只需使用
gradle.allprojects{…}
代码段即可。如果你想用这个编辑你的答案,我会接受的。
apply plugin:MyInitPlugin

class MyInitPlugin implements Plugin<Gradle> {
  @Override
  void apply(Gradle gradle) {
    gradle.allprojects{ project ->
      project.task('resolveTestRuntime') {
        doLast {
          project.configurations.testRuntime.resolve()
        }
      }
    }
  }
}
gradlew --init-script resolve.gradle resolveTestRuntime