-
Notifications
You must be signed in to change notification settings - Fork 2
/
project.clj
146 lines (122 loc) · 9.15 KB
/
project.clj
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
142
143
144
145
146
(def eastwood-version "1.2.3")
;; Please don't bump the library version by hand - use ci.release-workflow instead.
(defproject formatting-stack "4.6.0"
;; Please keep the dependencies sorted a-z.
:dependencies [[clj-kondo "2022.02.09"]
[cljfmt "0.8.0"]
[com.gfredericks/how-to-ns "0.2.9"]
[com.gfredericks/lein-all-my-files-should-end-with-exactly-one-newline-character "0.1.2"]
[com.nedap.staffing-solutions/speced.def "2.1.1"]
[com.nedap.staffing-solutions/utils.collections "2.2.1"]
[com.nedap.staffing-solutions/utils.modular "2.2.0"]
[com.nedap.staffing-solutions/utils.spec "1.5.0"]
[com.nedap.staffing-solutions/utils.spec.predicates "1.2.2"]
[io.reflectoring.diffparser/diffparser "1.4"]
[jonase/eastwood ~eastwood-version]
[medley "1.4.0"]
[org.clojure/clojure "1.11.0"]
[org.clojure/java.classpath "1.0.0"]
[org.clojure/java.data "1.0.95"]
[org.clojure/tools.namespace "1.3.0"]
[org.clojure/tools.reader "1.3.6"]]
:managed-dependencies [[rewrite-clj "1.1.45"]
[org.clojure/spec.alpha "0.3.218"]
[org.slf4j/slf4j-api "1.7.30"]]
;; The f-s exclusion allows adding f-s in a global profile, while still allowing developing f-s itself,
;; avoiding having the global version shadow the local one
:exclusions [formatting-stack]
:description "An efficient, smart, graceful composition of formatters, linters and such."
:url "https://github.com/nedap/formatting-stack"
:min-lein-version "2.0.0"
:license {:name "EPL-2.0"
:url "https://www.eclipse.org/legal/epl-2.0/"}
:signing {:gpg-key "[email protected]"}
:repositories {"releases" {:url "https://nedap.jfrog.io/nedap/staffing-solutions/"
:username :env/artifactory_user
:password :env/artifactory_pass}}
:repository-auth {#"https://nedap.jfrog\.io/nedap/staffing-solutions/"
{:username :env/artifactory_user
:password :env/artifactory_pass}}
:deploy-repositories {"clojars" {:url "https://clojars.org/repo"
:username :env/clojars_user
:password :env/clojars_pass}}
:source-paths ["src" "worker"]
:target-path "target/%s"
:test-paths ["src" "test"]
:monkeypatch-clojure-test false
:plugins [[lein-pprint "1.3.2"]
[jonase/eastwood ~eastwood-version]]
;; A variety of common dependencies are bundled with `nedap/lein-template`.
;; They are divided into two categories:
;; * Dependencies that are possible or likely to be needed in all kind of production projects
;; * The point is that when you realise you needed them, they are already in your classpath, avoiding interrupting your flow
;; * After realising this, please move the dependency up to the top level.
;; * Genuinely dev-only dependencies allowing 'basic science'
;; * e.g. criterium, deep-diff, clj-java-decompiler
;; Manage transitive deps using :managed-dependencies, see https://git.io/JtUGI
:profiles {:dev {:dependencies [[com.clojure-goes-fast/clj-java-decompiler "0.3.1"]
[com.taoensso/timbre "4.10.0"]
[criterium "0.4.6"]
[integrant/repl "0.3.2"]
[lambdaisland/deep-diff "0.0-47"]
[org.slf4j/slf4j-nop "1.7.30"]
[org.clojure/core.async "1.5.648"]
[org.clojure/math.combinatorics "0.1.6"]
[org.clojure/test.check "1.1.1"]]
:jvm-opts ["-Dclojure.compiler.disable-locals-clearing=true"]
:source-paths ["dev"]
:repl-options {:init-ns dev}
:middleware [~(do ;; the following ensures that :exclusions are honored in all cases
(create-ns 'user)
(intern 'user
'nedap-ensure-exclusions
(fn [project]
(let [exclusions (->> project
:exclusions
(map (fn [x]
(str (if (namespace (symbol x))
x
(symbol (str x) (str x))))))
(set))]
(update project :dependencies (fn [deps]
(->> deps
(remove (fn [[dep version]]
(exclusions (str dep))))
vec))))))
'user/nedap-ensure-exclusions)]}
:cljs-old {:dependencies [[org.clojure/clojurescript
#_"Please do not change, its entire point is to exercise an old version in CI"
"1.7.228"]]}
:provided {:dependencies [[com.stuartsierra/component "1.1.0"]
[integrant "0.8.0"]
[org.clojure/clojurescript "1.11.60"]]
:managed-dependencies [[cheshire "5.10.2"]
[com.cognitect/transit-clj "1.0.329"]
[com.google.code.findbugs/jsr305 "3.0.2"]
[com.google.errorprone/error_prone_annotations "2.11.0"]
[com.google.guava/guava "31.1-jre"]
[com.google.javascript/closure-compiler-unshaded "v20220202"]
[com.google.protobuf/protobuf-java "3.19.4"]]}
;; `dev` in :test is important - a test depends on it:
:test {:source-paths ["dev"]
:dependencies [[com.nedap.staffing-solutions/utils.test "1.9.0"]
[nubank/matcher-combinators "3.5.1"]]
:managed-dependencies [[commons-codec "1.11"]]
:jvm-opts ["-Dclojure.core.async.go-checking=true"
"-Duser.language=en-US"]
:resource-paths ["test-resources-extra"
"test-resources"]}
:refactor-nrepl {:dependencies [[refactor-nrepl "3.5.5"]
[nrepl "1.0.0"]]
;; cider-nrepl is a :provided dependency from refactor-nrepl.
:plugins [[cider/cider-nrepl "0.28.6"
;; not excluding nrepl will cause conflicting versions
:exclusions [nrepl]]]}
:ncrw {:global-vars {*assert* true} ;; `ci.release-workflow` relies on runtime assertions
:source-paths ^:replace []
:test-paths ^:replace []
:resource-paths ^:replace []
:plugins ^:replace []
:dependencies ^:replace [[com.nedap.staffing-solutions/ci.release-workflow "1.14.1"]]}
:ci {:pedantic? :abort
:jvm-opts ["-Dclojure.main.report=stderr"]}})