Я только начал использовать Ivy, и я действительно изо всех сил, так как я нашел документацию и учебные пособия на сайте Apache очень запутанными и не имеет отношения к тому, как я хочу их использовать.
Я хочу опубликовать некоторые jar-файлы в локальном репозитории Ivy с помощью Ant.Сценарий Ant создает четыре файла jar:
- sed-ws-client.jar
- sed-ws-client-src.jar
- sed-enums.jar
- sed-enums-src.jar
Эти файлы должны находиться в двух разных каталогах в хранилище Ivy (например, каталог sed-ws-client
и каталог sed-enums
).В настоящее время репозиторий содержит версии 0.0ar и 0.0.2 этих jar-файлов в соответствующих каталогах с соответствующими файлами ivy- [version] .xml (это было сделано вручную).
У меня многопроблема в выяснении того, как создать цель публикации "Ant" и файл ivy.xml
проекта.Я вынужден поместить имя модуля в тег info
файла ivy.xml
, но это может означать, что я могу публиковать файлы jar только в одном каталоге в репозитории Ivy?
Я пробовалразные вещи, но сборка муравья всегда терпит неудачу.Я просто хочу простое объяснение шагов, которые нужно предпринять, чтобы это заработало.При необходимости структуру хранилища можно изменить.
Вот что у меня есть:
ivy.xml
file:
<ivy-module version="1.0">
<info organisation="myorg" module="SED" revision="1.0" status="dev"></info>
<publications>
<!-- ws-client -->
<artifact name="sed-ws-client"/>
<artifact name="sed-ws-client" type="src"/>
<!-- generated -->
<artifact name="sed-enums"/>
<artifact name="sed-enums" type="src"/>
</publications>
</ivy-module>
Цель Ant:
<target name="ivy-publish" description="Produce the ivy.xml file for the built jars">
<ivy:settings file="d:/temp/ivy/ivysettings.xml" />
<ivy:retrieve />
<ivy:publish organisation="myorg" resolver="default" pubrevision="0.0.2" update="true">
<artifacts pattern="${DEPLOY_DIR}/${sed.ws.client.jar}-[type].[ext]" />
<artifacts pattern="${DEPLOY_DIR}/${sed.enums.jar}-[type].[ext]" />
</ivy:publish>
</target>