Мы используем gradle для загрузки зависимостей (из нашего локального экземпляра Artifactory) и публикации артефактов (в наш локальный экземпляр Artifactory), но нам нужно использовать различные различные (не gradle) инструменты для выполнения самой сборки.
Поэтому в нашем файле gradle есть набор зависимостей различных типов (тестовых, компилируемых и т. Д.), И наша сборка начинается с запуска gradle для извлечения некоторых из этих зависимостей.
Затем мы переходим к другим инструментам для создания истинной сборки, а затем после завершения нашей сборки запускаем задачу gradle artifactoryPublish, чтобы опубликовать артефакты выпуска обратно в Artifactory
Конструкция Artifactory build-info отлично подходит для отслеживания наших зависимостей и выпусков артефактов.
Однако ... конструкция build-info, опубликованная задачей artifactoryPublish gradle для Artifactory, не содержит никакой информации о наших зависимостях. Наши загрузки зависимостей выполняются в отдельной не связанной задаче, и задача artifactoryPublish не знает, что они связаны. Кроме того, существуют другие (тестовые и т. Д.) Зависимости, выраженные в gradle, которые я хотел бы перечислить в build-info (чтобы их можно было продвигать), но которые не нужны / загружаются как часть процесса сборки.
Я ищу способ получить ВСЕ выраженные зависимости gradle (некоторые из них являются необязательными и не загружаются до сборки), выраженные в конструкции Artifactory build-info.
Я заметил, что инструмент CLI jfrog имеет поддержку для выражения информации о сборке, загружаемой с помощью внешних механизмов - через его действие build-add-dependencies. Я полагаю, что могу явно загрузить каждую зависимость (включая тестовые зависимости и другие необязательные зависимости, не нужные для сборки), а затем использовать это действие для добавления этих ссылок в конструкцию build-info. Но ... это кажется неэффективным, поскольку мне не нужны все эти зависимости для сборки, я просто хочу, чтобы информация о сборке ссылалась на них.
Я также заметил, что в Artifactory REST API есть опция для ручной загрузки файла build-info. Вероятно, я мог бы вручную создать файл build-info со ссылками на зависимости, которые уже существуют в Artifactory, фактически не загружая их локально. Это кажется эффективным, но ... это кажется хрупким / подверженным ошибкам, поскольку конструкция build-info, вероятно, со временем изменится.
Есть ли другие или лучшие варианты для рассмотрения?