我正在使用lein exec插件任务作为我的:release-tasks向量中的任务,但每当其中一个lein exec任务完成,其余的发布任务都不会运行。
我的:发布任务是:
$ lein pprint :release-tasks
[["vcs" "assert-committed"]
["change" "version" "leiningen.release/bump-version" "release"]
["exec" "bin/set-version-from-project.clj"]
["vcs" "commit"]
["vcs" "tag"]
["exec" "bin/make-bin.clj"]
["change" "version" "leiningen.release/bump-version"]
["exec" "bin/set-version-from-project.clj"]
["vcs" "commit"]
["vcs" "push"]]
当我发布它时会停止在第一个exec任务中,但会返回一个成功的退出代码:
$ DEBUG=1 lein release
Leiningen's classpath: /Users/paul/.lein/self-installs/leiningen-2.5.0-standalone.jar
Applying task release to []
Applying task change to [version leiningen.release/bump-version release]
Applying task exec to [bin/set-version-from-project.clj]
$ echo $?
0
当我单独运行exec任务时,它正确运行并返回一个成功的退出代码:
$ lein exec bin/set-version-from-project.clj
$ echo $?
0
如何获得所有这些:发布任务按顺序运行?
答案 0 :(得分:1)
我从lein-exec插件切换到lein-oneoff插件。它是一个类似的插件,适用于:release-tasks。
这是工作:发布任务。
$ lein pprint :release-tasks
[["vcs" "assert-committed"]
["change" "version" "leiningen.release/bump-version" "release"]
["oneoff" "bin/set-version-from-project.clj"]
["vcs" "commit"]
["vcs" "tag"]
["oneoff" "bin/make-bin.clj"]
["change" "version" "leiningen.release/bump-version"]
["oneoff" "bin/set-version-from-project.clj"]
["vcs" "commit"]
["vcs" "push"]]