Boot tasks that collects source files #{.clj .cljs .cljc .js}
and do
something with them.
(set-env! :dependencies '[[powerlaces/boot-sources "X.Y.Z" :scope "test"]])
(require '[powerlaces.boot-sources :refer :all])
Include pack-sources
at any point of your task chain. For instance from the
command line:
boot cljs sass pack-sources -d "org.clojure/clojurescript:1.8.34" target
If you look in the target
folder you will see that a clj-src
dir has been
created (the default if you don't specify :to-dir
) and it now contains the
ClojureScript sources.
As usual, boot pack-sources -h
shows you the option summary.
Note that if you don't specify -d|--dependencies
, the current (get-env)
will be queried and all the dependencies in build.boot
will be included.
This time in the repl, another example that dumps everything to the target
folder:
(require '[powerlaces.boot-sources :refer [pack-sources]])
(boot (pack-sources :dependencies #{['org.clojure/clojurescript "1.8.34"]}
:exclude #{#"project.clj"
#"third_party\/closure\/.*base.js$"
#"third_party\/closure\/.*deps.js$"
#"org\/clojure\/clojure\/.*$"}
:exclusions '#{org.clojure/clojure
org.mozilla/rhino})
(built-in/target))
This is particularly useful for self-hosted REPL apps, which requires (pun intended) source files along with the deployed app in order to work properly. For more info see here.
I suggest first of all to open an issue explaining what is missing and why you
think it should be added. If the reason is compelling, run boot auto-test
and
freely hack away.
Copyright © 2016 Andrea Richiardi & Scalac Sp. z o.o.
Copyright © 2017 Andrea Richiardi
Distributed under the Eclipse Public License, the same as Clojure.