1 | #!/bin/sh |
---|
2 | # |
---|
3 | # Validate XML and HTML files using xmllint |
---|
4 | # Returns nonzero on failure |
---|
5 | # |
---|
6 | # Note that the news.xml and initialNews*.xml files are really HTML |
---|
7 | # |
---|
8 | # zzz 2011-03 |
---|
9 | # public domain |
---|
10 | # |
---|
11 | |
---|
12 | cd `dirname $0`/../.. |
---|
13 | |
---|
14 | XMLFILES="\ |
---|
15 | ./apps/addressbook/build.xml \ |
---|
16 | ./apps/addressbook/web.xml \ |
---|
17 | ./apps/BOB/build.xml \ |
---|
18 | ./apps/BOB/Demos/echo/echoclient/build.xml \ |
---|
19 | ./apps/BOB/Demos/echo/echoclient/nbproject/build-impl.xml \ |
---|
20 | ./apps/BOB/Demos/echo/echoclient/nbproject/private/private.xml \ |
---|
21 | ./apps/BOB/Demos/echo/echoclient/nbproject/project.xml \ |
---|
22 | ./apps/BOB/Demos/echo/echoserver/build.xml \ |
---|
23 | ./apps/BOB/Demos/echo/echoserver/nbproject/build-impl.xml \ |
---|
24 | ./apps/BOB/Demos/echo/echoserver/nbproject/private/private.xml \ |
---|
25 | ./apps/BOB/Demos/echo/echoserver/nbproject/project.xml \ |
---|
26 | ./apps/BOB/nbproject/build-impl.xml \ |
---|
27 | ./apps/BOB/nbproject/project.xml \ |
---|
28 | ./apps/desktopgui/build.xml \ |
---|
29 | ./apps/i2psnark/java/build.xml \ |
---|
30 | ./apps/i2psnark/jetty-i2psnark.xml \ |
---|
31 | ./apps/i2psnark/web.xml \ |
---|
32 | ./apps/i2ptunnel/java/build.xml \ |
---|
33 | ./apps/i2ptunnel/jsp/web.xml \ |
---|
34 | ./apps/jetty/build.xml \ |
---|
35 | ./apps/ministreaming/java/build.xml \ |
---|
36 | ./apps/routerconsole/java/build.xml \ |
---|
37 | ./apps/routerconsole/jsp/web.xml \ |
---|
38 | ./apps/sam/java/build.xml \ |
---|
39 | ./apps/streaming/java/build.xml \ |
---|
40 | ./apps/susidns/src/build.xml \ |
---|
41 | ./apps/susidns/src/WEB-INF/web-template.xml \ |
---|
42 | ./apps/susimail/build.xml \ |
---|
43 | ./apps/susimail/src/WEB-INF/web.xml \ |
---|
44 | ./apps/systray/java/build.xml \ |
---|
45 | ./build.xml \ |
---|
46 | ./core/java/build.xml \ |
---|
47 | ./core/java/nbproject/project.xml \ |
---|
48 | ./installer/i2pinstaller.xml \ |
---|
49 | ./installer/i2pstandalone.xml \ |
---|
50 | ./installer/install.xml \ |
---|
51 | ./installer/lib/launch4j/build.xml \ |
---|
52 | ./installer/resources/eepsite/jetty-ssl.xml |
---|
53 | ./installer/resources/eepsite/contexts/cgi-context.xml |
---|
54 | ./installer/resources/eepsite/contexts/base-context.xml |
---|
55 | ./installer/resources/eepsite/jetty-rewrite.xml |
---|
56 | ./installer/resources/eepsite/etc/webdefault.xml |
---|
57 | ./installer/resources/eepsite/jetty-jmx.xml |
---|
58 | ./installer/resources/eepsite/jetty.xml |
---|
59 | ./installer/resources/shortcutSpec.xml \ |
---|
60 | ./router/java/build.xml \ |
---|
61 | ./Slackware/i2p-base/build.xml \ |
---|
62 | ./Slackware/i2p/build.xml" |
---|
63 | |
---|
64 | HTMLFILES="\ |
---|
65 | ./installer/resources/initialNews/*.xml \ |
---|
66 | ./apps/BOB/src/net/i2p/BOB/package.html \ |
---|
67 | ./apps/desktopgui/src/net/i2p/desktopgui/package.html \ |
---|
68 | ./apps/ministreaming/java/src/net/i2p/client/streaming/package.html \ |
---|
69 | ./apps/susidns/src/index.html \ |
---|
70 | ./apps/susimail/src/index.html \ |
---|
71 | ./core/java/src/net/i2p/client/datagram/package.html \ |
---|
72 | ./core/java/src/net/i2p/client/naming/package.html \ |
---|
73 | ./core/java/src/net/i2p/client/package.html \ |
---|
74 | ./core/java/src/net/i2p/crypto/package.html \ |
---|
75 | ./core/java/src/net/i2p/data/i2cp/package.html \ |
---|
76 | ./core/java/src/net/i2p/data/package.html \ |
---|
77 | ./core/java/src/net/i2p/internal/package.html \ |
---|
78 | ./core/java/src/net/i2p/package.html \ |
---|
79 | ./core/java/src/net/i2p/stat/package.html \ |
---|
80 | ./core/java/src/net/i2p/time/package.html \ |
---|
81 | ./core/java/src/net/i2p/util/package.html \ |
---|
82 | ./installer/resources/eepsite/docroot/help/index_de.html \ |
---|
83 | ./installer/resources/eepsite/docroot/help/index_fr.html \ |
---|
84 | ./installer/resources/eepsite/docroot/help/index.html \ |
---|
85 | ./installer/resources/eepsite/docroot/help/index_na.html \ |
---|
86 | ./installer/resources/eepsite/docroot/help/index_nl.html \ |
---|
87 | ./installer/resources/eepsite/docroot/help/index_ru.html \ |
---|
88 | ./installer/resources/eepsite/docroot/help/index_sv.html \ |
---|
89 | ./installer/resources/eepsite/docroot/help/pagetemplate.html \ |
---|
90 | ./installer/resources/eepsite/docroot/index.html \ |
---|
91 | ./installer/resources/readme/readme_ar.html \ |
---|
92 | ./installer/resources/readme/readme_de.html \ |
---|
93 | ./installer/resources/readme/readme_es.html \ |
---|
94 | ./installer/resources/readme/readme_fr.html \ |
---|
95 | ./installer/resources/readme/readme.html \ |
---|
96 | ./installer/resources/readme/readme_nl.html \ |
---|
97 | ./installer/resources/readme/readme_pt.html \ |
---|
98 | ./installer/resources/readme/readme_ru.html \ |
---|
99 | ./installer/resources/readme/readme_sv.html \ |
---|
100 | ./installer/resources/readme/readme_zh.html \ |
---|
101 | ./installer/resources/small/toolbar.html \ |
---|
102 | ./installer/resources/startconsole.html \ |
---|
103 | ./router/java/src/net/i2p/data/i2np/package.html \ |
---|
104 | ./router/java/src/net/i2p/router/package.html \ |
---|
105 | ./router/java/src/net/i2p/router/peermanager/package.html \ |
---|
106 | ./router/java/src/net/i2p/router/startup/package.html \ |
---|
107 | ./router/java/src/net/i2p/router/transport/ntcp/package.html \ |
---|
108 | ./router/java/src/net/i2p/router/transport/package.html \ |
---|
109 | ./router/java/src/net/i2p/router/transport/udp/package.html \ |
---|
110 | ./router/java/src/net/i2p/router/util/package.html" |
---|
111 | |
---|
112 | echo 'Checking XML files....................' |
---|
113 | for i in $XMLFILES |
---|
114 | do |
---|
115 | echo "Checking $i ..." |
---|
116 | xmllint --noout $i |
---|
117 | if [ $? -ne 0 ] |
---|
118 | then |
---|
119 | echo "********* FAILED CHECK FOR $i *************" |
---|
120 | FAIL=1 |
---|
121 | fi |
---|
122 | done |
---|
123 | |
---|
124 | echo 'Checking HTML files....................' |
---|
125 | for i in $HTMLFILES |
---|
126 | do |
---|
127 | echo "Checking $i ..." |
---|
128 | xmllint --html --noout $i |
---|
129 | # FIXME html mode never exits with an error code |
---|
130 | # ... but it does output errors |
---|
131 | if [ $? -ne 0 ] |
---|
132 | then |
---|
133 | echo "********* FAILED CHECK FOR $i *************" |
---|
134 | FAIL=1 |
---|
135 | fi |
---|
136 | done |
---|
137 | |
---|
138 | if [ "$FAIL" != "" ] |
---|
139 | then |
---|
140 | echo "******** At least one file failed check *********" |
---|
141 | else |
---|
142 | echo "All files passed" |
---|
143 | fi |
---|
144 | exit $FAIL |
---|