|
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