Merge branch 'master' of github.com:DomainDrivenArchitecture/cryogen-core

This commit is contained in:
jem 2020-01-16 12:46:59 +01:00
commit 7eedc3ef16

View file

@ -34,6 +34,8 @@
(def public "resources/public")
(def NoLinkOption (into-array [LinkOption/NOFOLLOW_LINKS]))
(defn path
"Creates path from given parts, ignore empty elements"
[& path-parts]
@ -61,12 +63,12 @@
java-path :- JavaPath
source-type :- SourceType]
{:short-path short-path
:uri (java.net.URI. (str "file://" (.toString java-path)))
:uri (.toUri java-path)
:java-path java-path
:source-type source-type
:resource-type (cond
(Files/isDirectory java-path (into-array [LinkOption/NOFOLLOW_LINKS])) :dir
(Files/isRegularFile java-path (into-array [LinkOption/NOFOLLOW_LINKS])) :java-path
(Files/isDirectory java-path NoLinkOption) :dir
(Files/isRegularFile java-path NoLinkOption) :java-path
:else :unknown)}))
(s/defn is-file? :- s/Bool
@ -77,7 +79,7 @@
[resource-path :- ShortPath]
(try
(let [path-from-cp (Paths/get (java.net.URI. (.toString (io/resource resource-path))))]
(when (Files/exists path-from-cp (into-array [LinkOption/NOFOLLOW_LINKS]))
(when (Files/exists path-from-cp NoLinkOption)
path-from-cp))
(catch Exception e
nil)))
@ -87,7 +89,7 @@
resource-path :- ShortPath]
(let [path-from-fs (Paths/get (java.net.URI. (str "file://" fs-prefix resource-path)))] ;with this, you need to give the absolute path
(try
(when (Files/exists path-from-fs (into-array [LinkOption/NOFOLLOW_LINKS]))
(when (Files/exists path-from-fs NoLinkOption)
path-from-fs)
(catch Exception e
nil))))
@ -205,9 +207,9 @@
fs-prefix
base-path
resource-path)]
(when (Files/isDirectory source-file (into-array [LinkOption/NOFOLLOW_LINKS]))
(when (Files/isDirectory source-file NoLinkOption)
(Files/createDirectories target-file (into-array FileAttribute [])))
(when (Files/isRegularFile source-file (into-array [LinkOption/NOFOLLOW_LINKS]))
(when (Files/isRegularFile source-file NoLinkOption)
(Files/copy source-file target-file (into-array StandardCopyOption [StandardCopyOption/COPY_ATTRIBUTES StandardCopyOption/REPLACE_EXISTING]))
))))))