gpt4 book ai didi

gradle 'build' 任务困惑

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

嗨,我有多项目 gradle 设置

-root_project
|-sub_project1
|-sub_project2
|-sub_project3
一切都很好,但有一件事让我发疯。在我的构建脚本中:
defaultTasks 'build' <- this works just fine

task buildroom (description: 'This task is invoked by build room script, invokes default task plus publishes artifacts') {
// dependsOn('build') <-- this doesn't work

// alternative
dependsOn(":sub_project1:build")
dependsOn(":sub_project2:build")
当我从命令行“gradlew”调用时 <- 默认任务被执行
当我从命令行调用“gradlew 任务”<-“所有可从根项目运行的任务”下的任务时,我看到“构建”
但是当我尝试添加dependsOn('build')、dependsOn(':build') 或dependsOn(':root:build') 时,它告诉我

What went wrong: Execution failed for task ':tasks'.

Could not determine the dependencies of task ':buildroom'.


'base' 插件添加了 'assemble' 和 'clean' 任务但不构建...
有小费吗?

最佳答案

build任务由 java-base 声明插入。您的根项目很可能(直接或间接)不适用 java-base因此没有 build任务。这就是为什么dependsOn("build") ,它添加了对名为 build 的任务的任务依赖关系在同一个项目中,最终导致错误。 defaultTasks不同之处在于:

  • 它只接受任务名称(而 dependsOn 也接受任务路径和 Task 对象)。
  • 它的任务名称被解析为任务,就好像任务名称已在命令行中输入一样。换句话说,在所有项目中搜索具有给定名称的任务,并返回匹配任务集。
  • 关于gradle 'build' 任务困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15535258/

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