2017-08-31 32 views
0

我知道android中一個命令'gradle androidDependencies'。這顯示了這個項目依賴關係樹。這樣的輸出。Android gradle androidDependencies實現,不僅使用這個命令

+--- com.android.support:appcompat-v7:[email protected] 
| +--- com.android.support:support-annotations:[email protected] 
| +--- com.android.support:support-v4:[email protected] 
| | +--- com.android.support:support-compat:[email protected] 

我想知道,它是如何工作的? gradle讀配置在哪裏(lib依賴)。

對象是我想寫的一個腳本代碼顯示項目lib的依賴關係(json格式),我不想用format命令輸出日誌。任何人都不能幫助我?謝謝

回答

0

最後我找到答案,所以我在這裏顯示代碼。

private checkPublishVersionName(def pom) { 
for (org.gradle.api.artifacts.Configuration configuration : configurations) { 
    DependencySet dependencies = configuration.allDependencies; 
    for (Dependency dependency : dependencies) { 
     String libNameVersion = dependency.group + ":" + dependency.name + ":" + dependency.version 
     if (pom.version.contains("SNAPSHOT")) { 
      println "-----------> 依賴庫:" + libNameVersion 
     } else { // 構造一個異常 
      if (libNameVersion.contains("SNAPSHOT")) { 
       println "請修正依賴庫:" + libNameVersion 
       println "-----------> release 包不能有對 snapshot 的依賴。" 
       throw new PublishException("---> release 包不能有對 snapshot 的依賴。" + "請修正依賴庫:" + libNameVersion) 
      } 
     } 
    } 
} 
}