Makefile (1565B)
1 HTML2MARKDOWN ?= html2text 2 PERL ?= perl 3 PERLFLAGS ?= 4 FMT ?= fmt 5 FMTFLAGS ?= -80 6 EXPAND ?= expand 7 EXPANDFLAGS ?= 8 GIT? = git 9 GITFLAGS ?= 10 PYTHON ?= python3 11 PYTHONFLAGS ?= 12 CURL ?= curl 13 CURLFLAGS ?= 14 JAVA ?= java 15 JAVAFLAGS ?= 16 VNU_TEST_REPO ?= git@github.com:validator/tests.git 17 ITS_REPO ?= git@github.com:w3c/its-2.0-testsuite-inputdata.git 18 .PHONY: .FORCE 19 20 all: README.md messages.json 21 22 README.md: index.html 23 $(HTML2MARKDOWN) $(HTML2MARKDOWNFLAGS) $< \ 24 | $(PERL) $(PERLFLAGS) -pe 'undef $$/; s/(\s+\n)+/\n\n/g' \ 25 | $(PERL) $(PERLFLAGS) -pe 'undef $$/; s/(\n\n\n)+/\n/g' \ 26 | $(FMT) $(FMTFLAGS) \ 27 | $(PERL) $(PERLFLAGS) -pe 'undef $$/; s/ +(\[[0-9]+\]:)\n +/\n $$1 /g' \ 28 | $(EXPAND) $(EXPANDFLAGS) > $@ 29 30 messages.json: .FORCE 31 $(CURL) $(CURLFLAGS) -O -L \ 32 https://github.com/validator/validator/releases/download/latest/vnu.jar 33 $(JAVA) $(JAVAFLAGS) -cp vnu.jar nu.validator.client.TestRunner \ 34 --ignore=html-its --write-messages $@ 35 $(PYTHON) $(PYTHONFLAGS) -mjson.tool --sort-keys $@ > $@.tmp 36 mv $@.tmp $@ 37 38 test: .FORCE 39 $(CURL) $(CURLFLAGS) -O -L \ 40 https://github.com/validator/validator/releases/download/jar/vnu.jar 41 $(JAVA) $(JAVAFLAGS) -cp vnu.jar nu.validator.client.TestRunner \ 42 --ignore=html-its messages.json 43 44 push: 45 cd .. \ 46 && git push $(VNU_TEST_REPO) `git subtree split -P conformance-checkers`:master --force \ 47 && cd - 48 49 its-push: 50 cd ..\ 51 && $(GIT) subtree push -P conformance-checkers/html-its/ $(ITS_REPO) master \ 52 && cd - 53 54 its-pull: 55 cd .. \ 56 && $(GIT) pull -s subtree $(ITS_REPO) master \ 57 && cd -