2015-01-08 29 views
1

我正在使用lein exec插件任務作爲我的:release-tasks載體中的任務,但是每次其中一個lein exec任務完成時,其餘的發佈任務都不會運行。如何在發佈clojure leiningen項目時使用lein exec任務:release-tasks?

我:發佈任務是:

$ 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 

當我運行執行任務本身它運行正常,並返回一個成功的退出代碼:

$ lein exec bin/set-version-from-project.clj 
$ echo $? 
0 

我怎樣才能得到所有的t hese:釋放任務按順序運行?

回答

1

我從lein-exec插件切換到lein-oneoff插件。它是一個類似的插件,適用於:發佈任務。

以下是工作:發佈任務。

$ 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"]]