簡體   English   中英

如何在gradle中構建具有傳遞項目依賴項的項目

[英]How to build a project with transitive project dependencies in gradle

我是gradle的新手,我正在嘗試使用Gradle通過Gradle IDE插件在Eclipse中構建項目。(Gradle版本2.3,Gradle IDE版本3.6.3)
我有一個三個Java項目的平面布局示例,它們具有依賴性A-> B-> C。 除直接依賴關系外,項目A,B和C對其他項目一無所知。 我需要構建每個項目。
我通過在B項目中的settings.gradle文件成功地使B依賴C來包含C項目,並且B和C的構建成功。

include ":C"
project(':C').projectDir = new File(settingsDir, '../C')

然后,我嘗試以與B-> C相同的方式(通過添加settings.gradle文件)來添加依賴項A->B。 但是這次,項目A的構建失敗,並出現錯誤:在/ B下找不到C。 未讀取項目B中的settings.gradle文件。
我不想將C的依賴項信息添加到A來構建A,因為A不應該了解C。我搜索了並且無法得到答案。 是否有辦法解決gradle中的這種可傳遞項目依賴關系? 非常感謝。

我通過學習gradle DSL文件和一些常規解決了我自己的問題。 我在我的settings.gradle文件中添加以下代碼,以應用子項目的settings.gradle(如果存在)。

def applySettings = {
    def file = new File(project(it).projectDir, "settings.gradle");
    if (file.exists()) {
        apply "from" : file.toURI()
    }
}

applySettings ':B'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM