【发布时间】:2019-05-14 12:43:23
【问题描述】:
如何从我的build.sbt 文件中增加项目版本号,以便在编译时自动上传到 git?
【问题讨论】:
如何从我的build.sbt 文件中增加项目版本号,以便在编译时自动上传到 git?
【问题讨论】:
sbt-release 插件将为您完成所有这些工作。
如果您从命令行发出命令sbt release,此插件将删除-SNAPSHOT 后缀、标记、提交并将更改推送到您的存储库、构建、测试和发布工件,然后更新版本版本编号(再次添加 -SNAPSHOT 后缀),再次提交更改。
如果需要,上述所有步骤都可以自定义。
【讨论】:
您可以使用sbt-release 插件。
步骤
./project/plugins.sbt) 创建一个plugins.sbt 文件。plugins.sbt文件中添加最新的addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.13")插件。build.sbt文件中添加如下内容。import ReleaseTransformations._
releaseVersionBump := sbtrelease.Version.Bump.Next
releaseVersionFile := baseDirectory.value / "version.sbt"
publishConfiguration := publishConfiguration.value.withOverwrite(true)
releaseIgnoreUntrackedFiles := true
releaseProcess := Seq[ReleaseStep](
checkSnapshotDependencies, // : ReleaseStep
inquireVersions, // : ReleaseStep
runClean, // : ReleaseStep
runTest, // : ReleaseStep
setReleaseVersion, // : ReleaseStep
commitReleaseVersion, // : ReleaseStep, performs the initial git checks
tagRelease, // : ReleaseStep
publishArtifacts, // : ReleaseStep, checks whether `publishTo` is properly set up
releaseStepTask(publish in Docker), // : ReleaseStep, publish the docker image in your specified repository(e.i. Nexus)
setNextVersion, // : ReleaseStep
commitNextVersion, // : ReleaseStep
pushChanges // : ReleaseStep, also checks that an upstream branch is properly configured
)
version.sbt 文件。version in ThisBuild := "1.0.0-SNAPSHOT" 添加到version.sbt 文件中。sbt release or sbt 'release with-defaults')注意:
ReleaseStep 中添加了releaseStepTask(publish in Docker),以便在您指定的存储库(例如Nexus)中自动构建/推送docker 映像。releaseStepTask(publish in Docker) 步骤,您需要在plugins.sbt 文件中添加一个sbt-native-packager(addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.7.6"))。【讨论】: