按顺序从包含的gradle构建中运行任务

时间:2017-12-01 17:30:27

标签: gradle

我有一个gradle复合构建项目,它从included build运行任务。我无法对包含的版本进行更改。

对于某项任务,我想首先清理包含的构建,然后构建它。即,我想做(松散地):

some-project:clean
some-project:build

其中some-project是包含的版本。我尝试通过设置依赖于这些外部任务的任务来做到这一点:

task cleanIncludedBuild {
    dependsOn gradle.includedBuild("some-project").task("clean")
}

task buildIncludedBuild {
    dependsOn cleanIncludedBuild
    dependsOn gradle.includedBuild("some-project").task("build")
}

但是,由于依赖项之间没有排序,因此该执行顺序在声明时有效:

some-project:build
some-project:clean
cleanIncludedBuild
buildIncludedBuild

虽然这当然不是我追求的目标。

我想做像

这样的事情
gradle.includedBuild("some-project").task("build").dependsOn cleanIncludedBuild

但上面的task()返回的值是IncludedBuildTaskReference类型,它基本上是对底层任务的只读引用,并且不允许添加依赖项。

0 个答案:

没有答案