X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scripts%2Fauxiliar%2Fcg-section.sh;fp=scripts%2Fauxiliar%2Fcg-section.sh;h=77d0bdee96ae9e662c8ad6f3693bffd357defba9;hb=32a34dcef0c0041c6d62677487a380b5c8b85712;hp=272260c3c9129948a77aaed3fe0c983e7bcfa460;hpb=f41973ff763d5972a85995b6d40c864281ec6714;p=lilypond.git diff --git a/scripts/auxiliar/cg-section.sh b/scripts/auxiliar/cg-section.sh index 272260c3c9..77d0bdee96 100755 --- a/scripts/auxiliar/cg-section.sh +++ b/scripts/auxiliar/cg-section.sh @@ -2,20 +2,19 @@ # Build html versions of sections of lilypond Contributors' Guide # -# Usage: cg-section.sh SECTION +# Usage: ./cg-section.sh SECTION # -# where SECTION is the section to be built. +# where SECTION is the section to be built. # -# For example, CG 4 would be built by -# cg-section.sh doc-work +# For example, CG 4 would be built by +# ./cg-section.sh doc-work # -# At the end of the run, the user is prompted whether or not to remove files +# At the end of the run, the user is prompted whether or not to +# remove the generated files. # -# Before first use, the following must be done: -# * Set FROMDIR, DOCDIR, TODIR, LILYPONDBOOK, and TEXI2HTML for your system -# * Create $DOCDIR -# * Copy version.itexi from somewhere in your Documentation tree -# (probably Documentation/out) to $DOCDIR +# Paths are calculated from environment variables in exactly the +# same way as they are for doc-section.sh - see the documentation +# for that. # # Known limitations: # @@ -23,51 +22,98 @@ # * Bitmap images aren't loaded properly # -# -# Customize the file here -# -FROMDIR="$HOME/lilypond" -DOCDIR="$HOME/lilypond/tempdocs" -TODIR="$DOCDIR/contributor" +usage () { + cat <&2 +Usage: $0 SECTION + +e.g. $0 doc-work +EOF + exit "$1" +} + +if [ "$1" == '-h' ] || [ "$1" == '--help' ]; then + usage 0 +fi + +[ $# = 1 ] || usage 1 + +if [ -n "$LILYPOND_GIT" ]; then + echo "Using source tree from value of \$LILYPOND_GIT: $LILYPOND_GIT" +else + cd "`dirname $0`" + cd ../.. + LILYPOND_GIT="`pwd`" + echo "\$LILYPOND_GIT was not set; auto-detected source tree at $LILYPOND_GIT" +fi + +if test ! -e "$LILYPOND_GIT/DEDICATION"; then + echo "Error: $LILYPOND_GIT did not look like a LilyPond source tree; aborting." >&2 + exit 1 +fi + +: "${LILYPOND_BUILD_DIR:=$LILYPOND_GIT/build}" +DOC_DIR="${LILYPOND_TEMPDOCS:-$LILYPOND_BUILD_DIR/tempdocs}" +LILYPOND_BOOK="$LILYPOND_BUILD_DIR/out/bin/lilypond-book" TEXI2HTML="texi2html" -REFCHECK="$FROMDIR/scripts/auxiliar/ref_check.py" +REFCHECK="$LILYPOND_GIT/scripts/auxiliar/ref_check.py" -NAME=$1 +SECTION="$1" +DOCDIR="$HOME/lilypond/tempdocs" +OUTPUT_DIR="$DOC_DIR/contributor" +SECTION_PATH="$LILYPOND_GIT/Documentation/contributor/$SECTION.itexi" -if test ! -d $TODIR; then - mkdir $TODIR +if test ! -e "$SECTION_PATH"; then + echo "$SECTION_PATH did not exist; is $SECTION a valid section in the Contributor's Guide?" >&2 + exit 1 fi -if test ! -d $TODIR/out; then - mkdir $TODIR/out + +if test ! -d "$OUTPUT_DIR"; then + mkdir "$OUTPUT_DIR" +fi +if test ! -d "$OUTPUT_DIR/out"; then + mkdir "$OUTPUT_DIR/out" fi -cp $FROMDIR/Documentation/common-macros.itexi $TODIR/common-macros.itexi -cp $FROMDIR/Documentation/macros.itexi $DOCDIR/macros.itexi -cp $DOCDIR/version.itexi $TODIR/version.itexi +cp "$LILYPOND_GIT/Documentation/common-macros.itexi" "$OUTPUT_DIR/common-macros.itexi" +cp "$LILYPOND_GIT/Documentation/macros.itexi" "$DOC_DIR/macros.itexi" +cp "$LILYPOND_BUILD_DIR/Documentation/out/version.itexi" "$OUTPUT_DIR" -if test -e $TODIR/$NAME.html; then - rm $TODIR/$NAME.html +if test -e "$OUTPUT_DIR/$SECTION.html"; then + rm "$OUTPUT_DIR/$SECTION.html" fi -if test -e $TODIR/out/$NAME.texi; then - rm $TODIR/out/$NAME.texi +if test -e "$OUTPUT_DIR/out/$SECTION.texi"; then + rm "$OUTPUT_DIR/out/$SECTION.texi" fi -echo Running RefCheck -python $REFCHECK +echo "Running RefCheck" +python "$REFCHECK" + +cd "$DOC_DIR" +echo "Running $TEXI2HTML" +cat "$DOC_DIR/macros.itexi" "$SECTION_PATH" > "$OUTPUT_DIR/$SECTION.texi" + +"$TEXI2HTML" \ + --no-validate \ + --output="$OUTPUT_DIR/out/$SECTION.html" \ + --I="$LILYPOND_GIT/Documentation" \ + --I="$OUTPUT_DIR/out" \ + "$OUTPUT_DIR/$SECTION.texi" + +cat < $TODIR/$NAME.texi -$TEXI2HTML \ - --no-validate \ - --output=$TODIR/out/$NAME.html \ - --I=$FROMDIR/Documentation \ - --I=$TODIR/out \ - $TODIR/$NAME.texi +EOF -read -p "delete files? (y/n): " +read -p "rm -rf $OUTPUT_DIR ? (y/n): " if [ "$REPLY" = "y" ]; then - echo "deleting files" - rm -rf $TODIR + echo "deleting files" + rm -rf "$OUTPUT_DIR" fi