Ситуация в Gradle продвинулась вперед, поэтому я считаю, что этот вопрос заслуживает другого ответа.
Начиная с Gradle 4.3, были введены « сборочные сканы ». Вся соответствующая информация доступна в документации Gradle ( 1 , 2 ). Для меня это, кажется, самый простой способ проверить ваши зависимости (и, как правило, вашу сборку) четко и организованно.
Их очень легко создать, просто выполните:
gradle build --scan
(или ./gradlew build --scan
если вы используете обертку)
Это создает случайно сгенерированную ссылку, где вы можете увидеть ваш скан. Открывая эту ссылку, вы вводите свой адрес электронной почты и получаете полный контроль над ссылкой: например. поделиться или удалить его. В нем много информации о вашей сборке , а не только о зависимостях. Вы можете видеть свои зависимости, их иерархии, репозиторий, используемый для их получения, а также множество других вещей о вашей сборке, а именно, ее производительность (которая представляет интерес для больших сложных сборок), ваши тесты, даже вывод на консоль и ваш конфигурация системы, какие JDK и JVM использовались, максимальный размер кучи и т. д.
Это принтскрин из фиктивного проекта:
Сканирование сборки является общей записью сборки, которая дает представление о том, что произошло и почему. Вы можете бесплатно создать сборку на scans.gradle.com.
Однако обратите внимание, что информация о вашем процессе сборки будет отправлена на серверы Gradle. Вы можете полностью удалить его, когда закончите проверку.
Наконец, вы также можете использовать сборку сканов с версиями Gradle более ранних, чем 4.3, вам просто нужно вручную добавить плагин сканов в ваш buildscript.
Редактировать :
Включая некоторые отзывы из комментариев, некоторые дополнительные примечания:
1) Очень трудно сделать это по ошибке или без понимания того, что некоторая информация для вашей сборки будет онлайн (частной для вас, с возможностью ее удаления, но все еще онлайн). ).
При выполнении gradle build --scan
появляется следующее сообщение:
Publishing a build scan to scans.gradle.com requires accepting the Gradle
Terms of Service defined at https://gradle.com/terms-of-service. Do you
accept these terms? [yes, no]
Вы должны явно написать, yes
а затем сообщение продолжается:
Publishing build scan...
https://gradle.com/s/a12en0dasdu
2) В Gradle Enterprise вы можете размещать сканы сборки gradle на своих собственных серверах. Однако у меня нет никакого опыта в этом, и мой предложенный подход был о стандартном распределении Gradle, используя серверы Gradle для ваших проверок сборки.
3) Сам Gradle продвигает сканирование сборки как способ решения большинства ваших проблем со сборкой.