summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/conformance-checkers/Makefile
blob: eea5db44dcb328b26d11aebd52a29a98c1329f86 (plain)
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
HTML2MARKDOWN ?= html2text
PERL ?= perl
PERLFLAGS ?=
FMT ?= fmt
FMTFLAGS ?= -80
EXPAND ?= expand
EXPANDFLAGS ?=
GIT? = git
GITFLAGS ?=
PYTHON ?= python3
PYTHONFLAGS ?=
CURL ?= curl
CURLFLAGS ?=
JAVA ?= java
JAVAFLAGS ?=
VNU_TEST_REPO ?= git@github.com:validator/tests.git
ITS_REPO ?= git@github.com:w3c/its-2.0-testsuite-inputdata.git
.PHONY: .FORCE

all: README.md messages.json

README.md: index.html
	$(HTML2MARKDOWN) $(HTML2MARKDOWNFLAGS) $< \
	    | $(PERL) $(PERLFLAGS) -pe 'undef $$/; s/(\s+\n)+/\n\n/g' \
	    | $(PERL) $(PERLFLAGS) -pe 'undef $$/; s/(\n\n\n)+/\n/g' \
	    | $(FMT) $(FMTFLAGS) \
	    | $(PERL) $(PERLFLAGS) -pe 'undef $$/; s/ +(\[[0-9]+\]:)\n +/\n   $$1 /g' \
	    | $(EXPAND) $(EXPANDFLAGS) > $@

messages.json: .FORCE
	$(CURL) $(CURLFLAGS) -O -L \
	  https://github.com/validator/validator/releases/download/latest/vnu.jar
	$(JAVA) $(JAVAFLAGS) -cp vnu.jar nu.validator.client.TestRunner \
	  --ignore=html-its --write-messages $@
	$(PYTHON) $(PYTHONFLAGS) -mjson.tool --sort-keys $@ > $@.tmp
	mv $@.tmp $@

test: .FORCE
	$(CURL) $(CURLFLAGS) -O -L \
	  https://github.com/validator/validator/releases/download/jar/vnu.jar
	$(JAVA) $(JAVAFLAGS) -cp vnu.jar nu.validator.client.TestRunner \
	  --ignore=html-its messages.json

push:
	cd .. \
	  && git push $(VNU_TEST_REPO) `git subtree split -P conformance-checkers`:master --force \
	  && cd -

its-push:
	cd ..\
	  && $(GIT) subtree push -P conformance-checkers/html-its/ $(ITS_REPO) master \
	  && cd -

its-pull:
	cd .. \
	  && $(GIT) pull -s subtree $(ITS_REPO) master \
	  && cd -