0
我們公司有一個Gradle腳本插件,其中包含許多任務。例如,它包括從this answer的Jacoco afterEvaluate
塊:如何使用Gradle腳本插件創建我自己的配置塊?
def pathsToExclude = ["**/*Example*"]
jacocoTestReport {
afterEvaluate {
classDirectories = files(classDirectories.files.collect {
fileTree(dir: it, exclude: pathsToExclude)
})
}
}
我們想採取pathsToExclude
變量,定義,在我們build.gradle
文件,並有邏輯的腳本插件其餘的(姑且稱之爲company-script-plugin.gradle
。例如:
apply from: http://example.com/company-script-plugin.gradle
companyConfiguration {
pathsToExclude = ["**/*Example*"]
}
我們最初的想法是在生成腳本中添加任務,這樣我們就可以得到一個companyConfiguration
task companyConfiguration {
ext.pathsToExclude = []
}
但是,我們認爲這是一個拙劣的解決方法,因爲運行該任務不會執行任何操作。什麼是創建我自己的配置塊的正確方法?
我們希望它儘可能簡單,如果可能的話,做一個腳本插件(而不是二進制插件)。
我不清楚這是如何與腳本插件一起使用的。我試着從':company-script-plugin.gradle''後面加'apply plugin:CompanyPlugin'申請,但得到「無法獲得未知屬性'CompanyPlugin'」。我誤解了你的建議嗎? – Thunderforge
@Thunderforge,只需將'CompanyPlugin'添加到'company-script-plugin.gradle'文件中,並保留'apply from:...'塊。 – Opal