feat: o sona e lipu Config kepeken ilo Java Properties
Some checks failed
build / build (push) Failing after 1m15s

This commit is contained in:
2026-03-22 16:43:49 -06:00
parent fad31603a2
commit d87c27ef56
7 changed files with 27 additions and 8 deletions

View File

@@ -7,6 +7,7 @@
, fake-git , fake-git
, our-tex ? callPackage ./our-tex.nix {} , our-tex ? callPackage ./our-tex.nix {}
, makeWrapper , makeWrapper
, writeText
}: }:
let let
@@ -23,11 +24,23 @@ let
plex = ibm-plex-web.override { plex = ibm-plex-web.override {
families = [ "math" "serif" "sans" "sans-kr" ]; families = [ "math" "serif" "sans" "sans-kr" ];
}; };
bin-path = lib.makeBinPath [ bin-path = lib.makeBinPath [
doerg-parser doerg-parser
our-tex our-tex
doerg-temml-worker doerg-temml-worker
]; ];
doerg-config = writeText "doerg-config.edn" ''
tee $out <<EOF
#:net.deertopia.doerg
{:ibm-plex-web "${ibm-plex-web}"
:latex "${lib.getExe' our-tex "xelatex"}"
:dvisvgm "${lib.getExe' our-tex "xelatex"}"
:doerg-temml-worker "${lib.getExe doerg-temml-worker}"
:doerg-parser "${lib.getExe doerg-parser}"}
EOF
'';
in mkCljBin' { in mkCljBin' {
name = "net.deertopia/doerg"; name = "net.deertopia/doerg";
version = "0.1.0"; version = "0.1.0";
@@ -50,12 +63,9 @@ in mkCljBin' {
plex plex
our-tex our-tex
]; ];
java-opts = [ "-Dnet.deertopia.doerg.config=${doerg-config}" ];
doCheck = true; doCheck = true;
checkPhase = '' checkPhase = ''
clojure -M:test clojure -M:test
''; '';
postInstall = ''
wrapProgram $out/bin/doerg \
--prefix PATH : ${bin-path}
'';
} }

View File

@@ -10,4 +10,5 @@ buildNpmPackage {
npmDeps = importNpmLock { npmRoot = ./.; }; npmDeps = importNpmLock { npmRoot = ./.; };
npmConfigHook = importNpmLock.npmConfigHook; npmConfigHook = importNpmLock.npmConfigHook;
dontNpmBuild = true; dontNpmBuild = true;
meta.mainProgram = "doerg-parser";
} }

View File

@@ -18,4 +18,5 @@ buildNpmPackage {
npmDeps = importNpmLock { npmRoot = ./.; }; npmDeps = importNpmLock { npmRoot = ./.; };
npmConfigHook = importNpmLock.npmConfigHook; npmConfigHook = importNpmLock.npmConfigHook;
dontNpmBuild = true; dontNpmBuild = true;
meta.mainProgram = "doerg-temml-worker";
} }

View File

@@ -59,7 +59,9 @@
(def default (def default
(let [r (-> "net/deertopia/doerg/config.edn" (let [r (-> "net/deertopia/doerg/config.edn"
io/resource (read-config (System/getenv "DOERG_CONFIG")))] io/resource
(read-config (System/getProperty "net.deertopia.doerg.config")
(System/getenv "DOERG_CONFIG")))]
(if (s/invalid? r) (if (s/invalid? r)
(throw (IllegalArgumentException. (throw (IllegalArgumentException.
"default config is bad!")) "default config is bad!"))

View File

@@ -9,7 +9,9 @@ mkCljBin {
projectSrc = ./.; projectSrc = ./.;
lockfile = ../deps-lock.json; lockfile = ../deps-lock.json;
main-ns = "net.deertopia.publisher.main"; main-ns = "net.deertopia.publisher.main";
buildInputs = []; buildInputs = [
doerg
];
nativeBuildInputs = [ nativeBuildInputs = [
babashka babashka
]; ];

View File

@@ -20,7 +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]
(recur xs (z/assoc loc k v)) (do (printf "override dep %s with %s\n"
(pr-str k) (pr-str v))
(recur xs (z/assoc loc k v)))
loc))) loc)))
(defn args->overrides [args] (defn args->overrides [args]

View File

@@ -19,6 +19,7 @@
(def default (def default
(-> "net/deertopia/publisher/config.edn" (-> "net/deertopia/publisher/config.edn"
io/resource io/resource
(read-config (System/getenv "DOERG_PUBLISHER_CONFIG")))) (read-config (System/getProperty "net.deertopia.publisher.config")
(System/getenv "DOERG_PUBLISHER_CONFIG"))))
(def ^:dynamic *cfg* default) (def ^:dynamic *cfg* default)