summaryrefslogtreecommitdiffstats
path: root/Nightbuild2008.cmd
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Nightbuild2008.cmd209
1 files changed, 0 insertions, 209 deletions
diff --git a/Nightbuild2008.cmd b/Nightbuild2008.cmd
deleted file mode 100644
index bbaea0fb7..000000000
--- a/Nightbuild2008.cmd
+++ /dev/null
@@ -1,209 +0,0 @@
-@echo off
-:: Nightbbuild2008.cmd
-:: This script is run every night to produce a new version of MCServer, backup its PDB files and upload the packages to web.
-:: When run without parameters, this script pauses at the end and waits for a keypress.
-:: To run in an automated scheduler, add any parameter to disable waiting for a keystroke
-::
-:: The sript creates a symbol store (a database of PDB files) that can be used as a single entry in MSVC's symbol path,
-:: then any executable / crashdump built by this script can be debugged and its symbols will be found automatically by MSVC,
-:: without the users needing to specify the build version or anything.
-:: In order to support pruning the symstore, a per-month store is created, so that old months can be removed when no longer needed.
-::
-:: This script expects a few tools on specific paths, you can pass the correct paths for your system as env vars "zip" and "vc"
-:: This script assumes that "git", "symstore" and "touch" are available on PATH.
-:: git comes from msysgit
-:: symstore comes from Microsoft's Debugging Tools for Windows
-:: touch comes from unxtools
-:: This script is locale-dependent, because it parses the output of "time" and "date" shell commands
-
-
-:: 7-zip executable (by default it should be on PATH):
-if %zip%a == a set zip=7z
-
-:: Visual C++ compiler executable name:
-if %vc%a == a set vc="vcbuild.exe"
-
-
-
-
-:: Check that the required environment vars are available:
-if "a%ftppass%" == "a" (
- echo You need to set FTP password in the ftppass environment variable to upload the files
- goto haderror
-)
-if "a%ftpuser%" == "a" (
- echo You need to set FTP username in the ftpuser environment variable to upload the files
- goto haderror
-)
-if "a%ftpsite%" == "a" (
- echo You need to set FTP server in the ftpsite environment variable to upload the files
- goto haderror
-)
-
-
-
-
-:: Get the date and time into vars:
-:: This is locale-dependent!
-For /f "tokens=2-4 delims=/. " %%a in ('date /t') do (
- set MYYEAR=%%c
- set MYMONTH=%%b
- set MYDAY=%%a
-)
-For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set MYTIME=%%a_%%b)
-
-echo Performing nightbuild of MC-Server
-
-
-
-
-
-set DONOTPAUSE=y
-
-:: Update the sources to the latest revision:
-git pull
-if errorlevel 1 goto haderror
-
-
-
-:: Update the external plugins to the latest revision:
-git submodule update
-if errorlevel 1 goto haderror
-
-
-
-
-:: Get the Git commit ID into an environment var
-For /f "tokens=1 delims=/. " %%a in ('git log -1 --oneline --no-abbrev-commit') do (set COMMITID=%%a)
-if errorlevel 1 goto haderror
-
-
-
-:: Test if the version is already present, using a "tagfile" that we create upon successful build
-set TAGFOLDER=Install\%MYYEAR%_%MYMONTH%\
-set TAGFILE=%TAGFOLDER%built_%COMMITID%.tag
-echo Tag file: %TAGFILE%
-if exist %TAGFILE% (
- echo Latest version already present, bailing out
- goto end
-)
-
-
-
-
-
-:: Configure the sources to use the MSVC2008 compiler:
-cmake -G "Visual Studio 9 2008" .
-if errorlevel 1 goto haderror
-
-
-
-
-
-:: Update the Bindings:
-echo Updating Lua bindings
-del src\Bindings\Bindings.cpp
-del src\Bindings\Bindings.h
-set ALLTOLUA_WAIT=N
-cd src\Bindings
-call AllToLua.bat
-cd ..\..
-
-
-
-
-:: Compile using VC2008 Express. Do a full rebuild.
-echo Setting up VS environment...
-call "%VS90COMNTOOLS%\vsvars32.bat"
-echo Compiling MCServer...
-title MCS Nightbuild
-start "vc" /b /wait /low /min %vc% /r MCServer.sln "Release|Win32"
-if errorlevel 1 goto haderror
-
-
-
-
-:: Generate the .example.ini files by running the server without any ini files:
-cd MCServer
-del groups.ini
-del settings.ini
-del webadmin.ini
-echo stop | MCServer
-cd ..
-
-
-
-:: Copy all the example ini files into the Install folder for zipping:
-copy MCServer\groups.ini Install\groups.example.ini
-copy MCServer\settings.ini Install\settings.example.ini
-copy MCServer\webadmin.ini Install\webadmin.example.ini
-
-
-
-
-:: Use 7-zip to compress the resulting files into a single file:
-set FILESUFFIX=%MYYEAR%_%MYMONTH%_%MYDAY%_%MYTIME%_%COMMITID%
-echo FILESUFFIX=%FILESUFFIX%
-copy MCServer\MCServer.exe Install\MCServer.exe
-cd Install
-%zip% a -mx9 -y MCServer_Win_%FILESUFFIX%.7z -scsWIN -i@Zip2008.list -xr!*.git*
-if errorlevel 1 goto haderror
-cd ..
-
-:: Also pack PDBs into a separate archive:
-%zip% a -mx9 -y Install\PDBs_%FILESUFFIX%.7z -scsWIN @Install\Zip2008_PDBs.list
-if errorlevel 1 goto haderror
-
-
-
-
-
-:: upload to the FTP:
-:upload
-ncftpput -p %ftppass% -u %ftpuser% -T temp_ %ftpsite% / Install\MCServer_Win_%FILESUFFIX%.7z
-if errorlevel 1 goto haderror
-ncftpput -p %ftppass% -u %ftpuser% -T temp_ %ftpsite% /PDBs Install\PDBs_%FILESUFFIX%.7z
-if errorlevel 1 goto haderror
-echo Upload finished.
-
-
-
-
-:: Create the tagfile so that we know that this CommitID has been built already
-mkdir %TAGFOLDER%
-touch %TAGFILE%
-
-
-
-
-
-:: Add the symbols to a global symbol cache
-:: We want per-month symbol caches, so that the old ones can be easily deleted
-set SYMBOLS=Symbols\%MYYEAR%_%MYMONTH%\
-echo Storing symbols in %SYMBOLS%
-
-symstore add /f MCServer\MCServer.* /s %SYMBOLS% /t MCServer
-if errorlevel 1 goto haderror
-
-
-
-goto end
-
-
-
-
-:haderror
-echo an error was encountered, check command output above
-pause
-goto finished
-
-
-
-
-
-:end
-if "a%1" == "a" pause
-
-
-
-:finished \ No newline at end of file