2015-10-13 191 views
0

我正在研究其构建逻辑在gradle中定义并且具有build.gradle文件的项目。现在,我们想用groovy的config Sluper来管理项目的属性。而且,我已将config.groovy文件放在包含项目所有Helper类的文件夹中。该conf.groovy文件的内容低于:ConfigSlurper的groovy文件如何调用build.gradle中定义的方法?

categories { 
includeCategories = defaultIncludeCategories() 
excludeCategories = defaultExcludeCategories() 
} 

String defaultIncludeCategories() { 
    def include = 'default' 
    if(isAbcJob()) { 
     include = 'tier0' 
    } 
    logger.info "defaultIncludeCategories: $include" 
    include 
} 

现在,你可以看到有一个方法名isAbcJob(),我需要在配置文件中使用,但这种方法存在的build.gradle ,这是为物业管理调用conf.groovy文件的文件。

底线是conf.groovy脚本如何知道isAbcJob()方法在哪里?

请指教。

+0

你为什么这样做,而不是做从'适用于:'调用一个单独的gradle这个脚本? –

+0

ie:https://docs.gradle.org/current/userguide/userguide_single.html#sec%3aconfiguring_using_external_script –

+0

@tim_yates我是新来的Gradle所以请忍受我。我已经尝试了您的建议,我得到错误' isAbcjob()'未找到。而且,如果您建议将参与定义配置的所有方法移动到新的'other.gradle'文件中,那么我认为这会非常困难,因为有很多方法。此外,这些方法也参与定义构建逻辑。请咨询,如果您可以请详细解释为什么我不应该使用configSlurper,为什么我应该使用您提出的方法,那就太好了。 – rapport89

回答

相关问题