From 1bdb53d4e30aea73e35ab55d59510c81111c0113 Mon Sep 17 00:00:00 2001 From: jem Date: Mon, 16 Dec 2019 12:32:50 +0100 Subject: [PATCH] add ! for side-effect-full functions --- src/cryogen_core/classpath_able_io.clj | 18 +++++------ test/cryogen_core/classpath_able_io_test.clj | 34 ++++++++++---------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/cryogen_core/classpath_able_io.clj b/src/cryogen_core/classpath_able_io.clj index f2ae9eb..3cd4182 100644 --- a/src/cryogen_core/classpath_able_io.clj +++ b/src/cryogen_core/classpath_able_io.clj @@ -82,13 +82,13 @@ (doseq [path resource-paths] (io/delete-file path)))) -(defn copy-file +(defn copy-file! [source-file target-file] (do (io/make-parents target-file) (io/copy source-file target-file))) -(defn do-copy +(defn do-copy! [source-dir target-dir ignore-patterns] (loop [source-list (.list source-dir) file-path-prefix [""]] @@ -98,7 +98,7 @@ source-file (io/file source-dir (str (first file-path-prefix) f))] (if (.isFile source-file) (do - (copy-file source-file target-file) + (copy-file! source-file target-file) (when second? (recur (drop 1 source-list) (drop 1 file-path-prefix)))) (when (> (count (.list source-file)) 0) @@ -106,18 +106,18 @@ (concat (repeat (count (.list source-file)) (str (first file-path-prefix) f "/")) (drop 1 file-path-prefix)))))))) -(defn copy-resources +(defn copy-resources! [fs-prefix source-path target-path ignore-patterns] (let [source-file (file-from-cp-or-filesystem fs-prefix source-path) target-file (io/file target-path source-path) is-source-dir? (.isDirectory source-file)] (if (nil? source-file) (throw (IllegalArgumentException. (str "resource " source-path " not found"))) - (do-copy source-file target-file ignore-patterns)))) + (do-copy! source-file target-file ignore-patterns)))) -(defn copy-resources-from-theme +(defn copy-resources-from-theme! [fs-prefix theme target-path ignore-patterns] (let [theme-path (str "templates/themes/" theme)] - (copy-resources fs-prefix (str theme-path "/css") target-path ignore-patterns) - (copy-resources fs-prefix (str theme-path "/js") target-path ignore-patterns) - (copy-resources fs-prefix (str theme-path "/html/") target-path ignore-patterns))) + (copy-resources! fs-prefix (str theme-path "/css") target-path ignore-patterns) + (copy-resources! fs-prefix (str theme-path "/js") target-path ignore-patterns) + (copy-resources! fs-prefix (str theme-path "/html/") target-path ignore-patterns))) diff --git a/test/cryogen_core/classpath_able_io_test.clj b/test/cryogen_core/classpath_able_io_test.clj index f602ec8..a277621 100644 --- a/test/cryogen_core/classpath_able_io_test.clj +++ b/test/cryogen_core/classpath_able_io_test.clj @@ -56,7 +56,7 @@ (is (do (.mkdir (io/file (str "target/tmp" target))) - (sut/delete-resource-recursive! (str "target/tmp"target)) + (sut/delete-resource-recursive! (str "target/tmp" target)) (not (verify-dir-exists (str "target/tmp" target)))))) (deftest test-file-from-cp-or-filesystem @@ -84,19 +84,19 @@ (.exists (sut/file-from-cp-or-filesystem "./" ".gitkeep")))) -(deftest test-copy-resources-from-theme - (is (do - (sut/copy-resources-from-theme "./" theme target "") - (and (verify-dir-exists - (str target "/templates/themes/bootstrap4-test/js")) - (verify-file-exists - (str target "/templates/themes/bootstrap4-test/js/dummy.js")) - (verify-dir-exists - (str target "/templates/themes/bootstrap4-test/js/subdir")) - (verify-file-exists - (str target "/templates/themes/bootstrap4-test/js/subdir/subdummy.js")) - (verify-file-exists - (str target "/templates/themes/bootstrap4-test/css/dummy.css")) - (verify-file-exists - (str target "/templates/themes/bootstrap4-test/html/404.html")) - )))) +(deftest test-copy-resources-from-theme! (is (do + (sut/delete-resource-recursive! (str "target/tmp" target)) + (sut/copy-resources-from-theme! "./" theme target "") + (and (verify-dir-exists + (str target "/templates/themes/bootstrap4-test/js")) + (verify-file-exists + (str target "/templates/themes/bootstrap4-test/js/dummy.js")) + (verify-dir-exists + (str target "/templates/themes/bootstrap4-test/js/subdir")) + (verify-file-exists + (str target "/templates/themes/bootstrap4-test/js/subdir/subdummy.js")) + (verify-file-exists + (str target "/templates/themes/bootstrap4-test/css/dummy.css")) + (verify-file-exists + (str target "/templates/themes/bootstrap4-test/html/404.html")) + ))))