Рассмотрим проект Clojure с папкой ресурсов, которая содержит несколько файлов, и еще одну папку с именем «public», содержащую некоторый веб-контент.
Я ищу задачу загрузки, которая компилирует ClojureScript, а затем перемещает только общий каталог в другой каталог в глобальной файловой системе. Наконец, папку следует переименовать в «проект-версия».
Следующее не работает, так как move-files
работает только с файлами, а не с каталогами. Тем не менее, я думаю, это проясняет идею:
(def project-name "My")
(def project-version "0.1.0")
(deftask store-web-dir []
(let [dir-name (format "%s-%s" project-name project-version)]
(comp
(cljs :optimizations :advanced)
(move-files :files {"public" dir-name}) ;; should rename the dir public to ..
(copy :output-dir "/some/path/web_dirs"
:matching #{(re-pattern (str "^" dir-name "$"))}))))
После этого должна быть папка /some/path/web_dirs/My-0.1.0
, в которой находится скомпилированная версия всех публичных файлов проекта.
sift
задание. - person Piotrek Bzdyl   schedule 15.08.2016