refactor: o kepeken lipu Resource (kepeken ala ilo Properties)
All checks were successful
build / build (push) Successful in 1m8s

This commit is contained in:
2026-03-23 08:10:17 -06:00
parent d87c27ef56
commit 260627cc44
4 changed files with 20 additions and 16 deletions

View File

@@ -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

View File

@@ -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)

View File

@@ -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)))