我正在使用https://github.com/sbt/sbt-native-packager和https://github.com/sbt/sbt-git插件。
当我运行以下命令时:
# docker image
sbt docker:publishLocal
我想执行此任务:
git.useGitDescribe := true
git.formattedShaVersion := git.gitHeadCommit.value map { _ =>
git.gitCurrentTags.value.head
}
Docker / dockerAlias := DockerAlias(None, Some("zerocoder"), (packageName in Docker).value, git.gitDescribedVersion.value)
以上任务只能由docker:publishLocal
命令执行。
如何存档?
答案 0 :(得分:1)
由于在执行任务之前需要修改状态,因此请尝试定义自定义命令,如下所示:
commands += Command.command("publishLocalWithGit") { state =>
"""set git.useGitDescribe := true""" ::
"""set git.formattedShaVersion := git.gitHeadCommit.value map { _ => git.gitCurrentTags.value.head }""" ::
"""set Docker / dockerAlias := DockerAlias(None, Some("zerocoder"), (packageName in Docker).value, git.gitDescribedVersion.value)""" ::
"""docker:publishLocal""" :: state
}
使用sbt publishLocalWithGit
执行命令。