【问题标题】:Getting settings object from the buildscript从 buildscript 获取设置对象
【发布时间】:2014-10-25 19:24:59
【问题描述】:

我正在尝试从根项目的构建脚本访问设置对象。

原因是我想在 settings.gradle 文件中定义一个列表,这将是一个子项目列表,如下:

settings.gradle

projectNames = ['prjA', 'prjB']

想做这样的事情:

build.gradle(根项目)

projectNames = settings.projectNames
// Use projectName in tasks

然后在 build.gradle 中访问它以执行各种任务,例如将这些名称解析为 URL 以 git 克隆它们。但是我似乎无法找到一种方法来声明一些在这两个脚本之间可见的任意 groovy 对象。请注意,我可能希望该列表相关但不等于项目名称。我猜这个问题归结为在这两个文件之间共享 POGO 并访问设置对象。

我对 Gradle 还是很陌生。

【问题讨论】:

    标签: gradle settings project


    【解决方案1】:

    没有办法从构建脚本中获取settings 对象。但是,两个脚本共享一个 gradle 对象,您可以使用它在设置脚本中设置一个额外的属性(例如 gradle.ext.foo = "bar"),并在构建脚本中读取它(例如 println gradle.foo)。

    【讨论】:

      【解决方案2】:

      如果您需要在您的 build.gradle 文件中访问 Settings 实例 设置已加载并评估,您可以注册生命周期闭包或侦听器。 Gradle#settingsEvaluated(Closure) 方法是一个很好的起点 提供 Settings 对象作为闭包参数。

      【讨论】:

        猜你喜欢
        • 2022-01-17
        • 1970-01-01
        • 2010-10-20
        • 2011-12-09
        • 2017-07-03
        • 1970-01-01
        • 1970-01-01
        • 2021-08-15
        • 2012-10-12
        相关资源
        最近更新 更多