如何引用build.gradle中要声明的值

时间:2012-06-18 10:49:27

标签: groovy teamcity gradle

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

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

}

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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