заставить плющ не скачивать исходники и файлы лицензий - PullRequest
2 голосов
/ 05 декабря 2010

Есть ли способ настроить ivy, чтобы не загружать исходные файлы и файлы лицензий через ivy.xml?

В настоящее время я пытаюсь использовать стандартные репозитории ivy + репозиторий Spring. мой ivysettings.xml ниже:

<?xml version="1.0" encoding="ISO-8859-1"?>

<settings defaultResolver="springSource" />
<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" />
<resolvers>
    <chain name="springSource">
        <url name="com.springsource.repository.bundles.release">
            <ivy
                pattern="http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
            <artifact
                pattern="http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
        </url>

        <url name="com.springsource.repository.bundles.external">
            <ivy
                pattern="http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
            <artifact
                pattern="http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
        </url>

        <ibiblio name="public" m2compatible="true" />
        <ibiblio name="shared" m2compatible="true" />
        <ibiblio name="local" m2compatible="true" />
        <ibiblio name="main-chain" m2compatible="true" />
        <ibiblio name="default-chain" m2compatible="true" />
    </chain>
</resolvers>

1 Ответ

4 голосов
/ 06 декабря 2010

Используйте конфигурации ivy, чтобы указать желаемое отображение на зависимости ваших зависимостей (называемые транзитивными зависимостями):

Не знаю, какую версию Spring вы используете, этот пример загружает версию Spring 3.0:

<ivy-module version="2.0">
    <info organisation="com.myspotontheweb" module="demo"/>
    <configurations>
        <conf name="compile" description="Compile classpath"/>
    </configurations>
    <dependencies>
        <dependency org="org.springframework" name="org.springframework.core" rev="3.0.0.RELEASE" conf="compile->default"/>
    </dependencies>
</ivy-module>

При ссылках на конфигурации модуля Maven обращайтесь к областям Maven . Область по умолчанию в Maven будет compile , но вы можете ссылаться на любую другую общедоступную область.

Дополнительные примечания

Я использую гораздо более простой файл настроек:

<ivysettings>
    <settings defaultResolver="chain"/>
    <resolvers>
        <chain name="chain">
            <ibiblio name="central" m2compatible="true"/>
            <ibiblio name="spring-release"  root="http://repository.springsource.com/maven/bundles/release" m2compatible="true"/>
            <ibiblio name="spring-external" root="http://repository.springsource.com/maven/bundles/external" m2compatible="true"/>
        </chain>
    </resolvers>
</ivysettings>

По моему мнению, распознаватель ibiblio - это самый простой способ интеграции с удаленным репозиторием Maven. Я думаю, что запутанное имя является историческим, восходит к первоначальному названию первого сайта хранилища Maven Вам нужно будет дополнительно указать атрибут m2compatible , поскольку исходный формат репозитория Maven 1 теперь почти неизвестен.

Возможно, однажды разработчики ivy создадут новый распознаватель "maven", который облегчит жизнь новым пользователям.

...