This commit is contained in:
jem 2019-12-13 15:01:07 +01:00
parent 025b5c16a7
commit c7006a8477
3 changed files with 54 additions and 21 deletions

View file

@ -14,7 +14,8 @@
[io.aviso/pretty "0.1.37"]
[me.raynes/fs "1.4.6"]
[pandect "0.6.1"]
[selmer "1.12.17"]]
[selmer "1.12.17"]
[prismatic/schema "1.1.12"]]
:deploy-repositories [["snapshots" :clojars]
["releases" :clojars]]
:source-paths ["src"]

View file

@ -8,7 +8,8 @@
(ns cryogen-core.classpath-able-io
(:require [clojure.java.io :as io]
[clojure.string :as s]))
[clojure.string :as s]
[schema.core :as s]))
(def public "resources/public")
@ -22,21 +23,32 @@
(defn filter-for-ignore-patterns
[ignore-patterns source-list]
(filter #(not (re-matches ignore-patterns %)) source-list))
(filter #(not (re-matches ignore-patterns %)) source -list))
; TODO: Datenstruktur [s/Str]
(defn delete-file-recursive
[folders]
(when (not (empty? folders))
(let [file-to-work-with (first folders)
; TODO: .list fehlt noch
file-list (filter #(.isFile %) file-to-work-with)
dir-list (filter #(not (.isFile %)) file-to-work-with)]
(doseq [file file-list] (io/delete-file file))
(when (not (empty? dir-list))
(recur (drop 1 dir-list)))
(io/delete-file file-to-work-with))))
(s/defn get-file-paths-recursive :- [s/Str]
[base-path :- s/Str
paths :- [s/Str]]
(loop [paths paths
result []]
(when (not (empty? paths))
(let [path-to-work-with (first paths)
path-content (.list (io/file (str base-path "/" path-to-work-with)))
file-list (filter #(.isFile %) path-content)
dir-list (filter #(not (.isFile %)) path-content)]))))
; (defn delete-file-recursive
; [folders]
; (when (not (empty? folders))
; (let [file-to-work-with (first folders)
; ; TODO: .list fehlt noch
; file-list (filter #(.isFile %) file-to-work-with)
; dir-list (filter #(not (.isFile %)) file-to-work-with)]
; (doseq [file file-list] (io/delete-file file))
; (when (not (empty? dir-list))
; (recur (drop 1 dir-list)))
; (io/delete-file file-to-work-with))))
(defn file-from-cp
[resource-path]

View file

@ -12,6 +12,8 @@
[clojure.java.io :as io]
[cryogen-core.classpath-able-io :as sut]))
(set-fn-validation! true)
(def theme "bootstrap4-test")
(def target "target/tmp")
@ -23,12 +25,30 @@
(and (verify-file-exists path)
(.isDirectory (io/file path))))
(deftest test-wipe-public-folder
(is
(do
(.mkdir (io/file target))
(sut/delete-file-recursive (seq (io/file target)))
(not (verify-dir-exists target)))))
(deftest test-get-file-paths-recursive
(is (=
["js/dummy.js"]
(sut/get-file-paths-recursive "templates/themes/bootstrap4-test" ["js/dummy.js"]))
(is (=
["/css/dummy.css"
"css"
"/html/404.html"
"/html/403.html"
"/html"
"html"
"js/subdir/subdummy.js"
"js/subdir/test.js"
"js/subdir"
"js/dummy.js"
"js"]
(sut/get-file-paths-recursive "templates/themes/bootstrap4-test" [""])))))
; (deftest test-delete-file-recursive
; (is
; (do
; (.mkdir (io/file target))
; (sut/delete-file-recursive (seq (io/file target)))
; (not (verify-dir-exists target)))))
(deftest test-file-from-cp-or-filesystem
(is