2017-02-23 34 views
0

Где-то град должен знать, какие зависимости он загружал в себя и какие они были помещены в папку сборки.Как получить зависимости, которые загружаются во время сборки

Как я могу программно получить структуру данных зависимостей (банки, zip и т. Д.), Которые были загружены и включены в мою сборку?

+0

println configurations.runtime.files –

ответ

1

Что вы имеете в виду

, которые были помещены в папку сборки

Например, в случае, если вы создаете обычный Jar файл (не убер баночку), Gradle устраняющих зависимостей проекта , затем он загружает их в свой кеш и во время процесса компиляции создает классpath, объединяя все URI с этими зависимостями, хранящимися в кеше, и передает этот список в javac. Тогда, скорее всего, он также создает файл POM, имеющий определение всех этих зависимостей. Если вы создаете военный архив, то, вероятно, Gradle копирует зависимости из кеша в /lib.

Чтобы получить разрешенный список зависимостей для вызова compile конфигурации

configurations.compile.resolvedConfiguration

перечислить все файлы, которые были разрешены, вызовите

configurations.compile.resolvedConfiguration.each { file -> 
    println file 
} 

Вызова resolvedConfiguration фактически разрешает конфигурацию в случае он еще не разрешен.

+0

Работает как очарование! –