Где найти дескрипторы Ivy для репозитория Artifactory - PullRequest
0 голосов
/ 23 февраля 2012

Я настраиваю свой первый «управляемый» репозиторий Ivy через Artifactory и мне интересно, нужно ли мне писать вручную все дескрипторы Ivy (XML) для каждого развертываемого артефакта.

Это было бы болезненно .

Что делают "настоящие" администраторы репо в этих ситуациях? Написать им вручную? Wrtie скрипты, чтобы генерировать их для вас? Есть ли в Ivy эквивалент Центрального репозитория Maven, из которого я могу просто скопировать дескрипторы? Если я перехожу на http://mvnrepository.com/ и ищу JAR, я вижу, что рядом с вкладкой "Maven" есть вкладка "Плющ", но она содержит элемент <dependency/>, а не весь экземпляр <ivy-module> XML что нужно Айви.

Ответы [ 3 ]

2 голосов
/ 23 февраля 2012

Перечитав ваш вопрос, я понял, что ответил на что-то еще :) Извините.Есть несколько вещей, которые вы можете сделать:

  1. Сначала посмотрите на Ivy RoundUp .Это репозиторий Ivy, который вы можете использовать в Artifactory для прокси.
  2. Если этого недостаточно (то есть зависимостей, которых вы ищете, не существует), подумайте о разработке какого-либо перевода из POM Maven (xslt может помочь, возможно,какой-нибудь скрипт в groovy или ruby, если вы хорошо с ними).
  3. Наиболее радикальным решением может быть переключение инструмента сборки.Я настоятельно рекомендую Gradle, он использует Ivy для управления зависимостями, но имеет много преимуществ по сравнению с Ant.Один из них, который имеет отношение к нашему обсуждению - он генерирует все необходимые метаданные при развертывании.
0 голосов
/ 23 февраля 2012

Вы можете использовать цель ivy:install ant для простого импорта модулей из других репозиториев:

    <target name="--install.do" if="valid.args">
        <ivy:install 
              organisation="${org}" 
              module="${module}" 
              revision="${version}"
              from="${from}"
              to="local" 
              transitive="false" 
              overwrite="true"/>
    </target>

Где ${from} - это имя распознавателя, определенного в вашем ivy.settings.file.

0 голосов
/ 23 февраля 2012

Вам не нужен какой-либо другой инструмент.Просто просмотрите дерево Artifactory, найдите нужную вам зависимость.На панели «Общие» найдите раздел «Объявление зависимостей».Выберите «Плющ» из выпадающего списка.Появится объявление зависимости Ivy.Наведите указатель мыши на него.Появятся кнопки «Просмотр источника», «Копировать в буфер обмена» и «Печать».Выберите копию.Теперь у вас есть правильное объявление в буфере обмена.

Here's a screenshot

...