sbt 任务来增加项目版本

问题描述 投票:0回答:2

是否有 SBT 任务来增加项目的版本?

给出如下所示的初始配置build.sbt

name := 'My Project'

organization := 'org.example'

version := '0.1.0'

以及 major.minor.patch 的版本控制命名法,我希望有一个像

这样的 SBT 任务
> incrementVersionPatch

这将导致

0.1.1
的版本。

(理想情况下还有相应的

incrementVersionMinor
incrementVersionMajor
。)

我觉得这一定已经存在,但找不到方法来做到这一点。

scala sbt
2个回答
9
投票

我认为您需要的是 sbt-release 插件,该插件 “提供了可以添加到项目中的可自定义发布流程。”“设置

release-version-file
,默认情况下设置为
file("version.sbt")
并且指向
$PROJECT_ROOT/version.sbt


0
投票

正如@jacek-laskowski 回答的那样,sbt-release 插件可以满足您的需求。它可以做更多的事情,事实上它被配置为默认执行整个发布过程。但是,您可以使用 SBT 覆盖发布过程,以便它仅增加版本号:

# Minor bump
sbt '
  ; set releaseProcess := Seq(ReleaseTransformations.inquireVersions, ReleaseTransformations.setNextVersion)
  ; set releaseVersionBump := sbtrelease.Version.Bump.Minor
  ; release with-defaults
'

# Major bump
sbt '
  ; set releaseProcess := Seq(ReleaseTransformations.inquireVersions, ReleaseTransformations.setNextVersion)
  ; set releaseVersionBump := sbtrelease.Version.Bump.Major
  ; release with-defaults
'

注意,为了使

sbt-release
正常工作,版本必须设置在单个文件
version.sbt
中,并带有
ThisBuild / version := "0.1.0"
(或任何其他版本号)。

© www.soinside.com 2019 - 2024. All rights reserved.