2013-04-29 2 views
0

Я считаю, что это может быть связано с publish artifact overwrite other artifact in Gradleплющ module.xml не содержит все артефакты, когда Gradle опубликовывает используется

, если у меня есть множество публикаций, таких как

publishing { 
    publications { 
    serverpub(IvyPublication) { 
     artifact(ejbJar) { 
     name 'ejb' 
     } 
    } 
    clientpub(IvyPublication) { 
     artifact(clientEjbJar) { 
     name 'client-ejb' 
     } 
    } 
    modulepub(IvyPublication) { 
     artifact(moduleJar) { 
     name 'cname-core' 
     } 
    } 
    persistpub(IvyPublication) { 
     artifact(persistenceJar) { 
     name 'core-entities' 
     } 
    } 
    } 
} 

После выполнения " публиковать»файл

<Project Name>/ivy/<version>/ivy/ivy-<version>.xml 

содержит только первый элемент в списке публикаций

<artifact name="ejb" type="jar" ext="jar"/> 

Если я сделаю все артефакты попавшими под одну публикацию, т.е. serverpub, то файл ivy.xml будет содержать все правильные артефакты, но сами файлы jar одинаковы, поэтому у меня такая же ошибка, что и предыдущая ссылка.

Я делаю что-то неправильно, потому что до сих пор Gradle доказал боль в скобках для публикации артефактов.

ответ

0

Вы объявили четыре независимых публикации, каждая из которых будет создавать собственный дескриптор модуля. Чтобы создать модуль Ivy, содержащий несколько артефактов, вам нужно будет перечислить их в одной публикации. Что касается проблемы «Jar files are same», то поможет минимальный автономный воспроизводимый пример.

Обратите внимание, что новый плагин ivy-publish, который вы используете, по-прежнему инкубирует и может иметь недостатки. Мы благодарны за обратную связь, чтобы сделать ее лучше. Лучшее место для разработчиков и экспертов Gradle - http://forums.gradle.org.

Смежные вопросы