Краткий ответ:
- Удалите / пропустите явную версию настройки из вашего файла
build.sbt
(т. Е. Это утверждение version := "0.1.0"
) - Создайте тег git дляустановите желаемую версию (с префиксом v), см. doc , например
>git tag -a v0.2.0 -m "my version 0.2.0"
Затем вы можете увидеть версию, установленную плагином, запустив:
>sbt version
// Displays
// [info] 0.2.0
Вот небольшое объяснение:
Таким образом, способ sbt-git
работает так: он устанавливает для вас версию вашей сборки sbt (ту, которую вы получаете в результатебег sbt version
).Для этого следует несколько правил , вот первые 2:
- Проверяет настройку свойства версии (по умолчанию для project.version) и проверяетsys.props, чтобы увидеть, имеет ли это значение.Если так, используйте это.
- В противном случае просматривает теги проекта.Первый, который соответствует gitTagToVersionNumberSetting, используется для назначения версии.По умолчанию ищутся теги, которые начинаются с v и числа, и используют число в качестве версии.Если есть несколько тегов версий, он выберет самый высокий.
Так что в вашем случае, потому что вы явно установили project version
в 0.1.0
в своем build.sbt
, то, что выв результате запуска sbt version
будет 0.1.0
.Даже после некоторых коммитов значение sbt version
все равно будет 0.1.0
, потому что будут применяться правила (если версия установлена в вашем build.sbt
). Обратите внимание, что плагин не изменяет значение, установленное в этом файле , он использует его только тогда, когда он определен.
Если вы удалите эту строку (version := "0.1.0"
), тогда будет применяться правило 2, которое в двух словах ищет tag
и возвращает первое, соответствующее gitTagToVersionNumberSetting
, которое по умолчанию представляет собой строку, начинающуюся с v
, за которой следует число.
Таким образом, чтобы с помощью плагина установить ваш проект на версию 0.2.0
, вам необходимо создать тег поверх заголовка commit v0.2.0
, (например, запуск git tag -a v0.2.0 -m "my version 0.2.0"
).
И когда вы разрабатываете свой проект, будет добавлено несколько коммитов, что приведет к вашей версии 0.3.0
(или 0.2.1
), и как только вы создадите соответствующий тег поверх последнего коммита - скажем, тегv0.3.0
- тогда plugin
выберет это (применяя правило 2) и использует его, чтобы установить его как версию вашего проекта (которую вы можете увидеть, запустив sbt version
, как было сказано ранее).
Это поток, который вы будете использовать в основном для того, чтобы ваша версия проекта следовала за вами (git) tags
версия.