-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeps.edn
More file actions
94 lines (81 loc) · 5.08 KB
/
Copy pathdeps.edn
File metadata and controls
94 lines (81 loc) · 5.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
;; "cljs" holds the site islands' ClojureScript sources. They ride the
;; main classpath as inert data; the compiler that turns one into a
;; browser bundle sits behind the optional :cljs alias.
{:paths ["src" "resources" "cljs"]
:deps {org.clojure/clojure {:mvn/version "1.12.0"}
org.clojure/tools.cli {:mvn/version "1.1.230"}
metosin/malli {:mvn/version "0.16.4"}
no.cjohansen/m1p {:mvn/version "2026.01.1"}
org.apache.xmlgraphics/fop {:mvn/version "2.11"}
;; Hyphenation patterns for FOP's line breaker. FOP picks them up
;; by classpath presence alone; the fo:root language/country
;; attributes (from :book/language) select the pattern set.
net.sf.offo/fop-hyph {:mvn/version "2.0"}
org.commonmark/commonmark {:mvn/version "0.24.0"}
org.commonmark/commonmark-ext-gfm-tables {:mvn/version "0.24.0"}
org.commonmark/commonmark-ext-footnotes {:mvn/version "0.24.0"}
;; Autolinks bare URLs (and www. hosts) so a citation's URL becomes a
;; real link annotation carrying the full destination, instead of
;; plain text a PDF viewer auto-detects and truncates at a line break.
org.commonmark/commonmark-ext-autolink {:mvn/version "0.24.0"}}
;; Lets Clojure developers install Smia as a named tool straight from git:
;; `clojure -Ttools install io.github.leifericf/smia '{:git/tag "..." :git/sha "..."}' :as smia`
;; then `clojure -Tsmia build :book-root '"my-book"'`. The smia.api fns all
;; take a single map, so they are -T-compatible as they stand.
:tools/usage {:ns-default smia.api}
:aliases
{:test {:extra-paths ["test" "test/resources"]
;; jlatexmath, plantuml, and the ClojureScript toolchain are
;; here because the dogfood manual carries live math, a live
;; diagram, and the site islands, and the characterization
;; tests build it in-process.
:extra-deps {io.github.cognitect-labs/test-runner
{:git/tag "v0.5.1" :git/sha "dfb30dd"}
org.apache.pdfbox/pdfbox {:mvn/version "3.0.3"}
org.w3c/epubcheck {:mvn/version "5.1.0"}
org.scilab.forge/jlatexmath {:mvn/version "1.0.7"}
net.sourceforge.plantuml/plantuml-mit {:mvn/version "1.2024.8"}
org.clojure/clojurescript {:mvn/version "1.11.132"}
no.cjohansen/replicant {:mvn/version "2025.12.1"}
thheller/shadow-cljs {:mvn/version "2.28.20"}
org.slf4j/slf4j-nop {:mvn/version "1.7.36"}}
:main-opts ["-m" "cognitect.test-runner"]
:exec-fn cognitect.test-runner.api/test}
:dev {:extra-paths ["test" "test/resources" "dev"]
:extra-deps {nrepl/nrepl {:mvn/version "1.3.0"}}}
:run {:main-opts ["-m" "smia.cli"]}
;; The site islands' ClojureScript compiler, all JVM (no Node). A site
;; build whose theme enables an island compiles its bundle on demand;
;; compose this alias with the command like the optional renderers,
;; e.g. `clojure -M:run:cljs build manual --edition site`. A book
;; using no island never needs it.
:cljs {:extra-deps {org.clojure/clojurescript {:mvn/version "1.11.132"}
no.cjohansen/replicant {:mvn/version "2025.12.1"}
thheller/shadow-cljs {:mvn/version "2.28.20"}}}
:init {:exec-fn smia.api/init
:exec-args {}}
:build {:exec-fn smia.api/build
:exec-args {}}
:validate {:exec-fn smia.api/validate
:exec-args {}}
;; Optional code-validation evaluators. A book pulls in only the
;; languages it validates; Clojure needs nothing extra, and Java uses the
;; in-JDK JShell. Compose with :run / :validate / :build, e.g.
;; `clojure -M:run:eval-groovy validate manual --validate-code`.
;; Optional renderers, composed with the command like the evaluators:
;; math (LaTeX -> SVG) needs JLaTeXMath, diagrams (PlantUML text -> SVG)
;; the MIT PlantUML build, e.g. `clojure -M:run:math:diagrams build`.
:math {:extra-deps {org.scilab.forge/jlatexmath {:mvn/version "1.0.7"}}}
:diagrams {:extra-deps {net.sourceforge.plantuml/plantuml-mit {:mvn/version "1.2024.8"}}}
;; A no-op SLF4J binding, so FOP's logging facade stays silent instead of
;; printing "Failed to load class org.slf4j.impl.StaticLoggerBinder" noise.
;; Composed into the packaged jar (and the test runs) only; as a library
;; dependency Smia must not impose a binding on the consumer's logging.
:slf4j-nop {:extra-deps {org.slf4j/slf4j-nop {:mvn/version "1.7.36"}}}
:eval-groovy {:extra-deps {org.apache.groovy/groovy {:mvn/version "4.0.24"}}}
:eval-kotlin {:extra-deps {org.jetbrains.kotlin/kotlin-scripting-jsr223
{:mvn/version "2.0.21"}}}
;; Packaging: `clojure -T:jar uber` builds the standalone target/smia.jar
;; (named :jar because :build is the exec-fn alias for building books).
:jar {:deps {io.github.clojure/tools.build {:mvn/version "0.10.9"}}
:ns-default build}}}