|
4 | 4 | # the public page at https://www.domjudge.org/snapshot/. Alternatively, |
5 | 5 | # when a git URL is passed only a snapshot package is generated. |
6 | 6 |
|
| 7 | +# shellcheck disable=SC2086 # globally for PUBDIR, DJDIR, TEMPDIR |
| 8 | + |
7 | 9 | set -e |
8 | 10 |
|
9 | 11 | #DEBUG=1 |
10 | 12 |
|
11 | 13 | PUBDIR=~/public_html/snapshot |
12 | | -DJDIR=domjudge-snapshot-`date +%Y%m%d` |
| 14 | +DJDIR=domjudge-snapshot-$(date +%Y%m%d) |
13 | 15 | GITURL="https://github.com/DOMjudge/domjudge.git" |
14 | 16 |
|
15 | 17 | # If a git repo URL is passed, don't update the website. |
|
22 | 24 | quiet() |
23 | 25 | { |
24 | 26 | if [ "$DEBUG" ]; then |
25 | | - $@ |
| 27 | + "$@" |
26 | 28 | else |
27 | | - $@ > /dev/null 2>&1 |
| 29 | + "$@" > /dev/null 2>&1 |
28 | 30 | fi |
29 | 31 | } |
30 | 32 |
|
31 | | -TEMPDIR=`mktemp -d /tmp/domjudge-make_snapshot-XXXXXX` |
| 33 | +TEMPDIR=$(mktemp -d /tmp/domjudge-make_snapshot-XXXXXX) |
32 | 34 | cd $TEMPDIR |
33 | 35 |
|
34 | 36 | git clone -q --no-checkout --depth 1 "$GITURL" dj-clone |
35 | 37 |
|
36 | 38 | ( cd dj-clone && git archive --prefix=$DJDIR/ --format=tar refs/heads/main ) | tar x |
37 | 39 |
|
38 | 40 | # Add released tag for revision information: |
39 | | -sed -i "s/PUBLISHED =.*/PUBLISHED = `date +%Y-%m-%d`/" $DJDIR/paths.mk.in |
| 41 | +sed -i "s/PUBLISHED =.*/PUBLISHED = $(date +%Y-%m-%d)/" "$DJDIR/paths.mk.in" |
40 | 42 |
|
41 | 43 | quiet make -C $DJDIR dist |
42 | 44 | tar -cf $DJDIR.tar $DJDIR |
43 | 45 | gzip -9 $DJDIR.tar |
44 | 46 |
|
45 | 47 | if [ -n "$PUBDIR" ]; then |
46 | | - rm -rf $PUBDIR/* |
| 48 | + rm -rf ${PUBDIR:?}/* |
47 | 49 | mkdir -p $PUBDIR/manual |
48 | 50 | cp -r $DJDIR/doc/manual/build/html/* $PUBDIR/manual/ |
49 | 51 | cp $DJDIR/doc/manual/build/domjudge-team-manual.pdf $PUBDIR/ |
50 | 52 | cp $DJDIR.tar.gz $DJDIR/ChangeLog $PUBDIR/ |
51 | 53 | cd / |
52 | 54 | fi |
53 | 55 |
|
54 | | -[ "$DEBUG" ] || rm -rf $TEMPDIR |
| 56 | +[ "$DEBUG" ] || rm -rf "$TEMPDIR" |
55 | 57 |
|
56 | 58 | exit 0 |
0 commit comments