リソースフォルダを含むClojureプロジェクトと、いくつかのファイルと、いくつかのWebコンテンツを保持する "public"という別のフォルダがあります。boot-clj:ファイルセットから特定のフォルダのみを抽出するタスク
私はClojureScriptをコンパイルし、パブリックディレクトリだけをグローバルファイルシステム内の別のディレクトリに移動するブートタスクを探しています。最後に、フォルダ名を "project-version"に変更する必要があります。
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
、があるはずです。
bootは独自のファイルシステム抽象化を使用します。ファイル処理には標準機能を使用しないでください。 'sift'タスクを見てみましょう。 –
良いアドバイスは、ここに適切なツールのように見えます。 –