-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathjustfile
More file actions
70 lines (55 loc) · 1.53 KB
/
Copy pathjustfile
File metadata and controls
70 lines (55 loc) · 1.53 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
default:
@just --list
@gen-docs:
markdown-toc -i --maxdepth 2 README.md
@repl arg="":
clojure -M{{arg}}:dev:test:repl
@run *args:
clojure -M:run {{args}}
splint:
clojure -M:dev:test:splint
lsp:
clojure-lsp diagnostics
lint:
just splint
just lsp
test-clj:
clojure -M:dev:test:runner
test-cljs:
npx shadow-cljs compile node-test
node target/shadow-node-test/node-tests.js
test:
@just test-clj
@just test-cljs
jar:
clojure -T:build jar
today := `date +%F`
current_version := `cat resources/FLUENTCLJ_VERSION | xargs`
@version:
echo {{current_version}}
# Set version, change all instances of <<next>> to version
@set-version version:
echo '{{version}}' > resources/FLUENTCLJ_VERSION
fd '.(clj|edn|md)' . -x sd '<<next>>' '{{version}}' {}
sd '{{current_version}}' '{{version}}' README.md
sd '## Unreleased' '## Unreleased\n\n## {{version}}\n\nReleased on {{today}}.' CHANGELOG.md
@clojars:
env CLOJARS_USERNAME='noahtheduke' CLOJARS_PASSWORD=`cat ../clojars.txt` clojure -T:build deploy
# Builds the uberjar, builds the jar, sends the jar to clojars
@release version:
echo 'Running tests'
just test
echo 'Setting new version {{version}}'
just set-version {{version}}
echo 'Commit and tag'
jj commit -m 'Bump version for release'
jj b a
git switch main
git tag v{{version}}
echo 'Pushing to github'
git push
git push --tags
echo 'Building uber'
clojure -T:build uberjar
echo 'Deploying to clojars'
just clojars