Справка по настройке плюща - PullRequest
1 голос
/ 13 августа 2011

Я прочитал документацию по Ivy и несколько других учебных пособий, но сейчас пытаюсь использовать его в проекте впервые, и мне сразу же представили некоторые контрольно-пропускные пункты.

  • ДляНа практике я хотел бы написать все свои собственные файлы конфигурации (XML).Не уверен, куда поместить ivy.xml, ivyconf.xml или ivy-settings.xml: поместить их в тот же каталог, что и мой build.xml?
  • Помимо ivy.xml, ivyconf.xml и ivy-settings.xml, есть ли другие конфигурационные файлы, о которых мне следует знать?Где их разместить?
  • Является ли IvyDE просто графическим плагином Eclipse, который графически редактирует ivyconf.xml или он редактирует другие файлы?

Спасибо за любой вклад - это было удивительноТрудно найти хорошую информацию об этом удивительном инструменте!

Ответы [ 2 ]

1 голос
/ 15 августа 2011

Вам нужен только один файл ivysettings.xml. Вы можете разместить его рядом с build.xml или в любом другом каталоге проекта. При желании вы можете использовать один или несколько файлов свойств для разных целей.

Кроме ivysettings.xml, помните о каталоге кэша плюща. Часто лучшим решением для всех проблем разрешения зависимостей является очистка кэша плюща путем удаления этого каталога.

IvyDE позволяет разрешать зависимости проекта внутри Eclipse. IvyDE создает новый контейнер classpath с именем ivy.xml. Внутри этого контейнера вы найдете разрешенные библиотеки. И я рекомендую вам использовать локальный или интранет-репозиторий плюща с Eclipse, потому что, если разрешение займет некоторое время, это замедлит загрузку ваших проектов.

Например, я разместил свой ivysettings.xml, который я использую в своих проектах. Как вы можете видеть для Eclipse, есть файл eclipse-ivy.properties. В этом файле я приказываю Ivy использовать локальный репозиторий внутри Eclipse. В скрипте Ant я по умолчанию использую удаленный репозиторий, но есть возможность выбрать локальный репозиторий.

<?xml version="1.0" encoding="UTF-8" ?>
<ivysettings>
<settings defaultResolver="${ivy.resolver}" />
<statuses default="development">
    <status name="release" integration="false"/>
    <status name="integration" integration="true"/>
    <status name="development" integration="true"/>
</statuses>
<resolvers>
    <ssh name="remote" checkconsistency="true" checkmodified="true" descriptor="required">
        <ivy pattern="ssh://***/home/ivy/repository/[organisation]/[module]/[revision]/ivy.xml"/>
        <artifact pattern="ssh://***/home/ivy/repository/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
    </ssh>
    <filesystem name="local">
        <ivy pattern="${user.home}/.local-ivy-repository/[organisation]/[module]/[revision]/ivy.xml"/>
        <artifact pattern="${user.home}/.local-ivy-repository/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
    </filesystem>
</resolvers>
</ivysettings>

elipse-ivy.properties:

ivy.resolver=local
0 голосов
/ 15 августа 2011

В общем, лучше всего создать один стандартизированный файл ivy-settings.xml и разместить его в месте, куда ваши сборки могут легко добраться. Этот файл обычно одинаков для всех проектов и редко изменяется после правильной настройки. В моей группе разработчиков мы размещаем файл ivy-settings.xml на веб-сервере, чтобы на него можно было легко ссылаться по URL.

Мы строим с помощью Ant, поэтому мы также создали стандартный файл сборки ant, который можно либо разместить где-нибудь и импортировать в скрипт сборки Ant, либо просто скопировать в каталог проекта, если требуется какая-либо настройка.

Я обнаружил, что лучше оставить файлы конфигурации Ivy как есть и выполнить любую настройку, переопределив значения по умолчанию в ваших скриптах сборки и / или файлах ivy.xml. Почти все, что вам нужно изменить, может быть отменено. Я рекомендую оставить файлы конфигурации Ivy без изменений, потому что другим пользователям будет проще создавать ваши проекты. Если у вас есть куча изменений в ваших конфигурационных файлах, любой другой разработчик, желающий собрать ваш проект, должен будет повторить эти изменения на своих локальных установках Ivy просто для запуска локальной сборки. Это плохо, моджо.

Плагин IvyDE предоставляет редакторы для ваших файлов ivy.xml и ivy-settings.xml. Согласно документации, он также предоставляет способы автоматической загрузки зависимостей вашего проекта, включает настраиваемую консоль и обозреватель обратных зависимостей, которые помогают устранять неполадки и разрешать конфликты зависимостей. Я использую только редакторы, поэтому не могу поручиться за другие инструменты.

Как и Алексей, я бы порекомендовал использовать менеджера репозитория с Айви. Artifactory делает работу хорошо; Его легко установить и трясти, как только он заработает.

Я согласен, что документация оставляет желать лучшего; Мне потребовалось несколько недель экспериментирования, чтобы понять, как все части сочетаются друг с другом. В конце концов, оно того стоило. Как только вы исправите все недостатки, хорошо настроенная система управления артефактами станет действительно прекрасной вещью.

...