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

时间:2017-01-03 23:27:40

标签: gradle

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

最好,我想在不编写自定义任务的情况下执行此操作(以便可以针对任何 Gradle项目运行该命令)。

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

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

在运行selenium-htmlunit-driver运行测试之前,不会下载与gradle test关联的JAR文件。我可以通过运行gradle testClasses而不是testRuntime代码来下载所有其他依赖项。

2 个答案:

答案 0 :(得分:3)

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

的文件中
gradle.allprojects { project ->
    project.task('resolveTestRuntime') {
        doLast {
            project.configurations.testRuntime.resolve()
        }
    }
}

然后将resolve.gradle作为init script

运行
gradlew --init-script resolve.gradle resolveTestRuntime

答案 1 :(得分:0)

Lance Java的答案修改为有效的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()
        }
      }
    }
  }
}

然后跑步:

gradlew --init-script resolve.gradle resolveTestRuntime