1
0
mirror of https://github.com/TheLocehiliosan/yadm synced 2024-10-27 20:34:27 +00:00
TheLocehiliosan_yadm/Makefile

76 lines
1.7 KiB
Makefile
Raw Normal View History

2017-09-04 16:56:33 +00:00
.PHONY: all
2016-01-09 03:46:06 +00:00
all: yadm.md contrib
yadm.md: yadm.1
@groff -man -Tascii ./yadm.1 | col -bx | sed 's/^[A-Z]/## &/g' | sed '/yadm(1)/d' > yadm.md
2017-10-16 22:34:23 +00:00
.PHONY: contrib
contrib:
@echo "CONTRIBUTORS\n" > CONTRIBUTORS
@git shortlog -ns master gh-pages dev dev-pages | cut -f2 >> CONTRIBUTORS
2016-01-09 03:46:06 +00:00
2017-09-04 16:56:33 +00:00
.PHONY: pdf
pdf:
@groff -man -Tps ./yadm.1 > yadm.ps
@open yadm.ps
@sleep 1
@rm yadm.ps
.PHONY: test
2016-04-07 13:16:13 +00:00
test: bats shellcheck
2017-01-16 23:01:53 +00:00
.PHONY: parallel
parallel:
ls test/*bats | time parallel -q -P0 -- docker run --rm -v "$$PWD:/yadm:ro" yadm/testbed bash -c 'bats {}'
.PHONY: pytest
pytest:
@echo Running all pytest tests
@pytest -v
2016-04-07 13:16:13 +00:00
.PHONY: bats
bats:
@echo Running all bats tests
@GPG_AGENT_INFO= bats test
2016-04-07 13:16:13 +00:00
.PHONY: shellcheck
shellcheck:
@echo Running shellcheck
@shellcheck --version || true
@shellcheck -s bash yadm bootstrap test/*.bash completion/yadm.bash_completion
2017-01-05 22:29:36 +00:00
@cd test; \
for bats_file in *bats; do \
sed 's/^@test.*{/function test() {/' "$$bats_file" > "/tmp/$$bats_file.bash"; \
shellcheck -s bash "/tmp/$$bats_file.bash"; \
2016-04-07 13:16:13 +00:00
test_result="$$?"; \
2017-01-05 22:29:36 +00:00
rm -f "/tmp/$$bats_file.bash"; \
2016-04-07 13:16:13 +00:00
[ "$$test_result" -ne 0 ] && exit 1; \
done; true
.PHONY: testhost
testhost:
@target=HEAD
@rm -rf /tmp/testhost
@git show $(target):yadm > /tmp/testhost
@chmod a+x /tmp/testhost
@echo Starting testhost target=\"$$target\"
@docker run -w /root --hostname testhost --rm -it -v "/tmp/testhost:/bin/yadm:ro" yadm/testbed:latest bash
2017-09-04 16:56:33 +00:00
.PHONY: man
man:
groff -man -Tascii ./yadm.1 | less
2017-09-04 16:56:33 +00:00
.PHONY: wide
wide:
man ./yadm.1
.PHONY: sync-clock
sync-clock:
docker run --rm --privileged alpine hwclock -s
.PHONY: .env
.env:
virtualenv --python=python3 .env
.env/bin/pip3 install --upgrade pip setuptools
.env/bin/pip3 install --upgrade pytest pylint==1.9.2 flake8==3.5.0