【问题标题】:Specify a custom git tag with sbt-release使用 sbt-release 指定自定义 git 标签
【发布时间】:2017-01-28 00:10:39
【问题描述】:

是否可以使用 sbt-release 为 git 标签名称指定 git 方案?

可以指定标签提交消息和评论。根据自述文件:

releaseTagComment := s"Releasing ${(version in ThisBuild).value}", releaseCommitMessage := s"Setting version to ${(version in ThisBuild).value}",

但我一直无法找到一种方法来更改实际标记文本的默认值,即设置为 s"v${releaseVersion}"。

我想在标签字符串中指定项目名称,例如“myproject-v0.1.1”

为了澄清,“标签字符串”是指您在例如git tag -l中看到的字符串

我们在同一个 git 存储库中有多个项目,它们的版本号相似,所以像“v0.1.0”这样的标签是模棱两可的。

【问题讨论】:

  • 这个问题令人困惑,你到底在问什么?您指的这个“实际标签文本”是什么? releaseTagCommentreleaseCommitMessage 不是都覆盖了吗?
  • @marios 我已经添加了一些说明

标签: scala sbt sbt-release


【解决方案1】:

有一个 sbt-release 配置值releaseTagName,您可以修改它来自定义如何生成发布标签。 这对我有用:

lazy val root = (project in file(".")).
  settings(
    .... other settings ....
    releaseTagName := s"version-${if (releaseUseGlobalVersion.value) (version in ThisBuild).value else version.value}",
    ....
    )

如果一切都失败了,您还可以自定义发布步骤,并编写自己的 tagRelease 步骤。

【讨论】:

    【解决方案2】:

    您可以根据自己的要求使用自定义标签。这是我遵循的方法。

    步骤

    1. build.sbt 文件中添加以下内容。在这里,如果分支是master,那么我使用的是semantic versioning,例如:1.0.1,但如果分支名称不是master,那么我使用的是自定义标签(branch-name + git-commitid + timestamp)。
    import scala.sys.process.Process
    
    lazy val root = (project in file(".")).enablePlugins(JavaAppPackaging)
    
    name := "your-project-name"
    scalaVersion := "2.12.11"
    
    val branch = Process("git rev-parse --abbrev-ref HEAD").lineStream.head
    version := {
      branch match {
        case "master" => (version in ThisBuild).value
        case _ => {
          val commit = Process("git rev-parse HEAD").lineStream.head
          val time = Process("git log -1 --format=%ct").lineStream.head
          branch +"-"+ commit +"-"+ time
        }
      }
    }
    
    1. 在项目的根目录中创建一个version.sbt 文件并添加version in ThisBuild := "1.0.1-SNAPSHOT"
    2. 最后,您可以使用sbt-release 或任何其他插件来发布/发布存储库中的工件。

    【讨论】:

      猜你喜欢
      • 2012-07-13
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      • 2014-12-26
      • 2017-02-10
      • 1970-01-01
      • 2016-10-12
      • 1970-01-01
      相关资源
      最近更新 更多