簡體   English   中英

在多模塊 Gradle 構建中從根訪問子模塊依賴項

[英]Access submodule dependencies from root in multi-module Gradle build

有沒有辦法在根build.gradle中訪問子項目build.gradle文件中聲明的依賴build.gradle 我試過以下——

subprojects.each { p ->
  println "subproject: ${p.name}"
  p.configurations.each { c ->
    println "  ${c}"
    c.dependencies.each { d ->
      println "    ${d}"
    }
  }
}

但我猜是因為根build.gradle首先被執行,子模塊依賴聲明還沒有運行,因為我得到的是:

subproject: foo
subproject: bar
subproject: baz

(我正在嘗試編寫一個多模塊build.gradle來構建一堆相關模塊,這些模塊不知道它們是多模塊項目的一部分,或者可以是許多不同的多模塊項目的一部分。我的計划是以編程方式遍歷子模塊依賴項,並為每個依賴項添加相應的project依賴項——希望做一些類似於Pieter Niederweiserelastic-deps示例的事情,但不必修改子項目構建文件。在單模塊項目中似乎 Gradle 足夠聰明,可以使用項目依賴項來解決 Maven/Ivy 依賴項,如果它們重疊的話。)


ETA:如果有一種方法可以在頂級聲明一個代碼塊,所有子項目都將在聲明其依賴項后的某個時刻運行,那可能會這樣做。

如果有一種方法可以在頂層聲明一個代碼塊,所有子項目都將在聲明其依賴項后的某個時刻運行,那可能會這樣做。

evaluationDependsOnChildren()可以解決問題。 在評估子項目之后,將評估此方法調用之后的所有代碼。

暫無
暫無

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

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