Apache IVY - общий репозиторий
Общий репозиторий - это общий репозиторий команды на уровне команды. В организациях это очень распространено.
Местоположение по умолчанию
По умолчанию общий репозиторий находится в папке $ {ivy.default.ivy.user.dir} / shared. Если вы хотите его изменить, используйте переменную ivy.shared.default.root в файле ant.
build.xml
<target name="resolve">
<property name="ivy.shared.default.root" value="/opt/ivy/repository/shared"/>
<ivy:resolve />
</target>
Другие свойства, такие как узор плюща и узор артефакта, также можно настроить следующим образом:
build.xml
<target name="resolve">
<property name="ivy.shared.default.root" value="/opt/ivy/repository/shared"/>
<property name="ivy.shared.default.ivy.pattern" value="[organisation]/[module]/[revision]/ivy.xml"/>
<property name="ivy.shared.default.artifact.pattern" value="[organisation]/[module]/[revision]/[artifact].[ext]"/>
<ivy:resolve />
</target>
Отмена настроек по умолчанию для ivysettings
По умолчанию ivy имеет свои конфигурации в ivysettings.xml, присутствующем в ivy.jar.
ivysettings.xml
<ivysettings>
<settings defaultResolver="default"/>
<include url="${ivy.default.settings.dir}/ivysettings-public.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-local.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-default-chain.xml"/>
</ivysettings>
Чтобы переопределить настройку общего репозитория, обновите содержимое ivysettings-shared.xml.
ivysettings-shared.xml
<ivysettings>
<property name="ivy.shared.default.root" value="${ivy.default.ivy.user.dir}/shared" override="false"/>
<property name="ivy.shared.default.ivy.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/>
<property name="ivy.shared.default.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/>
<resolvers>
<filesystem name="shared">
<ivy pattern="${ivy.shared.default.root}/${ivy.shared.default.ivy.pattern}" />
<artifact pattern="${ivy.shared.default.root}/${ivy.shared.default.artifact.pattern}" />
</filesystem>
</resolvers>
</ivysettings>