OLD | NEW |
1 #!/bin/bash -e | 1 #!/bin/bash -e |
2 shopt -s nullglob | 2 shopt -s nullglob |
3 | 3 |
4 cd $(dirname "$0") | 4 cd $(dirname "$0") |
5 | 5 |
6 # Script which takes all the asciidoc git-*.txt files in this directory, renders | 6 # Script which takes all the asciidoc git-*.txt files in this directory, renders |
7 # them to html + manpage format using git 1.9's doc toolchain, then puts | 7 # them to html + manpage format using git 1.9's doc toolchain, then puts |
8 # them in depot_tools to be committed. | 8 # them in depot_tools to be committed. |
9 | 9 |
10 ensure_in_path() { | 10 ensure_in_path() { |
(...skipping 23 matching lines...) Expand all Loading... |
34 ASCIIDOC_HASH=7fed0aff1b30 | 34 ASCIIDOC_HASH=7fed0aff1b30 |
35 if [[ ! -d asciidoc || $(cd asciidoc && hg id -i) != $ASCIIDOC_HASH ]] | 35 if [[ ! -d asciidoc || $(cd asciidoc && hg id -i) != $ASCIIDOC_HASH ]] |
36 then | 36 then |
37 echo Cloning asciidoc | 37 echo Cloning asciidoc |
38 rm -rf asciidoc | 38 rm -rf asciidoc |
39 hg clone -r $BRANCH https://asciidoc.googlecode.com/hg/ asciidoc | 39 hg clone -r $BRANCH https://asciidoc.googlecode.com/hg/ asciidoc |
40 (cd asciidoc && ln -s asciidoc.py asciidoc) | 40 (cd asciidoc && ln -s asciidoc.py asciidoc) |
41 fi | 41 fi |
42 echo Asciidoc up to date at $ASCIIDOC_HASH \($BRANCH\) | 42 echo Asciidoc up to date at $ASCIIDOC_HASH \($BRANCH\) |
43 | 43 |
44 export PATH=`pwd`/asciidoc:$PATH | 44 # We pull ansi2hash to convert demo script output |
| 45 BRANCH=1.0.6 |
| 46 ANSI2HTML_HASH=6282ab7a24a5a7eab2e0b23bb0055234c533a6e9 |
| 47 if [[ ! -d ansi2html || $(git -C ansi2html rev-parse HEAD) != $ANSI2HTML_HASH ]] |
| 48 then |
| 49 echo Cloning ansi2html |
| 50 rm -rf ansi2html |
| 51 git clone --single-branch --branch $BRANCH --depth 1 \ |
| 52 https://github.com/ralphbean/ansi2html.git 2> /dev/null |
| 53 curl https://bitbucket.org/gutworth/six/raw/a875ac34c777fe801569c6c5299bf1a35a
a578cd/six.py > \ |
| 54 ansi2html/ansi2html/six.py |
| 55 ed ansi2html/ansi2html/converter.py <<EOF |
| 56 /version_str |
| 57 s/pkg.*$/'cool version bro' |
| 58 wq |
| 59 EOF |
| 60 fi |
| 61 |
| 62 echo ansi2html up to date at $ANSI2HTML_HASH \($BRANCH\) |
45 | 63 |
46 # We pull git to get its documentation toolchain | 64 # We pull git to get its documentation toolchain |
47 BRANCH=v1.9.0 | 65 BRANCH=v1.9.0 |
48 GITHASH=5f95c9f850b19b368c43ae399cc831b17a26a5ac | 66 GITHASH=5f95c9f850b19b368c43ae399cc831b17a26a5ac |
49 if [[ ! -d git || $(git -C git rev-parse HEAD) != $GITHASH ]] | 67 if [[ ! -d git || $(git -C git rev-parse HEAD) != $GITHASH ]] |
50 then | 68 then |
51 echo Cloning git | 69 echo Cloning git |
52 rm -rf git | 70 rm -rf git |
53 git clone --single-branch --branch $BRANCH --depth 1 \ | 71 git clone --single-branch --branch $BRANCH --depth 1 \ |
54 https://kernel.googlesource.com/pub/scm/git/git.git 2> /dev/null | 72 https://kernel.googlesource.com/pub/scm/git/git.git 2> /dev/null |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 j | 116 j |
99 /^\$(MAN_HTML): | 117 /^\$(MAN_HTML): |
100 a | 118 a |
101 asciidoc-override.css | 119 asciidoc-override.css |
102 . | 120 . |
103 -1 | 121 -1 |
104 j | 122 j |
105 wq | 123 wq |
106 EOF | 124 EOF |
107 | 125 |
| 126 cat >> git/Documentation/asciidoc.conf <<EOF |
| 127 |
| 128 [macros] |
| 129 (?su)[\\\\]?(?P<name>demo):(?P<target>\S*?)\[\]= |
| 130 |
| 131 [demo-inlinemacro] |
| 132 {sys3:cd $(pwd); ./{docname}.demo.{target}.sh | python filter_demo_output.py {ba
ckend} } |
| 133 EOF |
| 134 |
108 fi | 135 fi |
109 echo Git up to date at $GITHASH \($BRANCH\) | 136 echo Git up to date at $GITHASH \($BRANCH\) |
110 | 137 |
| 138 if [[ ! -d demo_repo ]] |
| 139 then |
| 140 ./prep_demo_repo.sh |
| 141 fi |
| 142 |
111 # build directory files for 'essential' and 'helper' sections of the depot_tools | 143 # build directory files for 'essential' and 'helper' sections of the depot_tools |
112 # manpage. | 144 # manpage. |
113 for category in helper essential | 145 for category in helper essential |
114 do | 146 do |
115 { | 147 { |
116 PRINTED_BANNER=0 | 148 PRINTED_BANNER=0 |
117 for x in *.${category}.txt | 149 for x in *.${category}.txt |
118 do | 150 do |
119 # If we actually have tools in the category, print the banner first. | 151 # If we actually have tools in the category, print the banner first. |
120 if [[ $PRINTED_BANNER != 1 ]] | 152 if [[ $PRINTED_BANNER != 1 ]] |
121 then | 153 then |
122 PRINTED_BANNER=1 | 154 PRINTED_BANNER=1 |
123 # ex. | 155 # ex. |
124 # CATEGORY TOOLS | 156 # CATEGORY TOOLS |
125 # -------------- | 157 # -------------- |
126 BANNER=$(echo $category tools | awk '{print toupper($0)}') | 158 BANNER=$(echo $category tools | awk '{print toupper($0)}') |
127 echo $BANNER | 159 echo $BANNER |
128 for i in $(seq 1 ${#BANNER}) | 160 for i in $(seq 1 ${#BANNER}) |
129 do | 161 do |
130 echo -n - | 162 echo -n - |
131 done | 163 done |
132 echo | 164 echo |
| 165 cat _${category}_prefix.txt 2> /dev/null || true |
133 echo | 166 echo |
134 fi | 167 fi |
135 | 168 |
136 # ex. | 169 # ex. |
137 # linkgit:git-tool[1]:: | 170 # linkgit:git-tool[1]:: |
138 # \tinclude::_git-tool_desc.category.txt[] | 171 # \tinclude::_git-tool_desc.category.txt[] |
139 PLAIN_PATH=${x%%_desc.*.txt} | 172 PLAIN_PATH=${x%%_desc.*.txt} |
140 PLAIN_PATH=${PLAIN_PATH:1} | 173 PLAIN_PATH=${PLAIN_PATH:1} |
141 echo "linkgit:$PLAIN_PATH[1]::" | 174 echo "linkgit:$PLAIN_PATH[1]::" |
142 echo -e "include::${x}[]" | 175 echo -e "include::${x}[]" |
143 echo | 176 echo |
144 done | 177 done |
145 } > __${category}.txt | 178 } > __${category}.txt |
146 done | 179 done |
147 | 180 |
148 JOBS=0 | 181 JOBS=1 |
149 HTML_TARGETS=() | 182 HTML_TARGETS=() |
150 MAN_TARGETS=() | 183 MAN1_TARGETS=() |
| 184 MAN7_TARGETS=() |
151 for x in *.txt *.css | 185 for x in *.txt *.css |
152 do | 186 do |
153 TO="git/Documentation/$x" | 187 TO="git/Documentation/$x" |
154 if [[ ! -f "$TO" ]] || ! cmp --silent "$x" "$TO" | 188 if [[ ! -f "$TO" ]] || ! cmp --silent "$x" "$TO" |
155 then | 189 then |
156 echo \'$x\' differs | 190 echo \'$x\' differs |
157 cp $x "$TO" | 191 cp $x "$TO" |
158 fi | 192 # Exclude files beginning with _ from the target list. This is useful to |
159 # Exclude files beginning with _ from the target list. This is useful to have | 193 # have includable snippet files. |
160 # includable snippet files. | 194 if [[ ${x:0:1} != _ && ${x:(-4)} == .txt ]] |
161 if [[ ${x:0:1} != _ && ${x:(-4)} == .txt ]] | |
162 then | |
163 HTML_TARGETS+=("${x%%.txt}.html") | |
164 if [[ ${x:0:3} == git ]] | |
165 then | 195 then |
166 MAN1_TARGETS+=("${x%%.txt}.1") | 196 HTML_TARGETS+=("${x%%.txt}.html") |
167 else | 197 if [[ ! "$NOMAN" ]] |
168 MAN7_TARGETS+=("${x%%.txt}.7") | 198 then |
| 199 if [[ ${x:0:3} == git ]] |
| 200 then |
| 201 MAN1_TARGETS+=("${x%%.txt}.1") |
| 202 else |
| 203 MAN7_TARGETS+=("${x%%.txt}.7") |
| 204 fi |
| 205 fi |
| 206 JOBS=$[$JOBS + 2] |
169 fi | 207 fi |
170 JOBS=$[$JOBS + 2] | |
171 fi | 208 fi |
172 done | 209 done |
173 | 210 |
| 211 if [[ ${#HTML_TARGETS} == 0 && ${#MAN1_TARGETS} == 0 && ${#MAN7_TARGETS} == 0 ]] |
| 212 then |
| 213 exit |
| 214 fi |
| 215 |
174 VER="v$(git rev-parse --short HEAD)" | 216 VER="v$(git rev-parse --short HEAD)" |
175 if [[ ! -f git/version ]] || ! cmp --silent git/version <(echo "$VER") | 217 if [[ ! -f git/version ]] || ! cmp --silent git/version <(echo "$VER") |
176 then | 218 then |
177 echo Version changed, cleaning. | 219 echo Version changed, cleaning. |
178 echo "$VER" > git/version | 220 echo "$VER" > git/version |
179 (cd git/Documentation && make clean) | 221 (cd git/Documentation && make clean) |
180 fi | 222 fi |
181 | 223 |
182 # This export is so that asciidoc sys snippets which invoke git run relative to | 224 # This export is so that asciidoc sys snippets which invoke git run relative to |
183 # depot_tools instead of the git clone. | 225 # depot_tools instead of the git clone. |
(...skipping 12 matching lines...) Expand all Loading... |
196 for x in "${MAN1_TARGETS[@]}" | 238 for x in "${MAN1_TARGETS[@]}" |
197 do | 239 do |
198 echo Copying ../man1/$x | 240 echo Copying ../man1/$x |
199 cp "git/Documentation/$x" ../man1 | 241 cp "git/Documentation/$x" ../man1 |
200 done | 242 done |
201 | 243 |
202 for x in "${MAN7_TARGETS[@]}" | 244 for x in "${MAN7_TARGETS[@]}" |
203 do | 245 do |
204 echo Copying ../man7/$x | 246 echo Copying ../man7/$x |
205 cp "git/Documentation/$x" ../man7 | 247 cp "git/Documentation/$x" ../man7 |
206 done | 248 done |
OLD | NEW |