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閉包一樣。

配置和依賴項

核心uiutil 子專案也可以有自己的build.gradle 檔案,如果它們有根專案通用配置尚未應用的特定需求。

例如,ui 專案通常依賴於核心專案。因此,ui 專案需要它自己的build.gradle 檔案來指定此依賴項。

dependencies {
   compile project(':core')
   compile 'log4j:log4j:1.2.17'
}

專案依賴項使用 project 方法指定。

廣告
© . All rights reserved.