From 77ba1316b6b71bd2029ddbbf52d4fa129326cb9d Mon Sep 17 00:00:00 2001 From: Jim Hague Date: Sun, 4 Mar 2012 16:09:06 +0000 Subject: [PATCH] Try to make web item updates atomic-ish. The Jenkins workspace is exported as the web site. So when updating files that take time, such as making MP3, create to a temp file and rename into place. --- makeWebItems.sh | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/makeWebItems.sh b/makeWebItems.sh index 803f3f0..922b305 100755 --- a/makeWebItems.sh +++ b/makeWebItems.sh @@ -17,16 +17,21 @@ graphicsdir=$dir/graphics/$1 mkdir -p $builddir -# Now, for each tune, make the tune JPG and sound. +# Now, for each tune, make the tune JPG and sound. Do this to temp +# files and rename into place to make updates as atomic as possible. find $booke -name "*.abc" | sort | while read filename do name=`basename $filename .abc` - convert $graphicsdir/${name}.eps $builddir/${name}.jpg + convert $graphicsdir/${name}.eps $builddir/${name}.jpg.tmp - abc2midi $filename -o $builddir/${name}.mid - timidity -Ow -o $builddir/${name}.wav $builddir/${name}.mid - lame --quiet $builddir/${name}.wav $builddir/${name}.mp3 - rm $builddir/${name}.wav + abc2midi $filename -o $builddir/${name}.mid.tmp + timidity -Ow -o $builddir/${name}.wav.tmp $builddir/${name}.mid.tmp + lame --quiet $builddir/${name}.wav.tmp $builddir/${name}.mp3.tmp + + mv $builddir/${name}.jpg.tmp $builddir/${name}.jpg + mv $builddir/${name}.mid.tmp $builddir/${name}.mid + mv $builddir/${name}.mp3.tmp $builddir/${name}.mp3 + rm $builddir/${name}.wav.tmp done