1# This Source Code Form is subject to the terms of the Mozilla Public
2# License, v. 2.0. If a copy of the MPL was not distributed with this
3# file, You can obtain one at http://mozilla.org/MPL/2.0/.
4
5libs:: translator
6
7translator:: javaparser \
8; mkdir -p htmlparser/bin && \
9  find htmlparser/translator-src/nu/validator/htmlparser -name "*.java" | \
10    xargs javac -cp javaparser.jar -g -d htmlparser/bin && \
11  jar cfm translator.jar manifest.txt -C htmlparser/bin .
12
13javaparser:: \
14; mkdir -p javaparser/bin && \
15  find javaparser/src -name "*.java" | \
16    xargs javac -encoding ISO-8859-1 -g -d javaparser/bin && \
17  jar cf javaparser.jar -C javaparser/bin .
18
19sync_javaparser:: \
20; if [ ! -d javaparser/.git ] ; \
21    then rm -rf javaparser ; \
22    git clone https://github.com/javaparser/javaparser.git ; \
23  fi ; \
24  cd javaparser ; git checkout javaparser-1.0.6 ; cd ..
25
26sync_htmlparser:: \
27; if [ -d htmlparser/.hg ] ; \
28  then echo "The htmlparser repo has move to GitHub. Please remove the htmlparser directory and resync." ; exit ; \
29  elif [ ! -d htmlparser/.git ] ; \
30    then rm -rf htmlparser ; \
31    git clone https://github.com/validator/htmlparser.git ; \
32    cd htmlparser ; git checkout master ; cd .. ; \
33  fi
34
35sync:: sync_javaparser sync_htmlparser
36
37translate:: translator \
38; mkdir -p ../javasrc ; \
39  java -jar translator.jar \
40    htmlparser/src/nu/validator/htmlparser/impl \
41    .. ../../../xpcom/ds/StaticAtoms.py ../../../xpcom/ds/HTMLAtoms.py
42
43translate_from_snapshot:: translator \
44; mkdir -p ../javasrc ; \
45  java -jar translator.jar \
46    ../javasrc \
47    .. ../../../xpcom/ds/StaticAtoms.py ../../../xpcom/ds/HTMLAtoms.py
48
49named_characters:: translator \
50; java -cp translator.jar \
51    nu.validator.htmlparser.generator.GenerateNamedCharactersCpp \
52      named-character-references.html ../
53