如何将自定义版本传递给 sbt 版本?
How to pass custom version to sbt release?
我需要将自定义版本传递给 SBT 发布任务。我目前 运行 这个:
sbt "release with-defaults release-version 1.2.3 next-version 1.3.0"
但我明白了:
[info] Loading project definition from F:\dev\MyProject\project
[info] Set current project to ipo-renew (in build file:/F:/dev/MyProject/)
[error] Expected whitespace character
[error] Expected 'with-defaults'
[error] Expected 'skip-tests'
[error] Expected 'cross'
[error] release with-defaults release-version 20.0.5-XML-Hotfix-1 next-version 20.0.5-XML-Hotfix-2
[error] ^
我试过没有引号:
sbt release with-defaults release-version 1.2.3 next-version 1.3.0
但随后系统提示我输入版本,而不是使用我提供的版本。
据我从 sbt 发布插件文档 (https://github.com/sbt/sbt-release) 中得知,我正在传递正确的内容 - 知道为什么它被忽略了吗?我最终需要它从 TeamCity 中的命令行步骤工作...
我也试过省略 'with-defaults' 选项,但这对结果没有影响。然而 运行 只是
sbt release with-defaults
正确地不提示我并使用我们在 version.sbt.
中的版本
首先,确保您使用的是 the latest sbt-release
version(截至 2016 年 10 月 18 日,当前为 1.0.3):
addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.3")
运行 with-defaults
作为命令的最后一个参数:
sbt "release release-version 1.2.3 next-version 1.3.0 with-defaults"
这是 TeamCity 中 运行 的输出:
[19:46:27] [Step 2/2] [info] Checking remote [origin] ...
[19:46:32] [Step 2/2] [info] Setting version to '1.2.3'.
[19:46:32] [Step 2/2] [info] Reapplying settings...
[19:46:34] [Step 2/2] [info] Set current project to ***
[19:46:34] [Step 2/2] [info] [development 7302685] Setting version to 1.2.3
[19:46:34] [Step 2/2] [info] 1 file changed, 1 insertion(+), 1 deletion(-)
[19:46:34] [Step 2/2] [info] Reapplying settings...
[19:46:35] [Step 2/2] [info] Set current project to ***
[19:46:35] [Step 2/2] [info] git push sends its console output to standard error, which will cause the next few lines to be marked as [error].
[19:46:36] [Step 2/2] [error] To ****
[19:46:36] [Step 2/2] [error] 4342272..7302685 development -> development
[19:46:37] [Step 2/2] [error] Everything up-to-date
我需要将自定义版本传递给 SBT 发布任务。我目前 运行 这个:
sbt "release with-defaults release-version 1.2.3 next-version 1.3.0"
但我明白了:
[info] Loading project definition from F:\dev\MyProject\project
[info] Set current project to ipo-renew (in build file:/F:/dev/MyProject/)
[error] Expected whitespace character
[error] Expected 'with-defaults'
[error] Expected 'skip-tests'
[error] Expected 'cross'
[error] release with-defaults release-version 20.0.5-XML-Hotfix-1 next-version 20.0.5-XML-Hotfix-2
[error] ^
我试过没有引号:
sbt release with-defaults release-version 1.2.3 next-version 1.3.0
但随后系统提示我输入版本,而不是使用我提供的版本。
据我从 sbt 发布插件文档 (https://github.com/sbt/sbt-release) 中得知,我正在传递正确的内容 - 知道为什么它被忽略了吗?我最终需要它从 TeamCity 中的命令行步骤工作...
我也试过省略 'with-defaults' 选项,但这对结果没有影响。然而 运行 只是
sbt release with-defaults
正确地不提示我并使用我们在 version.sbt.
中的版本首先,确保您使用的是 the latest sbt-release
version(截至 2016 年 10 月 18 日,当前为 1.0.3):
addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.3")
运行 with-defaults
作为命令的最后一个参数:
sbt "release release-version 1.2.3 next-version 1.3.0 with-defaults"
这是 TeamCity 中 运行 的输出:
[19:46:27] [Step 2/2] [info] Checking remote [origin] ...
[19:46:32] [Step 2/2] [info] Setting version to '1.2.3'.
[19:46:32] [Step 2/2] [info] Reapplying settings...
[19:46:34] [Step 2/2] [info] Set current project to ***
[19:46:34] [Step 2/2] [info] [development 7302685] Setting version to 1.2.3
[19:46:34] [Step 2/2] [info] 1 file changed, 1 insertion(+), 1 deletion(-)
[19:46:34] [Step 2/2] [info] Reapplying settings...
[19:46:35] [Step 2/2] [info] Set current project to ***
[19:46:35] [Step 2/2] [info] git push sends its console output to standard error, which will cause the next few lines to be marked as [error].
[19:46:36] [Step 2/2] [error] To ****
[19:46:36] [Step 2/2] [error] 4342272..7302685 development -> development
[19:46:37] [Step 2/2] [error] Everything up-to-date