В Stackoverflow уже есть вопросы о публикации предварительно созданных jar-файлов в Maven из Gradle. Однако это немного отличается: как опубликовать предварительно созданный Jar в репозитории Maven и в то же время предоставить зависимости для включения в файл pom.xml?
У меня есть банка, которая предварительно создается за пределами этого скрипта. Мне нужно опубликовать эту банку в нашем репозитории Maven (Nexus) и указать зависимости в файле pom.xml. Мне удалось опубликовать предварительно созданную банку в репозитории Maven, используя закрытие артефактов, но она игнорирует закрытие зависимостей. Если я добавлю плагин java, тогда плагин Maven создаст pom с зависимостями, но загрузит файл jar с нулевым байтом. Я предполагаю, что это связано с тем, что плагин Java собирается скомпилировать и упаковать исходный код в каталоге src, которого нет в этом проекте.
Есть ли способ «внедрить» предварительно созданный Jar в процесс плагина Java, чтобы я мог загрузить jar вместе с зависимостями? Или я упускаю что-то еще очевидное?
Конечно, лучше всего было бы, чтобы процесс сборки предварительно созданного Jar обрисовал в общих чертах его зависимости и загрузил в Maven, но, к сожалению, это стороннее программное обеспечение, и мы не можем его контролировать.
Ниже скрипт публикует jar-файл с нулевым kb...
apply plugin: 'java'
apply plugin: 'maven'
jar = file(projectHome + '/build/lib').listFiles()[0]
configurations {
archives
runtime
}
dependencies {
runtime 'org.apache.tika:tika-app:1.3'
}
artifacts {
archives jar
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://build.com/nexus/content/repositories/releases/")
pom.version = tag
pom.artifactId = "artifact"
pom.groupId = "group"
}
}
}
Большое спасибо! Роб
mavenDeployer
POM DSL для добавления зависимостей (см. руководство пользователя). - person Peter Niederwieser   schedule 07.08.2013