Разрешить порядок версий зависимостей Ivy - PullRequest
1 голос
/ 15 декабря 2011

В моем репозитории артефактов сборки есть сборки как из ветви, так и из ствола.

Я проверил, что мое решение работает с веткой и получает нужный элемент.

Но это не работает, если зависимость также находится в ствольном репо. В этом случае он получает зависимость от транка, а не от моей ветви.

Мне нужно решить, чтобы вытащить зависимость из репо ствола, если она отсутствует в ветви, но если зависимость находится в ветке, мне нужна версия филиала, а не версия транка.

Как я могу сделать это в Айви? Я бы предпочел, чтобы он просто нашел версию ветки, а затем перестал ее искать. Таким образом, если он отсутствует в ветви, он «проваливается» до версии с транком.

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

Вот пример:

trunkbuild - версия = "1.0.4" branchbuild - version = "1.0-SNAPSHOT"

Должны ли мои ветви быть "1.1-SNAPSHOT" вместо этого?

Код в моих ветках всегда должен быть версией AHEAD, а не за стволом.

1 Ответ

2 голосов
/ 16 декабря 2011

Я думаю, что это то, что вы ищете:

<dependency org="mygroup" name="myartifact" revision="latest.release"/>
<dependency org="mygroup" name="myartifact" revision="latest.integration"/>

Репозитории Maven поддерживают два основных типа репозитория:

  • Release
  • Snapshot

Только репозитории, созданные на моей внешней ветви, публикуются в репозитории Release.

Так что следующей настройки ivy resolver должно быть достаточно, чтобы она заработала, а «latest.integration» разрешает артефакты в репозитории моментальных снимков.

<ivysettings>
    <settings defaultResolver="default"/>
    <resolvers>
        <chain name="default">
            <ibiblio name="nexus-central" root="http://myhost/nexus/content/repositories/central" m2compatible="true"/>
            <ibiblio name="nexus-releases" root="http://myhost/nexus/content/repositories/releases" m2compatible="true"/>
            <ibiblio name="nexus-snapshots" root="http://myhost/nexus/content/repositories/snapshots" m2compatible="true"/>
        </chain>
    </resolvers>
</ivysettings>

Примечание:

Вы можете создать группу репозиториев в вашем менеджере репозиториев и упростить настройку плюща для одного URL.

...