в ivy:publisher значение по умолчанию deliverivypattern является $ {ivy.distrib.dir} / [тип] s / [артефакт] - [пересмотр] (-[классификатор]). [расширение]
Я пытаюсь установить классификатор в своем ivy.xml под путем добавления атрибута e:classifier = "" к элементу.
Но [классификатор] не становится установленным? Когда ivy:publish работает в моем файле build.xml, это, кажется, пусто и таким образом не включенное в шаблон имени файла.
Думаю, я понял вашу проблему.
Для ясности, именно настроенный преобразователь определяет имя файла репозитория, а не задача публикации . Вот мой пример, в котором используются два дополнительных атрибута приветствие и автор в шаблонах файлов артефакта и плюща:
<ivysettings>
<property name="repo.dir" value="${ivy.basedir}/build/repo"/>
<property name="ivy.checksums" value=""/> <!-- Suppress the generation of checksums -->
<settings defaultResolver="internal"/>
<resolvers>
<filesystem name="internal">
<ivy pattern="${repo.dir}/[module]/[author]-ivy(-[greeting])-[revision].xml" />
<artifact pattern="${repo.dir}/[module]/[author]-[artifact]-[greeting]-[revision].[ext]" />
</filesystem>
</resolvers>
</ivysettings>
Значения дополнительных атрибутов определяются плющом. xml файл:
<ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra">
<info organisation="myorg" module="hello" e:author="Mark"/>
<publications>
<artifact name="English" ext="txt" type="doc" e:greeting="hello"/>
<artifact name="Irish" ext="txt" type="doc" e:greeting="dia_dhuit"/>
<artifact name="Spanish" ext="txt" type="doc" e:greeting="Hola"/>
</publications>
</ivy-module>
Разумеется, когда я публиковал файлы, присутствовали значения тегов приветствия и автора:
$ find build -type f
build/repo/hello/Mark-English-hello-1.0.txt
build/repo/hello/Mark-Irish-dia_dhuit-1.0.txt
build/repo/hello/Mark-Spanish-Hola-1.0.txt
build/repo/hello/Mark-ivy-1.0.xml
Думаю, вам нужен такой узор. Если приветствие не определено, оно будет пропущено.
[автор] - [артефакт] (- [приветствие]) - [редакция]. [Ext]