我正在研究其構建邏輯在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()方法在哪裏?
請指教。
你爲什麼這樣做,而不是做從'適用於:'調用一個單獨的gradle這個腳本? –
ie:https://docs.gradle.org/current/userguide/userguide_single.html#sec%3aconfiguring_using_external_script –
@tim_yates我是新來的Gradle所以請忍受我。我已經嘗試了您的建議,我得到錯誤' isAbcjob()'未找到。而且,如果您建議將參與定義配置的所有方法移動到新的'other.gradle'文件中,那麼我認爲這會非常困難,因爲有很多方法。此外,這些方法也參與定義構建邏輯。請諮詢,如果您可以請詳細解釋爲什麼我不應該使用configSlurper,爲什麼我應該使用您提出的方法,那就太好了。 – rapport89