Changeset 325 for trunk/SRC/Documentation
- Timestamp:
- 12/06/07 11:04:53 (17 years ago)
- Location:
- trunk/SRC/Documentation/xmldoc
- Files:
-
- 1 added
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/SRC/Documentation/xmldoc/doidldoc.sh
- Property svn:keyword set to Id
r320 r325 1 #!/bin/bash 1 #! /bin/sh 2 # 3 # module : 4 # build idldoc documentations 2 5 # 3 6 # update : 4 7 # $Id$ 5 # fplod 2007-08-21T09:29:04Z aedon.locean-ipsl.upmc.fr (Darwin) 6 # follow changes of calling sequence of pro2href.sh 7 # add call to pro2href.sh for replacement of <proidl>...</proidl> 8 # fplod 2007-06-26T14:33:12Z aedon.locean-ipsl.upmc.fr (Darwin) 9 # copy listings.css in idldoc_assistant_output 10 # fplod 2007-03-20T15:10:29Z aedon.locean-ipsl.upmc.fr (Darwin) 11 # . replace <pro>ginette</pro> by a sequence like 12 # <a href="./ginette.html">ginette</a> in idldoc html and assistant outputs 13 # . encaspulate example content in <pre> </pre> in idldoc assistant outputs 14 # smasson Fri Sep 22 17:28:10 CEST 2006 15 # check that the number of existing html files for each .pro file is 2! 16 # fplod 2006-09-21T14:55:09Z aedon.locean-ipsl.upmc.fr (Darwin) 17 # remove css in idldoc html output (/embed) 18 # entraine modif de modification de css pour nonproportional font ++ anglais 19 # fixe is replace by pre and no more css modification 20 # bug in idldoc html output file idldoc-categories.html 21 # http://www.w3.org/TR/xhtml1/DTD/xhtml-transitional.dtd 22 # au lieu de 23 # http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd 24 # ++ prévenir l'auteur 25 # fplod 2006-09-21T13:05:32Z aedon.locean-ipsl.upmc.fr (Darwin) 26 # add an svn id in idldoc-lib.adb after </profile> 27 # fplod 2006-09-20T16:34:38Z aedon.locean-ipsl.upmc.fr (Darwin) 28 # suppress ?format=raw 29 # fplod 2006-09-20T15:30:15Z aedon.locean-ipsl.upmc.fr (Darwin) 30 # add copy of html files unedr xmldoc and idldoc_html_output on 31 # saxo@forge.ipsl.jussieu.fr:/ipsl/forge/projets/saxo/download/ 32 # see dodocdownload 33 # fplod 2006-09-20T11:05:23Z aedon.locean-ipsl.upmc.fr (Darwin) 34 # correction to really suppress date in idldoc assistant outputs (font 35 # instaed of div in html output) 36 # fplod 2006-09-18T13:25:12Z aedon.locean-ipsl.upmc.fr (Darwin) 37 # add status checking after makehtml.sh 38 # smasson Fri Sep 15 10:42:01 CEST 2006 39 # merge idldoc html and idldoc assistant 40 # smasson Thu Sep 14 15:19:23 CEST 2006 41 # add the revision number in the name of SAXO_SRC_*.tar.gz 42 # smasson Wed Sep 13 14:18:02 CEST 2006 43 # add the directory-overview.html from dir-files.html in idldoc_html_output 44 # fplod 2006-09-07T08:09:47Z aedon.locean-ipsl.upmc.fr (Darwin) 45 # main is rename to websaxo 46 # fplod 2006-09-05T15:39:47Z aedon.locean-ipsl.upmc.fr (Darwin) 47 # add Source link in idldoc html outpout 48 # snlod/fplod 2006-08-25T08:30:36Z electre.locean-ipsl.upmc.fr (Darwin) 49 # add for idldoc assistant 50 # fplod 2006-08-17T09:19:06Z aedon.locean-ipsl.upmc.fr (Darwin) 51 # add transformation after idldoc to force non-proportional font 52 # on bloc delimited by 53 # <fixe> 54 # </fixe> 55 # in .pro files (with modification of css) 56 # !! do not replace \ by \\ inside this block 57 # !! replace \ by an other character is a good idea 58 # cf. example in ToBeReviewed/TRIANGULATION/definetri.pro 59 # fplod 2006-07-21T08:23:52Z aedon.locean-ipsl.upmc.fr (Darwin) 60 # add mini_notice production 61 # fplod 2006-07-11T08:26:05Z aedon.locean-ipsl.upmc.fr (Darwin) 62 # commented tidy in dohtml section is moved in makehtml 63 # fplod 2006-07-10T08:22:53Z aedon.locean-ipsl.upmc.fr (Darwin) 64 # ajout de white-space: pre; dans la css pour file_comments 65 # fplod 2006-07-04T13:09:19Z aedon.locean-ipsl.upmc.fr (Darwin) 66 # for idldoc html output 67 # because preformat option doesn't seem to work well 68 # replace 69 # div class="value" 70 # by 71 # div class="preformat" 72 # fplod 2006-06-19T08:46:39Z aedon.locean-ipsl.upmc.fr (Darwin) 73 # for idldoc html output 74 #. replace 75 # -e 's/\(href=".*\)\(\.html\)\("\)/\1\2?format=raw\3/g' \ 76 # -e 's/\(href=".*\)\(\.html\)\(#.*"\)/\1\2?format=raw\3/g' \ 77 # -e 's/\(src=".*\)\(\.html\)\("\)/\1\2?format=raw\3/g' \ 78 # by 79 # -e 's@\(href="[^.]*[^h]*[^t]*[^m]*[^l]*[^"]*\)\(\.html\)\("\)@\1\2?format=raw\3@g' \ 80 # -e 's@\(href="[^.]*[^h]*[^t]*[^m]*[^l]*[^"]*\)\(\.html\)\(#.*"\)@\1\2?format=raw\3@g' \ 81 #-e 's@\(src="[^.]*[^h]*[^t]*[^m]*[^l]*[^"]*\)\(\.html\)\("\)@\1\2?format=raw\3@g' 82 # in order to be able to add ?format=raw several time on one line 83 # . suppress .html in line like 84 # a parameter from the routine ./ReadWrite/idl-NetCDF/ncdf_read.html 85 # in files idldoc-index*.html 86 # fplod 2006-06-14T12:41:37Z aedon.locean-ipsl.upmc.fr (Darwin) 87 # add embed parameter idldoc instructions to try to fix ticket#17 88 # fplod 2006-06-07T12:11:50Z aedon.locean-ipsl.upmc.fr (Darwin) 89 # add g option in ?format=raw sed transformation in order to fix 90 # link on top of idldoc like directory-overview.html 91 # fplod 2006-06-07T10:57:35Z aedon.locean-ipsl.upmc.fr (Darwin) 92 # add ?format=raw in idldoc production for frames 93 # fplod 2006-06-07T08:14:15Z aedon.locean-ipsl.upmc.fr (Darwin) 94 # add action for idldochtml 95 # fplod 2006-06-02T14:28:30Z aedon.locean-ipsl.upmc.fr (Darwin) 96 # modification to produce tar files in /tmp/saxo_${$} when dotar=1 97 # modification to copy tar files on http://forge.ipsl.jussieu.fr/saxo/download/ 98 # when doforge=1 99 # produce tar files in /tmp/saxo_${$} when dotar=1 8 # fplod 2007-12-04T09:21:18Z aedon.locean-ipsl.upmc.fr (Darwin) 9 # version 10 # http://michaelgalloy.com/wp-content/uploads/2007/12/idldoc-3.0b3.zip 11 # pb parser if ; after ;- 12 # ++ plus de param et keyword dans l'index 13 # ++ pas w3c tilte au lieu de title, pas de charset, pas de alt, pas de summary 14 # ++ css pas ok 15 # ++ plus de @restrictions 16 # fplod 2007-12-04T09:10:55Z aedon.locean-ipsl.upmc.fr (Darwin) 17 # externalisation of idldoc issues from savesaxo.sh 18 # previous release of idldoc was 2.0 19 # this tool can be checked by creating doc from Michael Galloy librayry 20 # available on http://www.michaelgalloy.com/lib-docs/ 21 # version 22 # http://michaelgalloy.com/wp-content/uploads/2007/11/idldoc-3.0b1.zip 23 # pas ok ne reconnait pas les @param, @keyword 24 # 100 25 set -x 101 26 set -u 102 # 103 docompileall=0 104 dohtml=0 105 dooldtest=0 106 doidlwavedoc=1 107 doidldoc=0 108 doTARsrc=0 109 doTARdata=0 110 doforge=0 111 doSRClocean=0 112 doDTAlocean=0 113 doSRCipsl=0 114 doDTAipsl=0 115 doSRCidris=0 116 doDTAidris=0 117 dodocdownload=0 118 # 119 case $( whoami ) in 120 smasson) 121 lgforge=smasson 122 ;; 123 floseb) 124 lgforge=smasson 125 ;; 126 *) 127 lgforge=saxo 128 ;; 129 esac 130 # 131 if [ ${lgforge} != smasson ] 132 then 133 doSRClocean=0 134 doDTAlocean=0 135 doSRCipsl=0 136 doDTAipsl=0 137 doSRCidris=0 138 doDTAidris=0 139 fi 140 # 141 # get the date in a nice format 142 # 143 ndate=`date +%Y%m%d` 144 rev=$( svn info | grep -i revision | awk '{print $NF}' ) 27 assistant=0 28 transform=0 29 title="SAXO Documentation" # ++ parametre 30 root="../../mglib/" # overriding root for test ++ 31 root="../../" 32 # 33 idldoc_dir="../idldoc/" # 34 idldoc_dir="/Users/fplod/Desktop/idldoc-3.0b3" # overriding idldoc_dir for test ++ 35 # 145 36 # memorize current directory 146 37 memopwd=$(pwd) # should be <working space>/SRC/Documentation/xmldoc 147 #148 38 #------------------------------------------------------------------ 149 if [ ${docompileall} -eq 1 ] 150 then 151 cat <<EOF > /tmp/compileall${$}.pro 152 .reset_session 153 ; 154 !path = expand_path('+' + '../..') + ':' + expand_path('+' + !dir) 155 resolve_all, resolve_either='def_myuniquetmpdir', skip_routines = ['xxx2ps','trends', 'label_gmt'] 156 resolve_all, resolve_either = 'find', skip_routines = ['xxx2ps','trends', 'label_gmt'] 157 def_myuniquetmpdir 158 oldcm = find('oldcm_empty') 159 ;oldcm = find('oldcm_full') 160 oldcm = oldcm[0] 161 @cm_general 162 file_copy, oldcm, myuniquetmpdir + 'oldcm_used.pro', /overwrite 163 !path = myuniquetmpdir + ':' + !path 164 IF !journal NE 0 THEN journal 165 journal, myuniquetmpdir + 'cm_demomode_used.pro' 166 journal 167 path_cache, /rebuild 168 ; 169 resolve_all, resolve_either='keep_compatibility', skip_routines = ['xxx2ps','trends', 'label_gmt'] 170 ; 171 EOF 172 # 173 for i in $( find ${memopwd}/../.. -name "*.pro" | grep -iv label_gmt ) 174 do 175 # does it contains pro or function ? 176 egrep -iq '^ * *(pro|function)' ${i} 177 if [ ${?} -eq 0 ] 178 then 179 echo "print, '$( basename ${i} .pro ) :'" >> /tmp/compileall${$}.pro 180 echo "resolve_all, resolve_either = '$( basename ${i} .pro )', skip_routines = ['xxx2ps','trends', 'label_gmt']" >> /tmp/compileall${$}.pro 181 fi 182 done 183 echo "exit" >> /tmp/compileall${$}.pro 184 IDL_STARTUP=/tmp/compileall${$}.pro 185 ${IDL_DIR}/bin/idl &> /tmp/compileallerr_${$} 186 echo 187 echo 188 grep -i "error" /tmp/compileallerr_${$} 189 # grep -q "Compilation error(s)" /tmp/compileallerr_${$} 190 if [ ${?} -ne 0 ] 191 then 192 echo "ALL SAXO files are OK..." 193 rm -f /tmp/compileallerr_${$} /tmp/compileall${$}.pro 194 else 195 grep "Compilation error(s)" /tmp/compileallerr_${$} 196 echo "eee : see /tmp/compileallerr_${$}" 197 more /tmp/compileallerr_${$} 198 exit 1 199 fi 200 echo 201 echo 202 fi 203 #------------------------------------------------------------------ 204 if [ ${dohtml} -eq 1 ] 205 then 206 # 207 # redo the html file 208 # 209 cd ${memopwd} 210 for docxml in firststeps.xml getsaxo.xml mailing.xml websaxo.xml tiplink.xml updatesaxo.xml whatissaxo.xml whatsnew.xml infoupdatekwd.xml infoupdatecm.xml mini_notice.xml faqsaxo.xml 211 do 212 ./makehtml.sh $(basename ${docxml} .xml) 213 status=${?} 214 if [ ${status} -ne 0 ] 215 then 216 echo "eee : pb with makehtml.sh $(basename ${docxml} .xml)" 217 exit 1 218 fi 219 done 220 fi 221 #------------------------------------------------------------------ 222 if [ ${dooldtest} -eq 1 ] 223 then 224 # make the old test 225 # 226 cd ${memopwd}/../../Tests/ 227 ./makeold.sh 228 exit 0 229 fi 230 #------------------------------------------------------------------ 231 if [ ${doidlwavedoc} -eq 1 ] 232 then 233 # 234 # redo idlwave doc 235 # 236 cd ${memopwd}/../.. 237 Documentation/idlwave_catalog -v -f saxo 238 exit 0 239 fi 240 #------------------------------------------------------------------ 241 if [ ${doidldoc} -eq 1 ] 242 then 243 # 244 # build a idl file to launch idldoc 245 output=../idldoc_html_output/ 246 log="/tmp/idldochtml_${$}.log" 247 pro="/tmp/idldochtml_${$}.pro" 248 cat <<EOF > ${pro} 249 !path = expand_path('+' + '../idldoc/') 250 print,!path 251 idldoc,root="../../",title="SAXO Documentation", $ 39 # 40 # build a idl file to launch idldoc 41 output=../idldoc_html_output/ 42 #++outputtmp=/tmp/idldoc_html_output${$}/ 43 outputtmp=/tmp/idldoc_html_output/ 44 log="/tmp/idldochtml_${$}.log" 45 pro="/tmp/idldochtml_${$}.pro" 46 cat <<EOF > ${pro} 47 !path = expand_path('+' + '${idldoc_dir}') 48 idldoc,root="${root}",title="${title}", $ 252 49 LOG_FILE="${log}", $ 253 output="${output }", $254 overview="../../overview", /statistics , /preformat50 output="${outputtmp}", $ 51 overview="../../overview", /statistics 255 52 exit 256 53 EOF 257 # launch idl with the file built above 258 IDL_STARTUP=${pro};${IDL_DIR}/bin/idl 259 /bin/rm ${pro} 260 # In order to do not have to many revision in svn, we modify some 261 # lines produced by idldoc : 262 # - add Source link in each html file corresponding to a .pro file 263 # example : 264 # <td>Source</td> 265 # will be replaced by 266 # <td><a href="../../Calendar/caldat.pro" title="Source code of a file">Source</a></td> 267 # 268 # - remove date and time of idldoc production 269 # examples : 270 # <!-- Generated by IDLdoc 2.0 on Wed Jun 7 10:25:28 2006 --> 271 # will be replaced by 272 # <!-- Generated by IDLdoc 2.0 --> 273 # <div id="tagline">Produced by IDLdoc 2.0 on Wed Jun 7 10:54:37 2006.</div 274 # will be replaced by 275 # <div id="tagline">Produced by IDLdoc 2.0</div> 276 # <h2>Produced on Wed Jun 7 10:23:13 2006</h2> 277 # will be delete 278 # other lines will be deleted because the time is the time of checkout not 279 # the time of revision. 280 # the sequence of lines 281 #<dl> 282 # <dt>Last modification:</dt> 283 # <dd>Fri Jun 2 11:46:24 2006</dd> 284 # </dl> 285 # should also be removed ++ je ne sais pas dire en sed la ligne 286 # suivant l'occurence de Last modification 287 # 288 # count of directory levels in output 289 # this count will be use to format relative path later 290 nblev1=$(echo ${output} | sed -e "s@/\$@@" |awk -F "/" '{print NF}') 291 # 292 list_html_pro=$(find ${output} -name "*.html" -exec grep -l "<title>.*\.pro" {} \;) 293 for file_html in ${list_html_pro} 294 do 295 # build the .pro file name 296 bfile=$(basename ${file_html} .html) 297 # retrieve the path of html file relative to memopwd (so relative to 298 # output). This path will be used in "Source" link. 299 nblev2=$(dirname ${file_html} | sed -e "s@/\$@@" | awk -F "/" '{print NF}') 300 difflev=$((${nblev2} - ${nblev1})) 301 if [ ${difflev} -ge 2 ] 302 then 303 ilev=1 304 reloutput_html=".." 305 while [ ${ilev} -le ${difflev} ] 306 do 307 reloutput_html="${reloutput_html}/.." 308 ilev=$(( ${ilev} + 1 )) 309 done 310 relpath_html=$(dirname ${file_html} | \ 311 sed -e "s@${output}@${reloutput_html}@" \ 312 -e "s@\$@/@") 313 # echo "relpath ${relpath_html})" 314 else 315 relpath_html="./" 316 fi 317 # echo "relpath ${relpath_html}/${bfile}" 318 sed \ 319 -e "s@<td >Source<\/td>@<td><a href=\"${relpath_html}/${bfile}.pro\" title=\"Source code of a file\">Source<\/a><\/td>@" \ 320 ${file_html} > ${file_html}_modify 321 mv ${file_html}_modify ${file_html} 322 done 323 list_html=$(find ${output} -name "*.html") 324 for file_html in ${list_html} 325 do 326 sed \ 327 -e "s/\(Generated by IDLdoc 2.0\)\( on .*\)\( -->\)/\1\3/" \ 328 -e "s/\(Produced by IDLdoc 2.0\)\( on .*\)\(\.<\/div>\)/\1\3/" \ 329 -e "/<h2>Produced on/d" \ 330 -e "/Last modification:/d" \ 331 -e "/<dd>... ... .* ..:..:.. ....<\/dd>/d" \ 332 -e 's@<div class="value">@<div class="preformat">@' \ 333 -e 's/div\#file_comments {/div\#file_comments { white-space: pre;/' \ 334 -e 's@^ <fixe>@<pre>@' \ 335 -e 's@^ </fixe>@</pre>@' \ 336 -e 's@xhtml-transitional@xhtml1-transitional@' \ 337 ${file_html} > ${file_html}_modify 338 mv ${file_html}_modify ${file_html} 339 done 340 # suppress ".html" in idldoc-index*.html in lines like 341 # a parameter from the routine ./ReadWrite/idl-NetCDF/ncdf_read.html 342 list_html=$(find ${output} -name "idldoc-index*.html") 343 for file_html in ${list_html} 344 do 345 sed \ 346 -e "s/\(a parameter from the routine \)\(.*\)\(.html\)/\1\2/" \ 347 ${file_html} > ${file_html}_modify 348 mv ${file_html}_modify ${file_html} 349 done 350 # replace <pro>ginette</pro> by a sequence like 351 # <a href="./ginette.html">ginette</a> 352 ./pro2href.sh -i ${output} -r ${output} -e pro 353 status=${?} 354 if [ ${status} -ne 0 ] 355 then 356 echo "eee : pb during ./pro2href.sh for <pro>...</pro>" 357 exit 1 358 fi 359 # replace <proidl>ginette</proidl> by a sequence like 360 # <a href="./ginette.html">ginette</a> 361 ./pro2href.sh -i ${output} -r ${IDL_DIR}/help/online_help -e proidl 362 status=${?} 363 if [ ${status} -ne 0 ] 364 then 365 echo "eee : pb during ./pro2href.sh for <proidl>...</proidl>" 366 exit 1 367 fi 368 echo "iii : you can see log file in ${log}" 369 echo "iii : and look ${output}/idldoc-warnings.html#undoc" 370 # 371 # build a idl file to launch idldoc 372 output=../idldoc_assistant_output/ 373 log="/tmp/idldocassistant_${$}.log" 374 pro="/tmp/idldocassistant_${$}.pro" 375 cat <<EOF > ${pro} 376 !path = expand_path('+' + '../idldoc/') 377 print,!path 378 idldoc,root="../../",title="SAXO Documentation Assistant", $ 54 # launch idl with the file built above 55 IDL_STARTUP=${pro};${IDL_DIR}/bin/idl 56 /bin/rm ${pro} 57 # 58 if [ ${transform} -eq 1 ] 59 then 60 # In order to do not have to many revision in svn, we modify some 61 # lines produced by idldoc : 62 # - add Source link in each html file corresponding to a .pro file 63 # example : 64 # <td>Source</td> 65 # will be replaced by 66 # <td><a href="../../Calendar/caldat.pro" title="Source code of a file">Source</a></td> 67 # 68 # - remove date and time of idldoc production 69 # examples : 70 # <!-- Generated by IDLdoc 2.0 on Wed Jun 7 10:25:28 2006 --> 71 # will be replaced by 72 # <!-- Generated by IDLdoc 2.0 --> 73 # <div id="tagline">Produced by IDLdoc 2.0 on Wed Jun 7 10:54:37 2006.</div 74 # will be replaced by 75 # <div id="tagline">Produced by IDLdoc 2.0</div> 76 # <h2>Produced on Wed Jun 7 10:23:13 2006</h2> 77 # will be delete 78 # other lines will be deleted because the time is the time of checkout not 79 # the time of revision. 80 # the sequence of lines 81 #<dl> 82 # <dt>Last modification:</dt> 83 # <dd>Fri Jun 2 11:46:24 2006</dd> 84 # </dl> 85 # should also be removed ++ je ne sais pas dire en sed la ligne 86 # suivant l'occurence de Last modification 87 # 88 # count of directory levels in output 89 # this count will be use to format relative path later 90 nblev1=$(echo ${outputtmp} | sed -e "s@/\$@@" |awk -F "/" '{print NF}') 91 # 92 list_html_pro=$(find ${outputtmp} -name "*.html" -exec grep -l "<title>.*\.pro" {} \;) 93 for file_html in ${list_html_pro} 94 do 95 # build the .pro file name 96 bfile=$(basename ${file_html} .html) 97 # retrieve the path of html file relative to memopwd (so relative to 98 # output). This path will be used in "Source" link. 99 nblev2=$(dirname ${file_html} | sed -e "s@/\$@@" | awk -F "/" '{print NF}') 100 difflev=$((${nblev2} - ${nblev1})) 101 if [ ${difflev} -ge 2 ] 102 then 103 ilev=1 104 reloutput_html=".." 105 while [ ${ilev} -le ${difflev} ] 106 do 107 reloutput_html="${reloutput_html}/.." 108 ilev=$(( ${ilev} + 1 )) 109 done 110 relpath_html=$(dirname ${file_html} | \ 111 sed \ 112 -e "s@${outputtmp}@${reloutput_html}@" \ 113 -e "s@\$@/@") 114 # echo "relpath ${relpath_html})" 115 else 116 relpath_html="./" 117 fi 118 # echo "relpath ${relpath_html}/${bfile}" 119 sed \ 120 -e "s@<td >Source<\/td>@<td><a href=\"${relpath_html}/${bfile}.pro\" title=\"Source code of a file\">Source<\/a><\/td>@" \ 121 ${file_html} > ${file_html}_modify 122 mv ${file_html}_modify ${file_html} 123 done 124 list_html=$(find ${outputtmp} -name "*.html") 125 for file_html in ${list_html} 126 do 127 sed \ 128 -e "s/\(Generated by IDLdoc 2.0\)\( on .*\)\( -->\)/\1\3/" \ 129 -e "s/\(Produced by IDLdoc 2.0\)\( on .*\)\(\.<\/div>\)/\1\3/" \ 130 -e "/<h2>Produced on/d" \ 131 -e "/Last modification:/d" \ 132 -e "/<dd>... ... .* ..:..:.. ....<\/dd>/d" \ 133 -e 's@<div class="value">@<div class="preformat">@' \ 134 -e 's/div\#file_comments {/div\#file_comments { white-space: pre;/' \ 135 -e 's@^ <fixe>@<pre>@' \ 136 -e 's@^ </fixe>@</pre>@' \ 137 -e 's@xhtml-transitional@xhtml1-transitional@' \ 138 ${file_html} > ${file_html}_modify 139 mv ${file_html}_modify ${file_html} 140 done 141 # suppress ".html" in idldoc-index*.html in lines like 142 # a parameter from the routine ./ReadWrite/idl-NetCDF/ncdf_read.html 143 list_html=$(find ${outputtmp} -name "idldoc-index*.html") 144 for file_html in ${list_html} 145 do 146 sed \ 147 -e "s/\(a parameter from the routine \)\(.*\)\(.html\)/\1\2/" \ 148 ${file_html} > ${file_html}_modify 149 mv ${file_html}_modify ${file_html} 150 done 151 # replace <pro>ginette</pro> by a sequence like 152 # <a href="./ginette.html">ginette</a> 153 ./pro2href.sh -i ${outputtmp} -r ${outputtmp} -e pro 154 status=${?} 155 if [ ${status} -ne 0 ] 156 then 157 echo "eee : pb during ./pro2href.sh for <pro>...</pro>" 158 exit 1 159 fi 160 # replace <proidl>ginette</proidl> by a sequence like 161 # <a href="./ginette.html">ginette</a> 162 ./pro2href.sh -i ${outputtmp} -r ${IDL_DIR}/help/online_help -e proidl 163 status=${?} 164 if [ ${status} -ne 0 ] 165 then 166 echo "eee : pb during ./pro2href.sh for <proidl>...</proidl>" 167 exit 1 168 fi 169 fi # end of transform = 1 170 # 171 echo "iii : you can see log file in ${log}" 172 echo "iii : and look ${outputtmp}/idldoc-warnings.html#undoc" 173 # 174 if [ ${assistant} -eq 1 ] 175 then 176 # build a idl file to launch idldoc 177 output=../idldoc_assistant_output/ 178 log="/tmp/idldocassistant_${$}.log" 179 pro="/tmp/idldocassistant_${$}.pro" 180 cat <<EOF > ${pro} 181 !path = expand_path('+' + '${idldoc_dir}') 182 idldoc,root="${root}",title="${title}", $ 379 183 LOG_FILE="${log}", $ 380 output="${output }", overview='../../overview', /statistics, /preformat, /embed, /assistant184 output="${outputtmp}", overview='../../overview', /statistics, /embed, /assistant 381 185 exit 382 186 EOF 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 list_html=$(find ${output} -name "*.html")414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 ./pro2href.sh -i ${output} -r ${output} -e pro435 436 437 438 439 440 441 442 443 ./pro2href.sh -i ${output} -r ${IDL_DIR}/help/online_help -e proidl444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 cp ../idldoc/resource/listings.css ${output}460 461 187 # launch idl with the file built above 188 IDL_STARTUP=${pro};${IDL_DIR}/bin/idl 189 /bin/rm ${pro} 190 # In order to do not have to many revision in svn, we modify some 191 # lines produced by idldoc : 192 # examples : 193 # <!-- Generated by IDLdoc 2.0 on Wed Jun 7 10:25:28 2006 --> 194 # will be replaced by 195 # <!-- Generated by IDLdoc 2.0 --> 196 # <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:10 2006.</font></p> 197 # will be replaced by 198 # <p><font color="gray" size="-3"> Produced by IDLdoc 2.0</font></p> 199 # <h2>Produced on Wed Jun 7 10:23:13 2006</h2> 200 # will be delete 201 # other lines will be deleted because the time is the time of checkout not 202 # the time of revision. 203 # the sequence of lines 204 #<dl> 205 # <dt>Last modification:</dt> 206 # <dd>Fri Jun 2 11:46:24 2006</dd> 207 # </dl> 208 # should also be removed ++ je ne sais pas dire en sed la ligne 209 # suivant l'occurence de Last modification 210 # replace *_param_* in href attributes because anchors are badly written 211 # with _keyword_ 212 #++ -e 's@\(href="#_.*\)\(_param_\)\(.*"\)@\1_keyword_\3@g' \ # ++ pb global 213 # ONLINE_HELP, book="../idldoc_assistant_output/idldoc-lib.adp", /full_path # won't work 214 # encaspulate example content in <pre> </pre> in idldoc assistant outputs 215 # Examples section is supposed to start with <h3>Examples</h3> 216 # and end is before <h3>Version history</h3> 217 list_html=$(find ${outputtmp} -name "*.html") 218 for file_html in ${list_html} 219 do 220 sed \ 221 -e "s/\(Generated by IDLdoc 2.0\)\( on .*\)\( -->\)/\1\3/" \ 222 -e "s/\(Produced by IDLdoc 2.0\)\( on .*\)\(\.<\/font>\)/\1\3/" \ 223 -e "/<h2>Produced on/d" \ 224 -e "/Last modification:/d" \ 225 -e "/<dd>... ... .* ..:..:.. ....<\/dd>/d" \ 226 -e '/href/s@_param_@_keyword_@g' \ 227 -e 's@<div class="value">@<div class="preformat">@' \ 228 -e 's/div\#file_comments {/div\#file_comments { white-space: pre;/' \ 229 -e 's@^ <fixe>@<pre>@' \ 230 -e 's@^ </fixe>@</pre>@' \ 231 -e "s@<h3>Examples</h3>@<h3>Examples</h3><pre>@" \ 232 -e "s@<h3>Version history</h3>@</pre><h3>Version history</h3>@" \ 233 ${file_html} > ${file_html}_modify 234 mv ${file_html}_modify ${file_html} 235 done 236 # replace <pro>ginette</pro> by a sequence like 237 # <a href="./ginette.html">ginette</a> 238 ./pro2href.sh -i ${outputtmp} -r ${outputtmp} -e pro 239 status=${?} 240 if [ ${status} -ne 0 ] 241 then 242 echo "eee : pb during ./pro2href.sh for <pro>...</pro>" 243 exit 1 244 fi 245 # replace <proidl>ginette</proidl> by a sequence like 246 # <a href="./ginette.html">ginette</a> 247 ./pro2href.sh -i ${outputtmp} -r ${IDL_DIR}/help/online_help -e proidl 248 status=${?} 249 if [ ${status} -ne 0 ] 250 then 251 echo "eee : pb during ./pro2href.sh for <proidl>...</proidl>" 252 exit 1 253 fi 254 # add the directory-overview.html from dir-files.html in idldoc_html_output 255 list_html=$(find ../idldoc_html_output -name dir-files.html) 256 for file_html in ${list_html} 257 do 258 fout=../idldoc_assistant_output/${file_html#../idldoc_html_output/*} 259 fout=${fout%/*}/directory-overview.html 260 cp ${file_html} ${fout} 261 done 262 # copy listings.css (needed by directory-overview.html files) 263 cp ../idldoc/resource/listings.css ${outputtmp} 264 # add an id in idldoc-lib.adp 265 cat << EOF > /tmp/adp_modification 462 266 <!-- \$Id\$ --> 463 267 EOF 464 465 466 467 468 469 470 471 echo "iii : and look ${output}/idldoc-warnings.html#undoc"472 473 474 475 476 268 sed -e "/<\/profile>/r /tmp/adp_modification" \ 269 ../idldoc_assistant_output/idldoc-lib.adp > \ 270 ../idldoc_assistant_output/idldoc-lib.adp_${$} 271 mv ../idldoc_assistant_output/idldoc-lib.adp_${$} \ 272 ../idldoc_assistant_output/idldoc-lib.adp 273 rm /tmp/adp_modification 274 echo "iii : you can see log file in ${log}" 275 echo "iii : and look ${outputtmp}/idldoc-warnings.html#undoc" 276 # check that the number of existing html files for each .pro file is 2! 277 for i in $( find ../.. -name "*.pro" ) 278 do 279 nhtml=$( find ../.. -name $( basename ${i} .pro ).html | wc -l ) 280 if [ ${nhtml} -ne 2 ] 477 281 then 478 282 echo "ERROR there is not 2 $( basename ${i} .pro ).html files" 479 283 find ../.. -name $( basename ${i} .pro ).html 480 284 echo 481 fi 482 done 483 fi 484 #------------------------------------------------------------------ 485 if [ ${doTARsrc} -eq 1 ] 486 then 487 localtarbase=/tmp/savesaxo_${$} 488 mkdir ${localtarbase}/ 489 # clean backup files : *~ 490 find ${memopwd}/../../.. -name "*~" -exec rm {} \; 491 # prepare the source tar (without the svn...) 492 # 493 cd ${memopwd}/../../.. 494 tar czf ${localtarbase}/SAXO_SRC_${ndate}r${rev}.tar.gz --exclude .svn SRC 495 # 496 # informations 497 echo "iii : following file may be copied on http://forge.ipsl.jussieu.fr/saxo/download/" 498 ls -l ${localtarbase} 499 fi 500 #------------------------------------------------------------------ 501 if [ ${doTARdata} -eq 1 ] 502 then 503 localtarbase=/tmp/savesaxo_${$} 504 mkdir ${localtarbase}/ 505 # 506 # prepare the data tar (without the svn...) 507 # 508 cd ${memopwd}/../../.. 509 tar czf ${localtarbase}/SAXO_DATA_${ndate}.tar.gz --exclude .svn DATA 510 # 511 # informations 512 echo "iii : following file may be copied on http://forge.ipsl.jussieu.fr/saxo/download/" 513 ls -l ${localtarbase} 514 fi 515 #------------------------------------------------------------------ 516 if [ ${doforge} -eq 1 ] 517 then 518 echo "iii : you will be asked ${lgforge}@forge.ipsl.jussieu.fr passwd two times" 519 if [ ${doTARsrc} -ne 1 ] 520 then 521 localtarbase=${1} 522 fi 523 scp ${localtarbase}/SAXO_*.tar.gz ${lgforge}@forge.ipsl.jussieu.fr:/ipsl/forge/projets/saxo/download/ 524 echo "iii : do not forget to update getsaxo.html" 525 echo "iii : \$ ./makehtml.sh getsaxo" 526 echo "iii : do not forget to clean ${localtarbase}" 527 fi 528 #------------------------------------------------------------------ 529 if [[ (${doDTAlocean} -eq 1) || (${doDTAipsl} -eq 1) ]] 530 then 531 echo "iii : you will be asked ${lgforge}@forge.ipsl.jussieu.fr passwd" 532 infodata=$(ssh ${lgforge}@forge.ipsl.jussieu.fr ls -lht /ipsl/forge/projets/saxo/download/SAXO_DATA_*.tar.gz | head -n 1) 533 filedata=$(echo ${infodata} | awk '{print $NF}') 534 filedata=$(basename ${filedata}) 535 cat <<EOF > job_data_$$ 536 #!/bin/bash 537 cd SAXO_DIR 538 # 539 rm -rf DATA 540 wget http://forge.ipsl.jussieu.fr/saxo/download/${filedata} 541 gunzip ${filedata} 542 tar vxf $( basename ${filedata} .gz ) 543 rm -f $( basename ${filedata} .gz ) 544 # 545 chmod -R 755 * 546 exit 547 # 548 EOF 549 fi 550 #------------------------------------------------------------------ 551 if [ ${doSRClocean} -eq 1 ] 552 then 553 # update src on cerbere 554 # 555 echo "iii : update src on cerbere" 556 ssh smasson@cerbere.locean-ipsl.upmc.fr "svn update SAXO_DIR/SRC ; chmod -R 755 SAXO_DIR" 557 fi 558 #------------------------------------------------------------------ 559 if [ ${doDTAlocean} -eq 1 ] 560 then 561 # update data on cerbere 562 echo "iii : update data on cerbere" 563 scp job_data_$$ smasson@cerbere.locean-ipsl.upmc.fr:. 564 ssh smasson@cerbere.locean-ipsl.upmc.fr "chmod 755 job_data_$$ ; ./job_data_$$ ; rm -f job_data_$$" 565 fi 566 #------------------------------------------------------------------ 567 if [ ${doSRCipsl} -eq 1 ] 568 then 569 # update src on calcul2 570 # 571 echo "iii : update src on calcul2" 572 ssh smlod@calcul2.ipsl.jussieu.fr "svn update SAXO_DIR/SRC ; chmod -R 755 SAXO_DIR" 573 fi 574 #------------------------------------------------------------------ 575 if [ ${doDTAipsl} -eq 1 ] 576 then 577 # update data on cook 578 echo "iii : update data on cook" 579 scp job_data_$$ smlod@cook.ipsl.jussieu.fr:. 580 ssh smlod@cook.ipsl.jussieu.fr "chmod 755 job_data_$$ ; ./job_data_$$ ; rm -f job_data_$$" 581 fi 582 #------------------------------------------------------------------ 583 if [ ${doSRCidris} -eq 1 ] 584 then 585 # update src on rhodes 586 echo "iii : update src to rhodes" 587 ssh -t smasson@cerbere.locean-ipsl.upmc.fr ssh reee217@rhodes.idris.fr "/usr/local/pub/svn/svn-1.3.1/bin/svn update SAXO_DIR/SRC ; chmod -R 755 SAXO_DIR" 588 fi 589 #------------------------------------------------------------------ 590 if [ ${doDTAidris} -eq 1 ] 591 then 592 # create the update script for rhodes 593 if [[ (${doDTAlocean} -eq 0) && (${doDTAipsl} -eq 0) ]] 594 then 595 echo "iii : you will be asked ${lgforge}@forge.ipsl.jussieu.fr passwd" 596 infodata=$(ssh ${lgforge}@forge.ipsl.jussieu.fr ls -lht /ipsl/forge/projets/saxo/download/SAXO_DATA_*.tar.gz | head -n 1) 597 filedata=$(echo ${infodata} | awk '{print $NF}') 598 filedata=$(basename ${filedata}) 599 fi 600 cat <<EOF > job_data_idris_$$ 601 #!/bin/ksh 602 cd SAXO_DIR 603 # 604 rm -rf DATA 605 echo "iii : you will be asked ${lgforge}@forge.ipsl.jussieu.fr passwd" 606 scp ${lgforge}@forge.ipsl.jussieu.fr:/ipsl/forge/projets/saxo/download/${filedata} . 607 gunzip ${filedata} 608 tar vxf $( basename ${filedata} .gz ) 609 rm -f $( basename ${filedata} .gz ) 610 # 611 chmod -R 755 * 612 exit 613 # 614 EOF 615 # update data on gaya 616 echo "iii : update data to gaya" 617 scp job_data_idris_$$ reee217@gaya.idris.fr:. 618 ssh reee217@gaya.idris.fr "chmod 755 job_data_idris_$$ ; ./job_data_idris_$$ ; rm -f job_data_idris_$$" 619 fi 620 #------------------------------------------------------------------ 621 if [ ${dodocdownload} -eq 1 ] 622 then 623 # ++ on pourrait peut-etre faire un rsync en enlevant les .sh et le .xsl 624 # et faire le ménage des fichiers qui n'existent plus 625 echo "iii : you will be asked ${lgforge}@forge.ipsl.jussieu.fr passwd several times" 626 # 627 # copy files in a temporary directory 628 mkdir /tmp/download_${$}/ 629 cp -rp ../xmldoc /tmp/download_${$}/ 630 cp -rp ../idldoc_html_output /tmp/download_${$}/ 631 # 632 # remove svn files 633 find /tmp/download_${$}/ -name ".svn" -exec rm -rf {} \; 634 # 635 # replace relative path 636 # by http://forge.ipsl.jussieu.fr/saxo/browser/trunk/SRC/ 637 # on ulink lines containing some directories like ../../ToBeReviewed/ or ../../Test/ or file like newheader.txt 638 list_html=$(find /tmp/download_${$}/ -name "*.html") 639 for file_html in ${list_html} 640 do 641 sed \ 642 -e "/Source code of a file/s+../.*/../+http://forge.ipsl.jussieu.fr/saxo/browser/trunk/SRC/+" \ 643 -e "/..\/..\/ToBeReviewed/s+../../+http://forge.ipsl.jussieu.fr/saxo/browser/trunk/SRC/+" \ 644 -e "/..\/..\/Test/s+../../+http://forge.ipsl.jussieu.fr/saxo/browser/trunk/SRC/+" \ 645 -e "/..\/..\/Calendar/s+../../+http://forge.ipsl.jussieu.fr/saxo/browser/trunk/SRC/+" \ 646 -e "/..\/newheader/s+../../+http://forge.ipsl.jussieu.fr/saxo/browser/trunk/SRC/Documentation/+" \ 647 ${file_html} > ${file_html}_${$} 648 mv ${file_html}_${$} ${file_html} 649 done 650 echo 651 echo "give SAXO password if asked" 652 scp -rp /tmp/download_${$}/* saxo@forge.ipsl.jussieu.fr:/ipsl/forge/projets/saxo/download/ 653 rm -rf /tmp/download_${$}/ 654 fi 655 #------------------------------------------------------------------ 656 #------------------------------------------------------------------ 657 # 658 [ -f job_src_$$ ] && rm -f job_src_$$ 659 [ -f job_data_$$ ] && rm -f job_data_$$ 660 [ -f job_data_idris_$$ ] && rm -f job_data_idris_$$ 661 # 662 exit 663 # 285 fi 286 done 287 # 288 fi 289 # copy of temporary outputs on final directory 290 # ++ if transform 291 #++mv ${outputtmp} ${output} # ++ rsync 292 echo "look at ${outputtmp}/index.html" #++ 293 # end 294 exit 0 -
trunk/SRC/Documentation/xmldoc/savesaxo.sh
r324 r325 105 105 dooldtest=0 106 106 doidlwavedoc=0 107 doidldoc= 0107 doidldoc=1 108 108 doTARsrc=0 109 109 doTARdata=0
Note: See TracChangeset
for help on using the changeset viewer.