gradle - 根据父项目的任务,gradle 子项目任务的语法是什么?

标签 gradle build dependencies

我需要一些关于 Gradle 构建文件的帮助。我有一些子项目依赖于顶级文件夹中的任务。我只需要带一个 test任务并将其拆分为两个单独的测试任务。目前文件系统结构如下(tab 表示目录中的文件):

top-level-project-folder
    A.gradle
    B.gradle
    C-subproject-folder
        C.gradle
    D-subproject-folder
        D.gradle

A.gradle 的内容(重构前):
subprojects {
    tasks.test.dependsOn {
        bTask
    }
}
apply from: 'B.gradle'

C.gradle 的内容(重构前):
test {
    ...
}

重构之后,C.gradle 需要看起来像:
test {
    ...
}

task runDifferentTests(type : Test) {
    ...
}

棘手的部分是 C.gradletest当前任务依赖于 bTask .然而,重构之后,C.gradletest任务不应该依赖于 bTask ,但新runDifferentTests任务应该取决于 bTask . (目前, D.gradletest 任务被标记为依赖于 bTask ,但它实际上并不依赖于它——我想删除该依赖。两个子项目中唯一依赖于的任务bTask 是新的 runDifferentTests 任务。)

我尝试了一些不同的东西,但似乎找不到可行的解决方案。

最佳答案

只需删除 subprojects 中的声明并直接在子项目中声明您的依赖项,在 C.gradle 中:

runDifferentTests.dependsOn rootProject.bTask

关于gradle - 根据父项目的任务,gradle 子项目任务的语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40666307/

相关文章:

python - LLVM clang 的 CMake 构建失败并显示 "Unexpected failure executing llvm-build: Traceback (...) import llvmbuild"

c++ - 为内存和外部依赖管理重新组织 C++ 代码

python - pip 需求文件中的可选依赖项

sql - 查询依赖于另外两个表和一列

gradle - 哪个文件 gradle.properties 的优先级更高?

android - 向项目添加依赖项时出错

gradle - 基本Gradle复制任务不起作用(直到直接调用)

java - 如何从 build.properties 获取一个值到 persistence.xml?

c++ - 使用bazel从源代码构建 tensorflow 服务遇到错误: C++ compilation of rule '@org_tensorflow//…' failed (Exit 4)

android - Gradle同步在Android Studio 1.4.1中失败