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