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-config = writeText "doerg-config.edn" ''
|
||||
tee $out <<EOF
|
||||
doerg-config = writeText "doerg-extra-config.edn" ''
|
||||
#:net.deertopia.doerg
|
||||
{:ibm-plex-web "${ibm-plex-web}"
|
||||
: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-parser "${lib.getExe doerg-parser}"}
|
||||
EOF
|
||||
'';
|
||||
in mkCljBin' {
|
||||
name = "net.deertopia/doerg";
|
||||
@@ -63,7 +61,9 @@ in mkCljBin' {
|
||||
plex
|
||||
our-tex
|
||||
];
|
||||
java-opts = [ "-Dnet.deertopia.doerg.config=${doerg-config}" ];
|
||||
preBuild = ''
|
||||
cp ${doerg-config} resources/net/deertopia/doerg/extra-config.edn
|
||||
'';
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
clojure -M:test
|
||||
|
||||
@@ -21,7 +21,11 @@
|
||||
|
||||
(s/def ::d/executable
|
||||
(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/def ::d/ibm-plex-web ::d/directory)
|
||||
@@ -58,13 +62,12 @@
|
||||
(def read-config (make-read-config ::d/config))
|
||||
|
||||
(def default
|
||||
(let [r (-> "net/deertopia/doerg/config.edn"
|
||||
io/resource
|
||||
(read-config (System/getProperty "net.deertopia.doerg.config")
|
||||
(System/getenv "DOERG_CONFIG")))]
|
||||
(if (s/invalid? r)
|
||||
(throw (IllegalArgumentException.
|
||||
"default config is bad!"))
|
||||
r)))
|
||||
(read-config
|
||||
;; Default config.
|
||||
(io/resource "net/deertopia/doerg/default-config.edn")
|
||||
;; Defaults set at build time, if any.
|
||||
(io/resource "net/deertopia/doerg/extra-config.edn")
|
||||
;; Config set at runtime.
|
||||
(System/getenv "DOERG_CONFIG")))
|
||||
|
||||
(def ^:dynamic *cfg* default)
|
||||
|
||||
@@ -20,8 +20,9 @@
|
||||
(loop [os (seq overrides)
|
||||
loc zloc]
|
||||
(if-some [[[k v] & xs] os]
|
||||
(do (printf "override dep %s with %s\n"
|
||||
(pr-str k) (pr-str v))
|
||||
(do (binding [*out* *err*]
|
||||
(printf "override dep %s with %s\n"
|
||||
(pr-str k) (pr-str v)))
|
||||
(recur xs (z/assoc loc k v)))
|
||||
loc)))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user