同时运行多个lein任务

时间:2017-11-02 12:24:10

标签: clojure leiningen

我目前是Leiningen项目的新手。我想在运行中使用lein-lessminify-assets编译较少的css,因此我发现我应该使用lein less auto表示较少的文件,lein minify-assets watch表示javascripts和HTML文件。

我正在使用lein-cascade来操作它们,但它仍然在lein less auto任务上而不是lein minify-assets watch

这是我的项目代码

(defproject indecorlein "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.8.0"]]
  :plugins [[lein-asset-minifier "0.4.3"]
            [lein-less "1.7.5"]
            [lein-cascade "0.1.2"]]

  :min-lein-version "2.5.0"

  :cascade {
            "lessc" [["less" "auto"]]
            "min" [["minify-assets" "watch"]]
            "amp" ["lessc" "min"]
            }

  :less {:source-paths ["dev/resources/less"]
         :target-path "dev/resources/css"}

  :minify-assets [
                  [:html {:source "dev/resources/html" :target "dev/minified/html"}]
                  [:css {:source "dev/resources/css" :target "dev/minified/css/styles.min.css"}]
                  [:js {:source ["dev/res/js"] :target "dev/minified/js/amp.min.js"}]])

也许有关于此的解决方案或我只是在单独的终端选项卡上运行任务。

2 个答案:

答案 0 :(得分:1)

您可以使用lein-pdo插件。将其添加到插件中并定义别名:

  :plugins [...
            [lein-pdo "0.1.1"]]

  :aliases {"watch" ["pdo" ["less" "auto"]
                           ["minify-assets" "watch"]]}

然后你可以运行lein watch,它将同时运行两个任务。

答案 1 :(得分:0)

问题是lein less autolein minify-assets watch都没有返回。我过去在控制台中使用了lein less auto