gpt4 book ai didi

groovy - 在gradle中获取任务的项目名称

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

我有一个多项目构建。子项目是树状结构(不是平面)。
在root build.gradle文件中,我有一个在编译阶段执行一些常规操作的方法。

我希望每个子项目都有单独的目标目录。因此,当我编译整个项目时,每个子项目都有自己的工件。
我上面提到的方法可以进行编译,因此它需要知道要编译哪个项目。

如果我使用“gradle:subproject1:subsubproject1:compile”命令,则project.name仍包含根项目名称。但是我需要在运行时知道调用方法的任务项目。

问题是:

  • 单独为子项目设置目标完全是个好主意吗?
  • 如何理解该方法中要求方法的任务项目?
  • 最佳答案

    如果任务是在子项目中定义的,那么您可以简单地使用project.name来获取在其下运行任务的项目的名称。
    您可以尝试一下,例如,通过将以下代码添加到位于根项目上的build.gradle中:

    allprojects {
    task printProjName << {
    println ">> " + project.name
    }
    }

    然后,执行printProjName任务将产生类似于以下内容的输出:
    :printProjName
    >> Gradle
    :projA:printProjName
    >> projA
    :projB:printProjName
    >> projB
    :projA:projA1:printProjName
    >> projA1
    :projA:projA2:printProjName
    >> projA2

    关于groovy - 在gradle中获取任务的项目名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29368201/

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