2015-10-13 50 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

回答

相關問題