1 | #!/usr/bin/env bash
|
2 | #
|
3 | # Usage:
|
4 | # ./doc.sh <function name>
|
5 |
|
6 | set -o nounset
|
7 | set -o pipefail
|
8 | set -o errexit
|
9 |
|
10 | #
|
11 | # TODO: Use this 2017 release!
|
12 | #
|
13 | # http://www.html-tidy.org/
|
14 | # http://binaries.html-tidy.org/
|
15 | #
|
16 | # The Ubuntu version is from 2009!
|
17 |
|
18 | validate-html() {
|
19 | # -e shows only errors
|
20 | # -q suppresses other text
|
21 |
|
22 | echo
|
23 | echo "--- $1"
|
24 | echo
|
25 |
|
26 | set +o errexit
|
27 | tidy -e -q -utf8 "$@"
|
28 | local status=$?
|
29 |
|
30 | if test $status -ne 0; then
|
31 | #exit 255 # stop xargs
|
32 | return $status
|
33 | fi
|
34 | }
|
35 |
|
36 | manifest() {
|
37 | local -a html_dirs=(
|
38 | _release/VERSION
|
39 | _tmp/unit
|
40 | #_tmp/spec
|
41 | _tmp/osh-parser
|
42 | )
|
43 | # There are a lot of empty <pre></pre> here which I don't care about
|
44 | # _tmp/spec \
|
45 | #
|
46 | # things I don't care about:
|
47 | # - empty <pre> resulting from auto-generated code
|
48 | # - proprietary attributes -- I use some, doesn't understand "col"
|
49 |
|
50 | find "${html_dirs[@]}" -name '*.html'
|
51 | }
|
52 |
|
53 | release-tree() {
|
54 | ### Lint SOME of the release tree
|
55 |
|
56 | manifest | xargs -n 1 --verbose -- $0 validate-html
|
57 | }
|
58 |
|
59 | # A tree of files to test.
|
60 |
|
61 | # Note: you also need to look at the originals in _tmp/unit, etc. because most
|
62 | # of these are compressed.
|
63 |
|
64 | quickly-build-release-tree() {
|
65 | test/unit.sh write-report
|
66 | test/wild-runner.sh make-report
|
67 |
|
68 | local suite='osh'
|
69 | local manifest=_tmp/spec/SUITE-$suite.txt
|
70 |
|
71 | test/spec-runner.sh all-tests-to-html $manifest
|
72 | test/spec-runner.sh html-summary $suite
|
73 |
|
74 | local version=0.7.pre10
|
75 |
|
76 | devtools/release-version.sh git-changelog-$version
|
77 | devtools/release-version.sh announcement-$version
|
78 |
|
79 | benchmarks/report.sh all
|
80 |
|
81 | devtools/release.sh build-tree
|
82 |
|
83 | # gah this builds .wwz files
|
84 | # but it shows you all the locations where they live
|
85 | devtools/release.sh compress
|
86 |
|
87 | # Now to ./local.sh test-release-tree to upload _release/VERSION to the
|
88 | # server
|
89 | }
|
90 |
|
91 | "$@"
|