-#"$SELF" each git clean -fxd
- mkdir -p Xonotic
- "$SELF" release-copy Docs/
- "$SELF" release-copy misc/
- "$SELF" release-copy server/
- "$SELF" release-copy xonotic-linux-glx.sh
- "$SELF" release-copy xonotic-linux-sdl.sh
- "$SELF" release-mkdir data
- "$SELF" release-mkdir fteqcc
- ;;
- release-copy)
- rsync --exclude=.git -vaSHPAX "$1" Xonotic/"$1"
+ #"$SELF" each git clean -fxd
+ case "$RELEASETYPE" in
+ beta)
+ msg "Building a BETA"
+ ;;
+ release)
+ msg "Building a RELEASE"
+ ;;
+ *)
+ $ECHO >&2 -n "$ESC[2J$ESC[H"
+ msg ""
+ msg ""
+ msg ""
+ msg ""
+ msg ""
+ msg ""
+ msg " +---------------------------------------------------------.---+"
+ msg " | NOTE | X |"
+ msg " +---------------------------------------------------------^---+"
+ msg " | ____ |"
+ msg " | / \ This is the official release build system. |"
+ msg " | | | If you are not a member of the Xonotic Core Team, |"
+ msg " | | STOP | you are not supposed to use this script and should |"
+ msg " | | | instead use ./all compile to compile the engine |"
+ msg " | \____/ and game code. |"
+ msg " | |"
+ msg " | [ I understand ] |"
+ msg " +-------------------------------------------------------------+"
+ sleep 10
+ # A LOT of build infrastructure is required:
+ # - vorbis-tools
+ # - ImageMagick
+ # - .ssh/config must be configured so the following
+ # host names are reachable and have a compile
+ # infrastructure set up:
+ # - xonotic-build-linux32 (with gcc on x86)
+ # - xonotic-build-linux64 (with gcc on x86_64)
+ # - xonotic-build-win32 (with i586-mingw32msvc-g++)
+ # - xonotic-build-win64 (with amd64-mingw32msvc-g++
+ # and x86_64-w64-mingw32-g++)
+ # - xonotic-build-osx (with Xcode and SDL.framework)
+ # - AMD Compressonator installed in WINE
+ # - ResEdit installed in WINE
+ # - a lot of other requirements you will figure out
+ # while reading the error messages
+ # - environment variable RELEASETYPE set
+ # - optionally, environment variable RELEASEDATE set
+ # (YYYYMMDD)
+ exit 1
+ ;;
+ esac
+ verbose rm -rf Xonotic Xonotic*.zip
+ verbose mkdir -p Xonotic
+ if [ -n "$RELEASEDATE" ]; then
+ verbose $ECHO "$RELEASEDATE" > Xonotic/stamp.txt
+ else
+ verbose date +%Y%m%d > Xonotic/stamp.txt
+ fi
+ verbose git archive --format=tar HEAD -- Docs misc server xonotic-linux-glx.sh xonotic-linux-sdl.sh misc/buildfiles key_0.d0pk | {
+ verbose cd Xonotic
+ verbose mkdir data fteqcc source source/darkplaces source/fteqcc
+ verbose tar xvf -
+ verbose rm -rf misc/builddeps
+ verbose mv misc/buildfiles/win32/* . || true
+ verbose mv misc/buildfiles/win64 bin64 || true
+ verbose mv misc/buildfiles/osx/* . || true
+ verbose rm -rf misc/buildfiles
+ verbose rm -rf misc/pki
+ }
+ {
+ verbose cd darkplaces
+ verbose git archive --format=tar HEAD
+ } | {
+ verbose cd Xonotic/source/darkplaces
+ verbose tar xvf -
+ }
+ {
+ verbose cd fteqcc
+ verbose git archive --format=tar HEAD
+ } | {
+ verbose cd Xonotic/source/fteqcc
+ verbose tar xvf -
+ }
+ {
+ verbose cd data/xonotic-data.pk3dir
+ verbose git archive --format=tar HEAD -- qcsrc Makefile
+ } | {
+ verbose cd Xonotic/source
+ verbose tar xvf -
+ }
+ rm -f Xonotic/key_15.d0pk