Как заблокировать статус от разрешения плюща - PullRequest
0 голосов
/ 20 июля 2010

В нашей компании мы используем базовый файл муравья, который есть у каждого для сборки. Он содержит вещи, которые мы хотим определить глобально и единообразно, такие как build-test, test-покрытие, build-release, публикация на ivy и т. Д.

Я хотел бы убедиться, что в решении ivy, которое делается для создания сборки выпуска, библиотеки, имеющие статус тестирования (интеграции), отклоняются. По сути, для сборки выпуска можно использовать только библиотеки классов выпуска.

Тем не менее, я не могу найти способ применить это в задаче Ant ivy Resolution (а не в файле ivy.xml).

Кто-нибудь знает, как этого добиться?

1 Ответ

1 голос
/ 18 августа 2010

Вариант 1

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

Файл build.xml будет иметь две цели разрешения, управляемые свойством release

<target name="resolve-int" unless="release.build">
    <ivy:resolve file="ivy-int.xml"/>
</target>

<target name="resolve-rel" if="release.build">
    <ivy:resolve file="ivy-rel.xml"/>
</target>

<target name="resolve" depends="resolve-int,resolve-rel"/>

Вариант 2

Используйте свойство для определения желаемой динамической ревизии:

ivy.xml

<ivy-module version="2.0">
    <info organisation="com.myspotontheweb" module="demo"/>
    <dependencies>
        <dependency org="commons-lang" name="commons-lang" rev="${dynamic.revision}"/>
    </dependencies>
</ivy-module>

build.xml

Свойство dynamic.revision имеет значение по умолчанию latest.integration

<project xmlns:ivy="antlib:org.apache.ivy.ant" name="demo-ivy" default="resolve">

    <property name="dynamic.revision" value="latest.integration"/>

    <target name="resolve">
        <ivy:resolve/>
    </target>

    ..    

</project>

В этом случае сборка выпуска переопределяет это значение, возможно, из командной строки следующим образом:

ant -Ddynamic.revision=latest.release
...