首页 文章

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

提问于
浏览
2

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

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

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

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

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

2 回答

  • 0

    将以下内容放在名为 resolve.gradle 的文件中

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

    然后运行 resolve.gradle 作为init script

    gradlew --init-script resolve.gradle resolveTestRuntime
    
  • 3

    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
    

相关问题