Grails中的外化BuildConfig

时间:2013-02-01 14:01:28

标签: grails configuration config buildconfig

我们可以通过指定作为配置脚本的类来为Config.groovy加载不同的配置文件。 Externalized Configuration

grails.config.locations = [com.my.app.MyConfig]

是否可以为BuildConfig.groovy执行类似操作?

我想将CodeNarc配置放在另一个配置文件中。由于它使用Groovy的ConfigSlurper语法,我尝试合并配置对象,但不起作用。

def config = new ConfigSlurper().parse(..)    
this.merge(config)

任何不同的技巧?

1 个答案:

答案 0 :(得分:1)

你不需要这样。

Codenarc插件可让您在外部保留codenarc配置。看这里 http://grails.org/plugin/codenarc#Configuring The Codenarc Properties

此处包含我在BuildConfig.groovy

中设置的示例codenarc设置
codenarc.processTestUnit = false
codenarc.processTestIntegration = false
codenarc.processViews = true
codenarc.propertiesFile = 'grails-app/conf/codenarc.properties'
codenarc.ruleSetFiles = [
        "rulesets/basic.xml",
        "rulesets/braces.xml",
        "rulesets/grails.xml",
        "rulesets/groovyism.xml",
]

这里我们还定义了一个外部codenarc.properties文件,我们用它来打开/关闭每个包含的规则集中的部分规则。此codenarc.properties文件内容的示例包含在此处:

# some gsp's MUST have embedded CSS and/or embedded Javascript which requires the use of semicolons.
UnnecessarySemicolon.doNotApplyToFileNames = *.gsp
# we're not going to enforce these
UnnecessaryGString.enabled = false
UnnecessaryReturnKeyword.enabled = false

所以你可以避免像Tomas提到的那样用不想要的东西来污染你的BuildConfig。

希望这会有所帮助。

汤姆