Gradle - 多專案構建
Gradle 可以輕鬆處理大小專案。小型專案只有一個構建檔案和一個原始碼樹。一個被拆分成更小、相互依賴的模組的專案很容易理解和掌握。Gradle 完美地支援這種多專案構建的場景。
多專案構建的結構
此類構建具有各種形狀和大小,但它們確實有一些共同特徵,如下所示:
專案根目錄或主目錄中的settings.gradle 檔案。
專案根目錄或主目錄中的build.gradle 檔案。
具有自身*.gradle 構建檔案的子目錄(某些多專案構建可能會省略子專案構建指令碼)。
要列出構建檔案中的所有專案,可以使用以下命令。
C:\> gradle -q projects
輸出
您將收到以下輸出:
------------------------------------------------------------ Root project ------------------------------------------------------------ Root project 'projectReports' +--- Project ':api' - The shared API for the application \--- Project ':webapp' - The Web application implementation To see a list of the tasks of a project, run gradle <project-path>:tasks For example, try running gradle :api:tasks
該報告顯示每個專案的描述(如果已指定)。您可以使用以下命令指定描述。將其貼上到build.gradle 檔案中。
description = 'The shared API for the application'
通用構建配置
在根專案的build.gradle 檔案中,可以將通用配置應用於所有專案或僅應用於子專案。
allprojects {
group = 'com.example.gradle'
version = '0.1.0'
}
subprojects {
apply plugin: 'java'
apply plugin: 'eclipse'
}
這為所有專案指定了一個通用的com.example.gradle 組和0.1.0 版本。subprojects閉包為所有子專案應用通用配置,但不應用於根專案,就像allprojects閉包一樣。
配置和依賴項
核心ui 和util 子專案也可以有自己的build.gradle 檔案,如果它們有根專案通用配置尚未應用的特定需求。
例如,ui 專案通常依賴於核心專案。因此,ui 專案需要它自己的build.gradle 檔案來指定此依賴項。
dependencies {
compile project(':core')
compile 'log4j:log4j:1.2.17'
}
專案依賴項使用 project 方法指定。
廣告