| 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 | "$@"
 |