refactor: o kepeken lipu Resource (kepeken ala ilo Properties)
All checks were successful
build / build (push) Successful in 1m8s
All checks were successful
build / build (push) Successful in 1m8s
This commit is contained in:
@@ -31,15 +31,13 @@ let
|
|||||||
doerg-temml-worker
|
doerg-temml-worker
|
||||||
];
|
];
|
||||||
|
|
||||||
doerg-config = writeText "doerg-config.edn" ''
|
doerg-config = writeText "doerg-extra-config.edn" ''
|
||||||
tee $out <<EOF
|
|
||||||
#:net.deertopia.doerg
|
#:net.deertopia.doerg
|
||||||
{:ibm-plex-web "${ibm-plex-web}"
|
{:ibm-plex-web "${ibm-plex-web}"
|
||||||
:latex "${lib.getExe' our-tex "xelatex"}"
|
:latex "${lib.getExe' our-tex "xelatex"}"
|
||||||
:dvisvgm "${lib.getExe' our-tex "xelatex"}"
|
:dvisvgm "${lib.getExe' our-tex "dvisvgm"}"
|
||||||
:doerg-temml-worker "${lib.getExe doerg-temml-worker}"
|
:doerg-temml-worker "${lib.getExe doerg-temml-worker}"
|
||||||
:doerg-parser "${lib.getExe doerg-parser}"}
|
:doerg-parser "${lib.getExe doerg-parser}"}
|
||||||
EOF
|
|
||||||
'';
|
'';
|
||||||
in mkCljBin' {
|
in mkCljBin' {
|
||||||
name = "net.deertopia/doerg";
|
name = "net.deertopia/doerg";
|
||||||
@@ -63,7 +61,9 @@ in mkCljBin' {
|
|||||||
plex
|
plex
|
||||||
our-tex
|
our-tex
|
||||||
];
|
];
|
||||||
java-opts = [ "-Dnet.deertopia.doerg.config=${doerg-config}" ];
|
preBuild = ''
|
||||||
|
cp ${doerg-config} resources/net/deertopia/doerg/extra-config.edn
|
||||||
|
'';
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
clojure -M:test
|
clojure -M:test
|
||||||
|
|||||||
@@ -21,7 +21,11 @@
|
|||||||
|
|
||||||
(s/def ::d/executable
|
(s/def ::d/executable
|
||||||
(s/conformer
|
(s/conformer
|
||||||
#(or (some-> (fs/which %) fs/file)
|
;; I'd love to use `fs/which` here, but it's fairly problematic to
|
||||||
|
;; check `fs/executable?` at… build time (which `fs/which` does)?
|
||||||
|
;; Wait… what? Do I know how Clojure compilation works?
|
||||||
|
#(or #_(some-> % fs/expand-home fs/which fs/file)
|
||||||
|
(some-> % fs/expand-home fs/file)
|
||||||
::s/invalid)))
|
::s/invalid)))
|
||||||
|
|
||||||
(s/def ::d/ibm-plex-web ::d/directory)
|
(s/def ::d/ibm-plex-web ::d/directory)
|
||||||
@@ -58,13 +62,12 @@
|
|||||||
(def read-config (make-read-config ::d/config))
|
(def read-config (make-read-config ::d/config))
|
||||||
|
|
||||||
(def default
|
(def default
|
||||||
(let [r (-> "net/deertopia/doerg/config.edn"
|
(read-config
|
||||||
io/resource
|
;; Default config.
|
||||||
(read-config (System/getProperty "net.deertopia.doerg.config")
|
(io/resource "net/deertopia/doerg/default-config.edn")
|
||||||
(System/getenv "DOERG_CONFIG")))]
|
;; Defaults set at build time, if any.
|
||||||
(if (s/invalid? r)
|
(io/resource "net/deertopia/doerg/extra-config.edn")
|
||||||
(throw (IllegalArgumentException.
|
;; Config set at runtime.
|
||||||
"default config is bad!"))
|
(System/getenv "DOERG_CONFIG")))
|
||||||
r)))
|
|
||||||
|
|
||||||
(def ^:dynamic *cfg* default)
|
(def ^:dynamic *cfg* default)
|
||||||
|
|||||||
@@ -20,8 +20,9 @@
|
|||||||
(loop [os (seq overrides)
|
(loop [os (seq overrides)
|
||||||
loc zloc]
|
loc zloc]
|
||||||
(if-some [[[k v] & xs] os]
|
(if-some [[[k v] & xs] os]
|
||||||
(do (printf "override dep %s with %s\n"
|
(do (binding [*out* *err*]
|
||||||
(pr-str k) (pr-str v))
|
(printf "override dep %s with %s\n"
|
||||||
|
(pr-str k) (pr-str v)))
|
||||||
(recur xs (z/assoc loc k v)))
|
(recur xs (z/assoc loc k v)))
|
||||||
loc)))
|
loc)))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user