我寫了下面的任務,它提取所有的編譯依賴關係我的每一個分項目,並把它們放在每個子項目目錄:如何訪問我的gradle編譯依賴關係的源工件?
task exportCompileLibs << {
subprojects.each { iSubProject ->
iSubProject.configurations.findAll{it.name == "compile"}.each{ jConfig ->
println "copying compile libs for ${iSubProject.name}..."
copy {
into "${iSubProject.buildDir}/gradle-lib-export"
from jConfig
eachFile {println it.name}
}
}
}
}
我想延長這也出口Gradle已經知道的源工件(我可以看到緩存目錄中的源jar),我只是無法弄清楚如何使用對象模型來獲取它們的句柄。
IDEA和Eclipse插件似乎能夠做到這一點(他們指出他們直接構建到gradle緩存中的項目文件),但我無法弄清楚如何做 - 並查看IDE插件源代碼代碼,它看起來...很棘手。我希望在Gradle DSL或API中丟失一些明顯的東西。
任何人有任何想法?
有關不依賴IDE插件的解決方案,請參閱http://stackoverflow.com/a/31451648/300053。 – eskatos