Scala 如何在特定命令上运行任务?
我正在使用和插件 当我运行以下命令时:Scala 如何在特定命令上运行任务?,scala,sbt,sbt-native-packager,sbt-plugin,sbt-git,Scala,Sbt,Sbt Native Packager,Sbt Plugin,Sbt Git,我正在使用和插件 当我运行以下命令时: # docker image sbt docker:publishLocal 我想执行这项任务: git.useGitDescribe := true git.formattedShaVersion := git.gitHeadCommit.value map { _ => git.gitCurrentTags.value.head } Docker / dockerAlias := D
# 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
命令执行。
如何存档 由于在执行任务之前需要修改状态,请尝试定义如下自定义命令:
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
执行命令