Семантическое управление версиями (semver) в сравнении с соглашением Maven и соглашениями о хранилище артефактов. Какую схему управления версиями использовать? - PullRequest
0 голосов
/ 19 сентября 2018

Я устанавливаю схему управления версиями для нового проекта и много читаю о semver и конвенции Maven .Я использую диспетчер репозитория Nexus OSS (v3.13.0).

Трудно установить авторитетную схему, когда дело доходит до управления версиями, но я верю в силу соглашения.Несмотря на то, что готовый документ (ссылка выше) выглядит хорошо написанным, я замечаю противоречия с тем, как Maven, похоже, относится к номерам версий.Цель состоит в том, чтобы установить схему, которая дает хороший порядок.Семвер упоминает, что предварительная метка (часть, которая следует за Major.Minor.Patch-) может иметь разделенные точками сегменты, некоторые из которых являются числовыми и должны сравниваться как таковые , поэтому не должно быть нуля.такие как RC.09.На практике, однако, Maven (ссылка на оракула выше, но разве это авторитетно?) Рассматривает все после первой черты как одно буквенно-цифровое поле, следовательно, следует использовать RC09 и RC10.

У меня такой вопрос, использовать нуля или нет?Я хотел бы придерживаться semver, но мне также нужно что-то, что работает.

Дополнительная сложность заключается в том, что я использую не Maven, а Gradle!Но имеет ли это значение?-> где рассчитывается порядок версий, в системе сборки или в менеджере репо (Nexus в моем случае).Посмотрите , что Nexus говорит по теме - НО, он ссылается на Maven, поэтому я не уверен, относится ли это к клиентам Gradle (или, скорее, к плагину maven-publish )).С другой стороны, Gradle пытается имитировать Maven, когда дело доходит до стандартов публикации.Это беспорядок!

...