![](/img/trans.png)
[英]Is there Gradle "dependencies " task for buildScript dependencies?
[英]Dependencies of dependencies in Gradle
我正在學習Gradle,正在嘗試尋找最佳實踐。
我將描述的項目已成功構建。 您可以在GitHub上進行克隆,這是一個eclipse / java項目: https : //github.com/pauloleitemoreira/GradleTests.git
假設我有一個MainProject,其中某些文件模塊依賴項不屬於MainProject。
項目結構
x-MainProject
| |
| x-mainModule
|
x-LibProject
| |
| x-libModule
|
x-BaseLibProject
|
x-baseLibModule
MainProject / setting.gradle文件:
include ':mainModule'
include ':LibProject', ':LibProject:libModule'
project(':LibProject').projectDir = new File(settingsDir, '../LibProject')
project(':LibProject:libModule').projectDir = new File(settingsDir, '../LibProject/libModule')
/*???*/include ':BaseLibProject', ':BaseLibProject:baseLibModule'
/*???*/project(':BaseLibProject').projectDir = new File(settingsDir, '../BaseLibProject')
/*???*/project(':BaseLibProject:baseLibModule').projectDir = new File(settingsDir, '../BaseLibProject/baseLibModule')
LibProject / setting.gradle文件:
include ':libModule'
include ':BaseLibProject', ':BaseLibProject:baseLibModule'
project(':BaseLibProject').projectDir = new File(settingsDir, '../BaseLibProject')
project(':BaseLibProject:baseLibModule').projectDir = new File(settingsDir, '../BaseLibProject/baseLibModule')
BaseLibProject / setting.gradle文件:
include 'baseLibModule'
我注意到在Build時僅執行MainProject / setting.gradle文件。 當我構建MainProject時,不會執行其他LibProject / setting.gradle和BaseLibProject / setting.gradle。
我用/*???*/
標記了聽起來很奇怪的行,因為我想libModule必須知道您的依賴項在哪里。 以我的理解,這些行不是必需的,並且在構建LibModule時,gradle可以包括BaseLibModule。 但是不幸的是,如果我刪除這些行,該項目將無法構建。
我在想是否還有其他地方可以放置project(':...').projectDir = new File...
,以避免包含依賴性文件的依賴性?
Gradle用戶指南中的構建生命周期一章介紹了多項目構建的工作方式。 簡單的版本是在根項目文件夾中有一個settings.gradle
,它定義了構建中包括哪些項目。 每個項目都可以具有build.gradle
(或名稱可以不同或文件可能丟失)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.