Как настроить уникальную версию в выпуске - PullRequest
0 голосов
/ 20 февраля 2020

Я хочу создать уникальную версию релиза (такую ​​же, как версия моментального снимка). Я решил использовать тег uniqueVersion в руководстве Distribution, но это не помогло. Я использую jfrog artifactory.

мой pom:

<groupId>com.test</groupId>
<artifactId>parent</artifactId>
<packaging>pom</packaging>
<version>1.0-release</version>

<distributionManagement>
        <snapshotRepository>
            <id>snapshot</id>
            <name>snapshot</name>
            <url>http:/...../list/local-snapshot/</url>
        </snapshotRepository>
        <repository>
            <id>release</id>
            <name>release</name>
            <url>http:/...../list/local-release/</url>
            <uniqueVersion>true</uniqueVersion>
        </repository>
    </distributionManagement>

1 Ответ

0 голосов
/ 20 февраля 2020

Вы можете создать одну версию (выпускную версию), которая говорит 1.0.0, что она будет помещена в центральный репозиторий (вы можете этого не делать, но пусть использование предполагает, что это).

Так что теперь кто-то начинает использовать вашу версию 1.0.0. Через некоторое время вы решите как-то изменить эту версию 1.0.0 (допустим, это будет возможно). В результате пользователь этой версии 1.0.0 может столкнуться с изменениями кода / сбой сборок и т. Д. c. потому что вы изменили свою версию 1.0.0. И конец истории - сборка, основанная на версии 1.0.0, больше не является надежной.

По этой причине релизы являются неизменяемыми.

По этой причине в вашем файле pom используются точные номера версий, в которых указан только один артефакт в конкретной версии, который никогда не изменится с течением времени. .

Но как решить проблему изменений. Просто создайте новую версию, скажем, 1.0.1, которая исправляет одну или несколько ошибок. Или 1.1.0, который добавляет новые функции и т. Д. c.

Схема с тремя цифрами называется семантическим версионированием.

...