到目前為止我們自定義了一個build.gradle和settings.gradle文件,隨著你添加越來越多的子項(xiàng)目和任務(wù)到build.gradle中,代碼的維護(hù)性將會下降。通過給每個子項(xiàng)目建立一個單獨(dú)的build.gradle文件可以解決這個問題。
接下來我們在每個子項(xiàng)目的目錄下創(chuàng)建一個build.gradle文件,目錄如下:
http://wiki.jikexueyuan.com/project/gradleIn-action/images/dag46.png" alt="" />
現(xiàn)在你可以把構(gòu)建邏輯從原先的build腳本中拆分開來放到合適的位置。
移除了那些與特定子項(xiàng)目相關(guān)的代碼后,根項(xiàng)目的內(nèi)容變得非常簡單,只需要保留allprojects和subprojects配置塊,如下所示:
allprojects {
group = 'com.manning.gia'
version = '0.1'
}
subprojects {
apply plugin: 'java'
}
接下來你只需要把與特定項(xiàng)目相關(guān)的構(gòu)建代碼移到相應(yīng)的build.gradle文件里就可以了,如下所示:
repository子項(xiàng)目的構(gòu)建代碼:
dependencies {
compile project(':model')
}
web子項(xiàng)目的構(gòu)建代碼:
apply plugin: 'war'
apply plugin: 'jetty'
repositories {
mavenCentral()
}
dependencies {
compile project(':repository')
providedCompile 'javax.servlet:servlet-api:2.5'
runtime 'javax.servlet:jstl:1.1.2'
}
運(yùn)行這個多項(xiàng)目構(gòu)建和之前單獨(dú)的一個build腳本的結(jié)果完全一樣,當(dāng)時你該上了構(gòu)建代碼的可讀性和維護(hù)性。