]> mj.ucw.cz Git - diplomky.git/commitdiff
Maintainer scripts: Generating distribution archives and specimen PDFs
authorMartin Mares <mj@ucw.cz>
Wed, 21 Feb 2024 18:54:01 +0000 (19:54 +0100)
committerMartin Mares <mj@ucw.cz>
Wed, 21 Feb 2024 18:54:01 +0000 (19:54 +0100)
maint/mkdist

index 3d4ac4f53b31ea80ac4491b79edf0e58bedb6dea..27328279ce4202f171cd1f6f0613f3af540898f9 100755 (executable)
 #!/bin/bash
 set -e
-export LC_ALL=cs_CZ
 
-for a in bp dp phd ; do
-       rm -rf vzor-$a{,.zip}
-       git archive --prefix=vzor-$a/ HEAD | tar xf -
+BRANCH=cs
+VERSIONS="bc mgr phd rig"
+TMPL=sablona
+SPEC=vzor
+
+function template ()
+{
+       local ver=$1
+
+       echo "### Generating $TMPL-$ver"
+       git archive --prefix=out/$TMPL-$ver/ $BRANCH | tar xf -
+
        (
-               cd vzor-$a
-               rm -rf mkdist upload uprava slides TODO
+               cd out/$TMPL-$ver
                (
                        date +'%Y-%m-%d'
                        echo -n 'Git commit: '
-                       git rev-parse HEAD
+                       git rev-parse $BRANCH
                ) >VERSION
        )
-done
+}
 
-# BP
-(
-       echo "Generating BP"
-       cd vzor-bp
-       sed -i '
-               /^%\+ *ONLYPHD/N
-               /^%\+ *PHDONLY/,/^%\+ *ONLYPHD/d
-               /^%\+ *NOPHD/d
-               /^%\+ *PHDNO/d
-       ' */*.tex README*
-)
+function specimen ()
+{
+       local ver=$1
 
-# DP
-(
-       echo "Generating DP"
-       cd vzor-dp
-       sed -i '
-               s/bakalářsk/diplomov/g
-               s/BAKALÁŘSK/DIPLOMOV/g
-               s/bachelor/master/g
-               s/BACHELOR/MASTER/g
-               s/bp_uprava/dp_uprava/g
-               /^%\+ *ONLYPHD/N
-               /^%\+ *PHDONLY/,/^%\+ *ONLYPHD/d
-               /^%\+ *NOPHD/d
-               /^%\+ *PHDNO/d
-       ' */*.tex README*
-       if grep -Eri 'bakal|bachel' . ; then
-               echo >&2 "Substitutions failed"
-               exit 1
-       fi
-)
+       echo "### Generating $SPEC-$ver"
+       git archive --prefix=out/$SPEC-$ver/ $BRANCH-specimen | tar xf -
 
-# PhD
-(
-       echo "Generating PhD"
-       cd vzor-phd
-       sed -i '
-               s/bakalářská/disertační/g
-               s/bakalářské/disertační/g
-               s/bakalářských/disertačních/g
-               s/bakalářskou/disertační/g
-               s/BAKALÁŘSKÁ/DISERTAČNÍ/g
-               s/bachelor/doctoral/g
-               s/BACHELOR/DOCTORAL/g
-               s/bp_uprava/phd_uprava/g
-               /^%\+ *PHDONLY/d
-               /^%\+ *ONLYPHD/d
-               /^%\+ *PHDNO/N
-               /^%\+ *NOPHD/,/^%\+ *PHDNO/d
-       ' */*.tex README*
-       if grep -Eri 'bakal|bachel' . ; then
-               echo >&2 "Substitutions failed"
-               exit 1
-       fi
-)
-
-for a in bp dp phd ; do
-       (
-               cd vzor-$a/cs
-               make
-               mv prace.pdf vzor.pdf
-               make clean
-       )
        (
-               cd vzor-$a/en
-               make
-               mv thesis.pdf example.pdf
-               make clean
+               cd out/$SPEC-$ver
+               sed -i "/\\def\\ThesisType/s/{.*}/{$ver}/" -i metadata.tex
+               if ! make >make.log 2>&1 ; then
+                       echo >2 "make failed, see $SPEC-$ver/make.log for details"
+                       exit 1
+               fi
        )
-       (
-               cd vzor-$a
-               sed -i '
-                       /^%\+ *NEMICEPS/N
-                       /^%\+ *SPECIMEN/,/^%\+ *NEMICEPS/d
-                       s/ *\\X{[^}]*}//
-                       /^\\XXX{/d
-               ' */*.tex
-       )
-done
 
-for a in bp dp phd ; do
-       zip -r vzor-$a.zip vzor-$a
+       cp out/$SPEC-$ver/thesis.pdf out/$TMPL-$ver/$SPEC.pdf
+}
+
+function archive ()
+{
+       local ver=$1
+
+       echo "### Zipping $TMPL-$ver"
+       zip -r out/$TMPL-$ver.zip out/$TMPL-$ver
+}
+
+rm -rf out
+mkdir out
+
+for ver in $VERSIONS ; do
+       template $ver
+       specimen $ver
+       archive $ver
 done