forked from clj-commons/rewrite-clj
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeps.edn
141 lines (116 loc) · 7.28 KB
/
deps.edn
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
{:paths ["src" "resources"]
:deps {org.clojure/clojure {:mvn/version "1.8.0"}
org.clojure/tools.reader {:mvn/version "1.3.6"}}
:aliases {;;
;; Clojure versions we support
;;
:1.8 {:override-deps {org.clojure/clojure {:mvn/version "1.8.0"}}}
:1.9 {:override-deps {org.clojure/clojure {:mvn/version "1.9.0"}}}
:1.10 {:override-deps {org.clojure/clojure {:mvn/version "1.10.3"}}}
:1.11 {:override-deps {org.clojure/clojure {:mvn/version "1.11.1"}}}
;;
;; ClojureScript version we test with (and support)
;;
:cljs {:extra-deps {org.clojure/clojurescript {:mvn/version "1.11.4"}}}
;;
;; Linting
;;
:lint-cache {:replace-paths ["src"]} ;; when building classpath we want to exclude resources
;; so we do not pick up our own clj-kondo config exports
:clj-kondo {:extra-deps {clj-kondo/clj-kondo {:mvn/version "2022.04.08"}}
:override-deps {org.clojure/clojure {:mvn/version "1.11.1"}}
:main-opts ["-m" "clj-kondo.main"]}
:eastwood {:extra-deps {jonase/eastwood {:mvn/version "1.2.3"}}
:main-opts ["-m" "eastwood.lint" {:source-paths ["src"]
:test-paths ["test"]
:add-linters [:performance]
:ignored-faults {:deprecations {rewrite-clj.regression-test true
rewrite-clj.zip.whitespace-test true}}}]}
;;
;; Test support
;;
:test-common {:extra-deps {org.clojure/test.check {:mvn/version "1.1.1"}}
:extra-paths ["test"]}
:test-isolated {:extra-paths ["test-isolated"]}
;; document block testing
:test-doc-blocks {:replace-deps {org.clojure/clojure {:mvn/version "1.11.1"}
com.github.lread/test-doc-blocks {:mvn/version "1.0.166-alpha"}}
:replace-paths []
:ns-default lread.test-doc-blocks
:exec-args {:docs ["doc/01-user-guide.adoc"
"doc/design/01-merging-rewrite-clj-and-rewrite-cljs.adoc"
"doc/design/namespaced-elements.adoc"
"src/rewrite_clj/node.cljc"]}}
:test-docs {:override-deps {org.clojure/clojure {:mvn/version "1.11.1"}}
:extra-paths ["target/test-doc-blocks/test"]}
;; kaocha for testing clojure versions>= v1.9
:kaocha {:extra-deps {lambdaisland/kaocha {:mvn/version "1.65.1029"}
lambdaisland/kaocha-junit-xml {:mvn/version "0.0.76"}
lambdaisland/kaocha-cloverage {:mvn/version "1.0.75"}}
:main-opts ["-m" "kaocha.runner"]}
;; cognitect test-runner for testing clojure < v1.9
;; (we prefer kaocha but it requires a min Clojure version of 1.9)
:clj-test-runner {:extra-deps {io.github.cognitect-labs/test-runner
{:git/tag "v0.5.0" :git/sha "b3fd0d2"}}
:main-opts ["-m" "cognitect.test-runner"]}
;; figwheel for clojurescript testing during dev
:fig-test {:extra-deps {com.bhauman/figwheel-main {:mvn/version "0.2.16"}}
:override-deps {org.clojure/clojure {:mvn/version "1.11.1"}}
:extra-paths ["target" "test"]
:main-opts ["-m" "figwheel.main" "-b" "fig" "-r"]}
:cljs-test {:extra-deps {olical/cljs-test-runner {:mvn/version "3.8.0"}}
:extra-paths ["test"]
:main-opts ["-m" "cljs-test-runner.main"]}
;; planck for Self-Hosted ClojureScript
:planck-test {:extra-paths ["target/cljsbuild/test/planck-none/gen"]}
;;
;; General script deps
;;
:script {:extra-paths ["script"]
:override-deps {org.clojure/clojure {:mvn/version "1.11.1"}}
:extra-deps {org.clojure/tools.namespace {:mvn/version "1.2.0"}
cli-matic/cli-matic {:mvn/version "0.5.3"}}}
:apply-import-vars {:override-deps {org.clojure/clojure {:mvn/version "1.11.1"}}
:extra-deps {metosin/malli {:mvn/version "0.8.4"}
io.aviso/pretty {:mvn/version "1.1.1"}}
:ns-default lread.apply-import-vars}
;;
;; Running tests under Graal
;;
;; We have two main Graal scenarios:
;; graal:sci-test - interpret tests via sci over natively compiled rewrite-clj
;; graal:native-test - natively compile src and tests and run
:graal {:override-deps {org.clojure/clojure {:mvn/version "1.11.1"}}
:extra-deps {com.github.clj-easy/graal-build-time {:mvn/version "0.1.4"}}}
:sci-test {:extra-paths ["target/generated/sci-test/src"]
:extra-deps {lread/sci-test {:git/url "https://github.com/lread/sci-test.git"
:sha "c2adbc30516e4e50099a86ae693693237f2ea674"}}}
:native-test {:extra-paths ["target/generated/graal"]}
;; usage -M:sci-test:gen-reflection
:gen-reflection {:main-opts ["-m" "sci-test.generate-reflection-file"]}
;;
;; Document rewrite-clj* differences
;;
:diff-apis {:extra-paths ["script/resources"]
:extra-deps {lread/diff-apis {:git/url "https://github.com/lread/diff-apis"
:sha "cd8096e0b5e0c0ea4850cb9eafe2d085d8912442"}}
:main-opts ["-m" "diff-apis.main" "projects"]}
;;
;; Deployment
;
:build {:deps {io.github.clojure/tools.build {:git/tag "v0.8.1" :git/sha "7d40500"}
io.github.slipset/deps-deploy {:sha "d1fac08888ec8beda0579d3071bb9f804a1d446c"}
com.camsaul/whitespace-linter {:mvn/version "2022.01.27.04.43"}}
:ns-default build}
;;
;; Maintenance support
;;
:outdated {:extra-deps {com.github.liquidz/antq {:mvn/version "1.6.1"}
org.slf4j/slf4j-simple {:mvn/version "1.7.36"} ;; to rid ourselves of logger warnings
}
:override-deps {org.clojure/clojure {:mvn/version "1.11.1"}}
:main-opts ["-m" "antq.core"
"--ignore-locals"
"--exclude=lambdaisland/[email protected]" ;; https://github.com/lambdaisland/kaocha/issues/208
"--exclude=com.bhauman/[email protected]" ;; deployment was botched, some components missing
]}}}