У місті 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 сам рекламує сканування збірки як спосіб вирішити більшість проблем зі збиранням.