-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathJustfile
64 lines (51 loc) · 1.72 KB
/
Justfile
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
latest:
@echo 'github:'
@hub release | head -n2 | tail -n1
@echo 'hackage:'
@cabal list madlang | grep -P -o '\d+\.\d+\.\d+\.\d+' | head -n1
check:
git diff master origin/master
deps:
stack list-dependencies | less
timed:
time madlang sample demo/shakespeare.mad
darcs:
darcs optimize clean
darcs optimize pristine
darcs optimize cache
next:
@export VERSION=$(ac madlang.cabal | grep -P -o '\d+\.\d+\.\d+\.\d+' madlang.cabal | head -n1 | awk -F. '{$NF+=1; print $0}' | sed 's/ /\./g') && echo $VERSION && sed -i "2s/[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+/$VERSION/" madlang.cabal
git commit -am "next"
sn c .
install:
cp $(fd -t x 'madlang$' -IH) ~/.cabal/bin
ci:
@cabal new-build all
@cabal new-test
@stack build --test --bench --no-run-tests --no-run-benchmarks
weeder .
hlint src app test bench
yamllint stack.yaml
yamllint .travis.yml
yamllint appveyor.yml
yamllint .stylish-haskell.yaml
yamllint .hlint.yaml
yamllint .yamllint
size:
sn d $(fd 'madlang$' -I | head -n2 | tail -n1)
manpages:
pandoc man/MANPAGE.md -s -t man -o man/madlang.1
upload:
rm -rf dist/ .ghc.environment.*
cabal sdist
cabal upload --publish $(fd '\.tar\.gz$' -I)
release:
git tag "$(grep -P -o '\d+\.\d+\.\d+\.\d+' madlang.cabal | head -n1)"
git push origin --tags
git tag -d "$(grep -P -o '\d+\.\d+\.\d+\.\d+' madlang.cabal | head -n1)"
git push origin master
name:
github-release edit -s $(ac ~/.git-token) -u vmchale -r madlang -n "$(madlang run ~/programming/madlang/releases/releases.mad)" -t "$(grep -P -o '\d+\.\d+\.\d+\.\d+' madlang.cabal | head -n1)"
clean:
sn c . -g
rm -f man/madlang.1 madlang.hp madlang.ps madlang.aux