【问题标题】:How to refer to the values to be declared in build.gradle如何引用要在 build.gradle 中声明的值
【发布时间】:2012-06-18 19:43:26
【问题描述】:

我对这个 gradle、teamcity 和 groovy 完全陌生。 我正在尝试编写一个插件,它将从 svninfo 中获取值。如果开发人员想要覆盖该值(在 build.gradle 中),他们可以覆盖类似这样的内容。

globalVariables{
        virtualRepo = "virtualRepo"
        baseName = "baseName"
        version = "version"
        group = "group"     

}

这里我提供了名为 globalvariable 的扩展。

现在,要根据 build.gradle 中的值生成 shd 的 jar 的名称..
如何从插件中的 build.gradle 中获取值,以便为 jar 命名???

【问题讨论】:

标签: groovy teamcity gradle


【解决方案1】:

不确定我是否理解这个问题。它是安装扩展对象的插件,它是需要对它做一些事情的插件。

请注意,插件必须推迟从扩展对象读取信息,因为后者可能仅在插件运行后 被填充。 (当在构建脚本中调用apply plugin: 时,插件会运行。globalVariables {} 可能会在此之后出现。)有几种延迟配置的技术。在您的特定情况下,如果我想使用扩展对象提供的信息来配置 Jar 任务,我可能会使用 jar.doFirst { ... }gradle.projectsEvaluated { jar. ... }

在开始编写插件之前,请务必阅读 Gradle 用户指南中的 Writing Custom Plugins 章节。在 Stack Overflow 或 http://forums.gradle.org 上搜索应该会找到有关延迟配置技术的更多信息。另一个有价值的信息来源是 Gradle 代码库(例如代码质量子项目中的插件)。

【讨论】:

  • 嗨..感谢您的回答..我有一个插件必须使用这些值来命名 jar...并且 build.gradle 文件必须初始化这些变量...怎么做?
猜你喜欢
  • 1970-01-01
  • 2011-12-20
  • 2018-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多