gpt4 book ai didi

Gradle:在某个任务中顺序执行任务

转载 作者:行者123 更新时间:2023-12-03 03:58:37 24 4
gpt4 key购买 nike

我有一个库,其中包含 3 个 lib 模块和 1 个示例模块。在部署任务之前,我想执行一些其他任务。在命令行中它看起来像这样:./gradlew -x:example:clean -x:example:check -x:example:uploadArchives clean check :androidLib:assembleRelease uploadArchives .

我想编写 gradle 任务来顺序执行除示例模块之外的所有模块的所有任务。我能做到的:./gradlew deployAll .我该怎么做?

我尝试这样做:

task deployAll {
doLast {
subprojects {
if(it.plugins.withType(com.android.build.gradle.AppPlugin)) return
it.tasks.getByName('clean').execute()
it.tasks.getByName('check').execute()
...
}
}
}

但是 execute()已弃用,它仅执行第一个任务并忽略任何任务。

最佳答案

您可以使用 dependsOn在您的 gradle 任务中,以确保您的任务以正确的顺序运行

task task1{
dependsOn task2
//Task one code
}

task2{
dependsOn task3
//task 3 code
}

task3{
//task3 code
}

所以在这个例子中,如果你调用task1,首先会执行task 3,然后是task2,最后是task 1,但你只需要调用task1。

关于Gradle:在某个任务中顺序执行任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51391974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com