synthesis.sh: add two options specified by magic strings in the HEAD commit msg.

- If the message of the HEAD commit contains DONT_BUILD, building is entirely
  skipped.
- If it contains BUILD_LUNATIC, a Lunatic preview release EDuke32 is built (the
  editor is not built) and named leduke_PREVIEW.exe.

git-svn-id: https://svn.eduke32.com/eduke32@3978 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
helixhorned 2013-08-04 20:37:50 +00:00
parent 57822a2481
commit eb6899d062

View file

@ -42,9 +42,17 @@ cd $top
# update the code repository and get the last revision number from SVN
head=`svn update | tail -n1 | awk '{ print $NF }' | cut -d. -f1`
echo "HEAD is revision $head."
headlog=`svn log -r HEAD`
lastrevision=`ls -A1 $output/????????-???? | tail -n1 | cut -d- -f2 | cut -d. -f1`
# If the log of HEAD contains DONT_BUILD, obey.
if [ `echo $headlog | grep -q DONT_BUILD` ]; then
echo "HEAD requested to not build. Bailing out..."
rm -r $lockfile
exit
fi
# if the output dir is empty, we build no matter what
if [ ! $lastrevision ]
then
@ -90,6 +98,26 @@ then
echo mv -f mapster32.exe "$package/mapster32.debug.exe"
mv -f mapster32.exe "$package/mapster32.debug.exe"
if [ `echo $headlog | grep -q BUILD_LUNATIC` ]; then
# clean the tree and build Lunatic (pre-)release next
echo "${make[@]}" LUNATIC=1 $clean eduke32.exe
"${make[@]}" LUNATIC=1 $clean eduke32.exe
# make sure all the targets were produced
for i in "${targets[@]}"; do
if [ ! -e $i ]
then
echo "Build failed! Bailing out..."
rm -r $lockfile
exit
fi
done
# move the targets to $package
echo mv -f eduke32.exe "$package/leduke32_PREVIEW.exe"
mv -f eduke32.exe "$package/leduke32_PREVIEW.exe"
fi
# clean the tree and build release
echo "${make[@]}" $clean all
"${make[@]}" $clean all