[mapguide-commits] r7550 - in trunk/Tools/JenkinsCI/home/slave_win/jobs: . FDO x64 FDO x86 MapGuide Open Source x64 MapGuide Open Source x86

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Sun Jun 2 05:49:36 PDT 2013


Author: jng
Date: 2013-06-02 05:49:36 -0700 (Sun, 02 Jun 2013)
New Revision: 7550

Removed:
   trunk/Tools/JenkinsCI/home/slave_win/jobs/MgInstantSetup/
   trunk/Tools/JenkinsCI/home/slave_win/jobs/mg-desktop-net40-vc10-x86/
Modified:
   trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x64/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x86/
   trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x86/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source x64/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source x86/
   trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source x86/config.xml
Log:
#2210: Fix and update the MapGuide/FDO 32-bit build jobs. Remove the mg-desktop and MgInstantSetup build jobs as they have been integrated into the main MapGuide build job

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x64/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x64/config.xml	2013-06-01 18:22:19 UTC (rev 7549)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x64/config.xml	2013-06-02 12:49:36 UTC (rev 7550)
@@ -22,6 +22,11 @@
           <description>FDO Version Number (major.minor.rev)</description>
           <defaultValue>3.8.0</defaultValue>
         </hudson.model.StringParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA</name>
+          <description></description>
+          <defaultValue>true</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
   </properties>
@@ -57,6 +62,10 @@
 REM Pre-build checks, nuke artifact dir and working area
 echo [prepare]: Clean out build area and build artifacts
 if exist %FDO_BUILD_OUTPUT64% rd /S /Q %FDO_BUILD_OUTPUT64%
+if "%CLEAR_WORKING_AREA%"=="false" (
+    echo [prepare]: Skip cleaning build area
+    goto build_fdo
+)
 if exist %FDO_WORKING_AREA64% rd /S /Q %FDO_WORKING_AREA64%
 if not exist %FDO_WORKING_AREA64% mkdir %FDO_WORKING_AREA64%
 
@@ -78,6 +87,7 @@
 call %MG_TOOL_PATH%\fdo_enable_vcexpress64.bat %FDO_WORKING_AREA64%
 if "%errorlevel%"=="1" goto error
 
+:build_fdo
 echo [prepare]: Noting SVN revision
 pushd %FDO_BUILD_SRC64% 
 REM If we ever do implement CI build triggers, remove this update command
@@ -130,6 +140,15 @@
 exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>
-  <publishers/>
+  <publishers>
+    <hudson.tasks.BuildTrigger>
+      <childProjects>MapGuide Open Source x64</childProjects>
+      <threshold>
+        <name>SUCCESS</name>
+        <ordinal>0</ordinal>
+        <color>BLUE</color>
+      </threshold>
+    </hudson.tasks.BuildTrigger>
+  </publishers>
   <buildWrappers/>
 </project>
\ No newline at end of file


Property changes on: trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x86
___________________________________________________________________
Modified: svn:ignore
   - builds
nextBuildNumber

   + builds
nextBuildNumber
lastStable
lastSuccessful
workspace


Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x86/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x86/config.xml	2013-06-01 18:22:19 UTC (rev 7549)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x86/config.xml	2013-06-02 12:49:36 UTC (rev 7550)
@@ -2,7 +2,7 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator>
+  <logRotator class="hudson.tasks.LogRotator">
     <daysToKeep>-1</daysToKeep>
     <numToKeep>1</numToKeep>
     <artifactDaysToKeep>-1</artifactDaysToKeep>
@@ -13,45 +13,20 @@
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
-          <name>BUILD_SRC</name>
+          <name>FDO_BUILD_SRC</name>
           <description>FDO Source directory</description>
-          <defaultValue>C:\fdo-3.8-x86</defaultValue>
+          <defaultValue>C:\working\sources\fdo-3.8</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>BUILD_OUTPUT</name>
-          <description>FDO build output directory</description>
-          <defaultValue>C:\builds\fdo\3.8\x86_vc10</defaultValue>
-        </hudson.model.StringParameterDefinition>
-        <hudson.model.StringParameterDefinition>
-          <name>MYSQL_SDK</name>
-          <description>MySQL Connector C SDK path (x86)</description>
-          <defaultValue>C:\fdo_rdbms_thirdparty\mysql</defaultValue>
-        </hudson.model.StringParameterDefinition>
-        <hudson.model.StringParameterDefinition>
-          <name>ORACLE_SDK</name>
-          <description>Oracle Instant Client SDK path (x86)</description>
-          <defaultValue>C:\fdo_rdbms_thirdparty\oracle\instant_client\11.2\sdk</defaultValue>
-        </hudson.model.StringParameterDefinition>
-        <hudson.model.StringParameterDefinition>
           <name>FDO_VERSION</name>
           <description>FDO Version Number (major.minor.rev)</description>
           <defaultValue>3.8.0</defaultValue>
         </hudson.model.StringParameterDefinition>
-        <hudson.model.StringParameterDefinition>
-          <name>FDO_STAMP_FILE</name>
-          <description>Path to store the last FDO svn revision</description>
-          <defaultValue>C:\builds\last_fdo_x86_revision.txt</defaultValue>
-        </hudson.model.StringParameterDefinition>
-        <hudson.model.StringParameterDefinition>
-          <name>REVNUM_FILE</name>
-          <description>Path to revnum.pl script</description>
-          <defaultValue>C:\builds\revnum.pl</defaultValue>
-        </hudson.model.StringParameterDefinition>
-        <hudson.model.StringParameterDefinition>
-          <name>FDO_BIN_EXTRAS</name>
-          <description>Path to FDO binaries to overlay on top of the build output</description>
-          <defaultValue>C:\builds\fdo_extras_x86</defaultValue>
-        </hudson.model.StringParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA</name>
+          <description></description>
+          <defaultValue>true</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
   </properties>
@@ -66,41 +41,103 @@
   <builders>
     <hudson.tasks.BatchFile>
       <command>@echo off
-SET FDOMYSQL=%MYSQL_SDK%
-SET FDOORACLE=%ORACLE_SDK%
-if exist %BUILD_OUTPUT% rd /S /Q %BUILD_OUTPUT%
-pushd %BUILD_SRC%
+SET FDOMYSQL=%MG_LIB_ROOT%\fdo_rdbms_thirdparty\mysql
+SET FDOORACLE=%MG_LIB_ROOT%\fdo_rdbms_thirdparty\oracle\instantclient\11.2\sdk
+SET FDO_BUILD_OUTPUT=%MG_BUILD_ARTIFACT_PATH%\fdo\%FDO_VERSION%\x86_vc10
+SET FDO_BIN_EXTRAS=%MG_LIB_ROOT%\fdo_extras\%FDO_VERSION%\x86
+SET REVNUM_FILE=%MG_TOOL_PATH%\revnum.pl
+SET FDO_STAMP_FILE=%MG_BUILD_ARTIFACT_PATH%\last_fdo_%FDO_VERSION%_revision_x86.txt
+SET FDO_WORKING_AREA=%MG_BUILD_AREA%\FDO\%FDO_VERSION%\x86
+
+echo ============ Env Vars for FDO Build =====================
+echo FDOMYSQL           = %FDOMYSQL%
+echo FDOORACLE          = %FDOORACLE%
+echo FDO_BUILD_OUTPUT   = %FDO_BUILD_OUTPUT%
+echo FDO_BIN_EXTRAS     = %FDO_BIN_EXTRAS%
+echo REVNUM_FILE        = %REVNUM_FILE%
+echo FDO_STAMP_FILE     = %FDO_STAMP_FILE%
+echo FDO_WORKING_AREA   = %FDO_WORKING_AREA%
+echo =========================================================
+
+REM Pre-build checks, nuke artifact dir and working area
+echo [prepare]: Clean out build area and build artifacts
+if exist %FDO_BUILD_OUTPUT% rd /S /Q %FDO_BUILD_OUTPUT%
+if "%CLEAR_WORKING_AREA%"=="false" (
+    echo [prepare]: Skip cleaning build area
+    goto build_fdo
+)
+if exist %FDO_WORKING_AREA% rd /S /Q %FDO_WORKING_AREA%
+if not exist %FDO_WORKING_AREA% mkdir %FDO_WORKING_AREA%
+
+REM Need to supply --force otherwise it won't export into the dir we made
+echo [prepare]: Exporting SVN working copy to build area
+SET BUILD_ACTION=Exporting SVN working copy to build area
+svn export %FDO_BUILD_SRC% %FDO_WORKING_AREA% --force
+if "%errorlevel%"=="1" goto error
+
+REM Copy non-UAC UpdateVersion
+echo [prepare]: Copy non UAC-gimped UpdateVersion
+SET BUILD_ACTION=Copy non UAC-gimped UpdateVersion
+copy /Y %MG_TOOL_PATH%\UpdateVersion.exe %FDO_WORKING_AREA%\Thirdparty\util\UpdateVersion\bin
+if "%errorlevel%"=="1" goto error
+
+REM Prepare for Windows SDK 7.1 C++ compiler
+REM echo [prepare]: Enabling build settings for compilation with Windows 7.1 SDK C++ compiler
+REM SET BUILD_ACTION=Enabling build settings for compilation with Windows 7.1 SDK C++ compiler
+REM call %MG_TOOL_PATH%\fdo_enable_vcexpress64.bat %FDO_WORKING_AREA%
+REM if "%errorlevel%"=="1" goto error
+
+:build_fdo
+echo [prepare]: Noting SVN revision
+pushd %FDO_BUILD_SRC% 
 REM If we ever do implement CI build triggers, remove this update command
-svn update .
 svn info . | perl %REVNUM_FILE% > revision.txt
 set /p REVISION= < revision.txt
 copy /Y revision.txt %FDO_STAMP_FILE%
+popd
+
+pushd %FDO_WORKING_AREA%
 echo [build]: Set env vars
+REM call "%WINDOWS_SDK_71_ROOT%\Bin\SetEnv.cmd" /release /x86
 call setenvironment.bat x86 VC10
+
 echo [build]: build thirdparty
-call build_thirdparty.bat -p=Win32 -a=buildinstall -o=%BUILD_OUTPUT%
+SET BUILD_ACTION=Build FDO Thirdparty
+call build_thirdparty.bat -p=Win32 -a=buildinstall -o=%FDO_BUILD_OUTPUT%
+if "%errorlevel%"=="1" goto error
+
 echo [build]: build core and providers
-call build.bat -p=Win32 -a=buildinstall -o=%BUILD_OUTPUT%
+SET BUILD_ACTION=Build FDO core/providers
+call build.bat -p=Win32 -a=buildinstall -o=%FDO_BUILD_OUTPUT%
+if "%errorlevel%"=="1" goto error
+
 if not exist %FDO_BIN_EXTRAS% goto pack
+echo [build]: Overlaying FDO extras to build artifacts
 pushd %FDO_BIN_EXTRAS%
-copy /Y *.* %BUILD_OUTPUT%\Fdo\Bin
+copy /Y *.* %FDO_BUILD_OUTPUT%\Fdo\Bin
 popd
 :pack
 echo [build]: Pack files
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT%\Fdo -o=%BUILD_OUTPUT%\dist -w=fdo -b=%REVISION% -r=%FDO_VERSION%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT%\Fdo -o=%BUILD_OUTPUT%\dist -w=shp -b=%REVISION% -r=%FDO_VERSION%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT%\Fdo -o=%BUILD_OUTPUT%\dist -w=sdf -b=%REVISION% -r=%FDO_VERSION%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT%\Fdo -o=%BUILD_OUTPUT%\dist -w=wfs -b=%REVISION% -r=%FDO_VERSION%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT%\Fdo -o=%BUILD_OUTPUT%\dist -w=wms -b=%REVISION% -r=%FDO_VERSION%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT%\Fdo -o=%BUILD_OUTPUT%\dist -w=rdbms -b=%REVISION% -r=%FDO_VERSION%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT%\Fdo -o=%BUILD_OUTPUT%\dist -w=mysql -b=%REVISION% -r=%FDO_VERSION%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT%\Fdo -o=%BUILD_OUTPUT%\dist -w=odbc -b=%REVISION% -r=%FDO_VERSION%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT%\Fdo -o=%BUILD_OUTPUT%\dist -w=sqlspatial -b=%REVISION% -r=%FDO_VERSION%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT%\Fdo -o=%BUILD_OUTPUT%\dist -w=gdal -b=%REVISION% -r=%FDO_VERSION%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT%\Fdo -o=%BUILD_OUTPUT%\dist -w=kingoracle -b=%REVISION% -r=%FDO_VERSION%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT%\Fdo -o=%BUILD_OUTPUT%\dist -w=ogr -b=%REVISION% -r=%FDO_VERSION%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT%\Fdo -o=%BUILD_OUTPUT%\dist -w=sqlite -b=%REVISION% -r=%FDO_VERSION%
-popd</command>
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=fdo -b=%REVISION% -r=%FDO_VERSION%
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=shp -b=%REVISION% -r=%FDO_VERSION%
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=sdf -b=%REVISION% -r=%FDO_VERSION%
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=wfs -b=%REVISION% -r=%FDO_VERSION%
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=wms -b=%REVISION% -r=%FDO_VERSION%
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=rdbms -b=%REVISION% -r=%FDO_VERSION%
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=mysql -b=%REVISION% -r=%FDO_VERSION%
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=odbc -b=%REVISION% -r=%FDO_VERSION%
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=sqlspatial -b=%REVISION% -r=%FDO_VERSION%
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=gdal -b=%REVISION% -r=%FDO_VERSION%
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=kingoracle -b=%REVISION% -r=%FDO_VERSION%
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=ogr -b=%REVISION% -r=%FDO_VERSION%
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=sqlite -b=%REVISION% -r=%FDO_VERSION%
+popd
+goto end
+:error
+echo An error occurred while building FDO: %BUILD_ACTION%
+exit /b 1
+:end
+exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>
   <publishers>

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source x64/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source x64/config.xml	2013-06-01 18:22:19 UTC (rev 7549)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source x64/config.xml	2013-06-02 12:49:36 UTC (rev 7550)
@@ -97,6 +97,8 @@
 echo REVNUM_FILE64              = %REVNUM_FILE64%
 echo MG_STAMP_FILE64            = %MG_STAMP_FILE64%
 echo INSTANT_SETUP_SRC          = %INSTANT_SETUP_SRC%
+echo JAVA_HOME                  = %JAVA_HOME%
+echo ANT_HOME                   = %ANT_HOME%
 echo =======================================================================
 
 echo [prepare]: Cleaning out build artifacts


Property changes on: trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source x86
___________________________________________________________________
Modified: svn:ignore
   - builds
nextBuildNumber

   + builds
nextBuildNumber
lastStable
lastSuccessful
workspace


Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source x86/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source x86/config.xml	2013-06-01 18:22:19 UTC (rev 7549)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source x86/config.xml	2013-06-02 12:49:36 UTC (rev 7550)
@@ -2,7 +2,7 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator>
+  <logRotator class="hudson.tasks.LogRotator">
     <daysToKeep>-1</daysToKeep>
     <numToKeep>1</numToKeep>
     <artifactDaysToKeep>-1</artifactDaysToKeep>
@@ -15,13 +15,48 @@
         <hudson.model.StringParameterDefinition>
           <name>RELEASE_LABEL</name>
           <description></description>
-          <defaultValue>Beta1</defaultValue>
+          <defaultValue>Final</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>WITH_ARCSDE</name>
           <description></description>
-          <defaultValue>no</defaultValue>
+          <defaultValue>yes</defaultValue>
         </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>MG_VER_MAJOR</name>
+          <description></description>
+          <defaultValue>2</defaultValue>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>MG_VER_MINOR</name>
+          <description></description>
+          <defaultValue>5</defaultValue>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>MG_VER_BUILD</name>
+          <description></description>
+          <defaultValue>1</defaultValue>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>MG_BUILD_SRC</name>
+          <description></description>
+          <defaultValue>C:\working\sources\mg-2.5</defaultValue>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>FDO_SRC</name>
+          <description></description>
+          <defaultValue>C:\builds\fdo\3.8.0\x86_vc10\Fdo</defaultValue>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>INSTANT_SETUP_SRC</name>
+          <description></description>
+          <defaultValue>C:\working\sources\MgInstantSetup</defaultValue>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA</name>
+          <description></description>
+          <defaultValue>true</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
   </properties>
@@ -30,7 +65,7 @@
   <disabled>false</disabled>
   <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
   <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
-  <jdk>(Default)</jdk>
+  <jdk>JDK6 32-bit</jdk>
   <triggers class="vector"/>
   <concurrentBuild>false</concurrentBuild>
   <builders>
@@ -39,73 +74,243 @@
 
 SET VCBEXTENSION=_vs10
 SET VC_COMPILER=vc100
-SET ACTIVENAMECHECK="Microsoft Visual Studio 10"
-SET ACTIVEPATHCHECK="C:\Program Files\Microsoft Visual Studio 10.0\VC"
-if exist %ACTIVEPATHCHECK% goto VSExist else exit 1
-SET ACTIVEPATHCHECK="C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC"
-if exist %ACTIVEPATHCHECK% goto VSExist else exit 1
-:VSExist
-call %ACTIVEPATHCHECK%\vcvarsall.bat x86
+call "%WINDOWS_SDK_71_ROOT%\Bin\SetEnv.cmd" /release /x86
 
-SET MG_VER_MAJOR=2
-SET MG_VER_MINOR=5
-SET MG_VER_BUILD=0
+REM Sigh! We can't seem to reference this from Jenkins
+SET MSBUILD_NET35=C:\Windows\Microsoft.NET\Framework\v3.5\msbuild.exe
+
 SET MG_VER_MAJOR_MINOR=%MG_VER_MAJOR%.%MG_VER_MINOR%
 SET MG_VER_MAJOR_MINOR_BUILD=%MG_VER_MAJOR_MINOR%.%MG_VER_BUILD%
-SET FDO_VER_MAJOR_MINOR=3.8
+SET MG_BUILD_OUTPUT_ROOT=%MG_BUILD_ARTIFACT_PATH%\mapguide
+SET MG_BUILD_OUTPUT=%MG_BUILD_OUTPUT_ROOT%\%MG_VER_MAJOR_MINOR_BUILD%\x86\release
+SET MG_BUILD_AREA=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86
+SET REVNUM_FILE=%MG_TOOL_PATH%\revnum.pl
+SET MG_STAMP_FILE=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x86.txt
+SET BUILD_ACTION=
 
-SET FDO_SRC=C:\builds\fdo\%FDO_VER_MAJOR_MINOR%\x86_vc10\Fdo
-SET BUILD_SRC=C:\mg-%MG_VER_MAJOR_MINOR%-x86
-SET CURRENT_DIR=C:\builds\
-SET BUILD_OUTPUT=C:\builds\mapguide\%MG_VER_MAJOR_MINOR%\x86\release
-SET JAVA_HOME=C:\Program Files (x86)\Java\jdk1.6.0_33
-SET ANT_HOME=C:\apache-ant-1.8.3
-SET DOXYGEN=C:\Program Files\doxygen\bin
-if exist %BUILD_OUTPUT% rd /S /Q %BUILD_OUTPUT%
-if exist "%BUILD_SRC%\Output" rd /S /Q "%BUILD_SRC%\Output"
-cd %BUILD_SRC%\MgDev\Oem\FDO
+echo =================== Env Vars for MapGuide =============================
+echo MG_VER_MAJOR_MINOR         = %MG_VER_MAJOR_MINOR%
+echo MG_VER_MAJOR_MINOR_BUILD   = %MG_VER_MAJOR_MINOR_BUILD%
+echo MG_BUILD_OUTPUT_ROOT       = %MG_BUILD_OUTPUT_ROOT%
+echo MG_BUILD_OUTPUT            = %MG_BUILD_OUTPUT%
+echo MG_BUILD_AREA              = %MG_BUILD_AREA%
+echo REVNUM_FILE                = %REVNUM_FILE%
+echo MG_STAMP_FILE              = %MG_STAMP_FILE%
+echo INSTANT_SETUP_SRC          = %INSTANT_SETUP_SRC%
+echo JAVA_HOME                  = %JAVA_HOME%
+echo ANT_HOME                   = %ANT_HOME%
+echo =======================================================================
+
+echo [prepare]: Cleaning out build artifacts
+if exist %MG_BUILD_OUTPUT% rd /S /Q %MG_BUILD_OUTPUT%
+
+if "%CLEAR_WORKING_AREA%"=="false" (
+    echo [prepare]: Skip cleaning build area
+    goto build_mapguide
+)
+
+echo [prepare]: Cleaning out SVN metadata in build area
+if exist %MG_BUILD_AREA% for /R %MG_BUILD_AREA% %%X in (.svn) do (RD /S /Q %%X 2>nul)
+echo [prepare]: Cleaning out build area
+if exist %MG_BUILD_AREA% rd /S /Q %MG_BUILD_AREA%
+echo [prepare]: Re-creating output directories
+if not exist %MG_BUILD_AREA%\Installer mkdir %MG_BUILD_AREA%\Installer
+if not exist %MG_BUILD_AREA%\MgDev mkdir %MG_BUILD_AREA%\MgDev
+if not exist %MG_BUILD_ARTIFACT_PATH%\mg-desktop mkdir %MG_BUILD_ARTIFACT_PATH%\mg-desktop
+
+echo [prepare]: Exporting SVN working copy to build area (Installer)
+SET BUILD_ACTION=Exporting SVN working copy to build area (Installer)
+svn export %MG_BUILD_SRC%\Installer %MG_BUILD_AREA%\Installer --force
+if "%errorlevel%"=="1" goto error
+
+echo [prepare]: Copying SVN working copy to build area (MgDev)
+SET BUILD_ACTION=Copying SVN working copy to build area (MgDev)
+svn export %MG_BUILD_SRC%\MgDev %MG_BUILD_AREA%\MgDev --force
+if "%errorlevel%"=="1" goto error
+
+echo [prepare]: Overlaying SVN metadata
+REM Yeah, we're basically re-copying, but this will include missing SVN metadata that export obviously leaves out
+robocopy %MG_BUILD_SRC%\MgDev\Oem\fusion_build %MG_BUILD_AREA%\MgDev\Oem\fusion_build /E /NFL /NDL /nc /ns /np /MT
+robocopy %MG_BUILD_SRC%\MgDev\Web\src\localized %MG_BUILD_AREA%\MgDev\Web\src\localized /E /NFL /NDL /nc /ns /np /MT
+robocopy %MG_BUILD_SRC%\MgDev\Web\src\mapadmin %MG_BUILD_AREA%\MgDev\Web\src\mapadmin /E /NFL /NDL /nc /ns /np /MT
+robocopy %MG_BUILD_SRC%\MgDev\UnitTest/WebTier\MapAgent\MapAgentForms %MG_BUILD_AREA%\MgDev\UnitTest/WebTier\MapAgent\MapAgentForms /E /NFL /NDL /nc /ns /np /MT
+robocopy %MG_BUILD_SRC%\MgDev\Web\src\mapviewerjava %MG_BUILD_AREA%\MgDev\Web\src\mapviewerjava /E /NFL /NDL /nc /ns /np /MT
+robocopy %MG_BUILD_SRC%\MgDev\Web\src\mapviewernet %MG_BUILD_AREA%\MgDev\Web\src\mapviewernet /E /NFL /NDL /nc /ns /np /MT
+robocopy %MG_BUILD_SRC%\MgDev\Web\src\mapviewerphp %MG_BUILD_AREA%\MgDev\Web\src\mapviewerphp /E /NFL /NDL /nc /ns /np /MT
+robocopy %MG_BUILD_SRC%\MgDev\Web\src\schemareport %MG_BUILD_AREA%\MgDev\Web\src\schemareport /E /NFL /NDL /nc /ns /np /MT
+robocopy %MG_BUILD_SRC%\MgDev\Web\src\stdicons %MG_BUILD_AREA%\MgDev\Web\src\stdicons /E /NFL /NDL /nc /ns /np /MT
+robocopy %MG_BUILD_SRC%\MgDev\Web\src\viewerfiles %MG_BUILD_AREA%\MgDev\Web\src\viewerfiles /E /NFL /NDL /nc /ns /np /MT
+robocopy %MG_BUILD_SRC%\MgDev\Doc\samples\dotnetsamples %MG_BUILD_AREA%\MgDev\Doc\samples\dotnetsamples /E /NFL /NDL /nc /ns /np /MT
+robocopy %MG_BUILD_SRC%\MgDev\Doc\samples\dotnetviewersample %MG_BUILD_AREA%\MgDev\Doc\samples\dotnetviewersample /E /NFL /NDL /nc /ns /np /MT
+robocopy %MG_BUILD_SRC%\MgDev\Doc\samples\javasamples %MG_BUILD_AREA%\MgDev\Doc\samples\javasamples /E /NFL /NDL /nc /ns /np /MT
+robocopy %MG_BUILD_SRC%\MgDev\Doc\samples\javaviewersample %MG_BUILD_AREA%\MgDev\Doc\samples\javaviewersample /E /NFL /NDL /nc /ns /np /MT
+robocopy %MG_BUILD_SRC%\MgDev\Doc\samples\phpsamples %MG_BUILD_AREA%\MgDev\Doc\samples\phpsamples /E /NFL /NDL /nc /ns /np /MT
+robocopy %MG_BUILD_SRC%\MgDev\Doc\samples\phpviewersample %MG_BUILD_AREA%\MgDev\Doc\samples\phpviewersample /E /NFL /NDL /nc /ns /np /MT
+robocopy %MG_BUILD_SRC%\MgDev\Doc\viewerapi %MG_BUILD_AREA%\MgDev\Doc\viewerapi /E /NFL /NDL /nc /ns /np /MT
+
+echo [prepare]: Setup FDO in Oem
+cd %MG_BUILD_AREA%\MgDev\Oem\FDO
 xcopy /S /Y /I %FDO_SRC%\Inc Inc
 xcopy /S /Y /I %FDO_SRC%\Lib Lib
 xcopy /S /Y /I %FDO_SRC%\Bin Bin\Release
 xcopy /S /Y /I %FDO_SRC%\Bin\com\*.* Bin\Release\com
-cd %BUILD_SRC%\MgDev\Web
-rd /S /Q bin
-rd /S /Q lib
-rd /S /Q obj
-cd %BUILD_SRC%\MgDev
-echo [build]: Updating to latest revision
-REM If we ever do implement CI build triggers, remove this update command
-svn cleanup
-svn update .
-svn info . | perl C:\builds\revnum.pl > revision.txt
-set /p REVISION= < revision.txt
-copy /Y revision.txt C:\builds\last_mg_x86_revision.txt
-cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%REVISION%
-call stampassemblies.bat %MG_VER_MAJOR_MINOR_BUILD%.%REVISION%
+REM For release we don't want pdbs and .net assemblies
+cd %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release
+del /Q OSGeo.FDO.*
+del /Q *.pdb
+
+REM echo [prepare]: Pre-process for 64-bit compilation with Windows SDK 7.1
+REM sed -i "s/\%%MSBUILD\%% InstallerPreReq\%%VS_SLN_SUFFIX\%%.sln/REM \%%MSBUILD\%% InstallerPreReq\%%VS_SLN_SUFFIX\%%.sln/g" %MG_BUILD_AREA%\Installer\build64.bat
+REM sed -i "s/REM call build64_vce.bat/call build64_vce.bat/g" %MG_BUILD_AREA%\Installer\build64.bat
+REM echo Updated - %MG_BUILD_AREA%\Installer\build64.bat
+
+:build_mapguide
+cd %MG_BUILD_SRC%\MgDev
+echo [prepare]: Noting SVN revision
+svn info . | perl %REVNUM_FILE% > revision.txt
+set /p MG_REVISION= < revision.txt
+copy /Y revision.txt %MG_STAMP_FILE%
+
+cd %MG_BUILD_AREA%\MgDev
+echo [build]: Stamp version numbers
+SET BUILD_ACTION=Stamp version numbers
+cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION%
+call stampassemblies.bat %MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%
+if "%errorlevel%"=="1" goto error
+
+REM ========================================= MapGuide ====================================================
+
+cd %MG_BUILD_AREA%\MgDev
 echo [build]: Set env vars
 call setenvironment.bat vc10
+
 echo [build]: build oem/server/web
-call build.bat -o=%BUILD_OUTPUT%
-echo [build]: install files
-call build.bat -a=install -o=%BUILD_OUTPUT%
-cd %BUILD_SRC%\Installer
-echo [build]: Updating to latest revision
+SET BUILD_ACTION=build oem/server/web
+call build.bat -o=%MG_BUILD_OUTPUT%
+if "%errorlevel%"=="1" goto error
+
+echo [build]: install files to build artifact directory
+SET BUILD_ACTION=install files to build artifact directory
+call build.bat -a=install -o=%MG_BUILD_OUTPUT%
+if "%errorlevel%"=="1" goto error
+
+REM Move fusion-selfbuild tools out of staging area
+pushd %MG_BUILD_OUTPUT%\fusion-selfbuild
+move /Y fusion-buildtools.zip %MG_BUILD_OUTPUT_ROOT%
+popd
+pushd %MG_BUILD_OUTPUT%
+rd /S /Q fusion-selfbuild
+popd
+
+REM ========================================= mg-desktop ====================================================
+:build_mgdesktop
+REM HACK: mg-desktop batch files not aware of new output dir so set old one
+SET MG_OUTPUT=%MG_BUILD_AREA%\MgDev\Release
+pushd %MG_BUILD_AREA%\MgDev
+echo [build]: mg-desktop
+SET BUILD_ACTION=Build mg-desktop
+call build_desktop.bat x86
+if "%errorlevel%"=="1" goto error
+popd
+
+pushd %MG_BUILD_AREA%\MgDev\nuget
+echo [clean]: Nuget package temp files
+call package_clean.bat
+popd
+
+pushd %MG_BUILD_AREA%\MgDev
+echo [build]: Nuget packages
+call nuget_prepare.bat %MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION% x86
+SET BUILD_ACTION=Nuget packages
+call nuget_pack.bat x86
+if "%errorlevel%"=="1" goto error
+popd
+
+pushd %MG_BUILD_AREA%\MgDev\nuget
+echo [build]: Copy mg-desktop build artifacts (NuGet packages)
+set BUILD_ACTION=Copy mg-desktop build artifacts (NuGet packages)
+move *.nupkg %MG_BUILD_ARTIFACT_PATH%\mg-desktop
+if "%errorlevel%"=="1" goto error
+popd
+
+pushd %MG_BUILD_AREA%\MgDev\Release
+echo [build]: Copy mg-desktop build artifacts (zip dist)
+SET BUILD_ACTION=Copy mg-desktop build artifacts (zip dist)
+7z a -mx9 %MG_BUILD_ARTIFACT_PATH%\mg-desktop\mg-desktop-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%-net40-vc10-x86.zip Desktop DesktopSamples
+if "%errorlevel%"=="1" goto error
+popd
+
+REM ========================================= Instant Setup =========================================================
+pushd %MG_BUILD_AREA%\Installer
+echo [build]: Prepare artifact directory
+SET BUILD_ACTION=Prepare artifact directory
+call build.bat -a=prepare -source=%MG_BUILD_OUTPUT%
+if "%errorlevel%"=="1" goto error
+popd
+
+if not exist %INSTANT_SETUP_SRC% goto checkout_instantsetup
+goto update_instantsetup
+:checkout_instantsetup
+echo [build]: svn checkout MgInstantSetup
+SET BUILD_ACTION=svn checkout MgInstantSetup
+svn co %INSTANT_SETUP_SVN_URL% %INSTANT_SETUP_SRC%
+if "%errorlevel%"=="1" goto error
+goto build_instantsetup
+
+:update_instantsetup
+REM We'll allow this to fail
+echo [build]: svn update MgInstantSetup
+pushd %INSTANT_SETUP_SRC%
 svn update
-call build.bat -a=prepare -source=%BUILD_OUTPUT%
-call build.bat -a=generate -source=%BUILD_OUTPUT%
-call build.bat -source=%BUILD_OUTPUT% -version=%MG_VER_MAJOR_MINOR_BUILD%.%REVISION% -name=MapGuideOpenSource-%MG_VER_MAJOR_MINOR_BUILD%.%REVISION%-%RELEASE_LABEL%-x86 -title="MapGuide Open Source %MG_VER_MAJOR_MINOR% %RELEASE_LABEL%"
-move /Y Output\en-US\MapGuideOpenSource-%MG_VER_MAJOR_MINOR_BUILD%.%REVISION%-%RELEASE_LABEL%-x86.exe C:\builds\mapguide</command>
+popd
+
+:build_instantsetup
+echo [build]: MgInstantSetup
+pushd %INSTANT_SETUP_SRC%
+SET BUILD_ACTION=Building MgInstantSetup
+%MSBUILD_NET35% /p:Configuration=Release;Platform="Any CPU" MgInstantSetup.sln
+if "%errorlevel%"=="1" goto error
+popd
+
+:copy_instantsetup_build_artifacts
+echo [build]: Copy MgInstantSetup build artifacts
+if not exist %MG_BUILD_OUTPUT%\Setup mkdir %MG_BUILD_OUTPUT%\Setup
+pushd %INSTANT_SETUP_SRC%\InstantSetup\bin\release
+copy /Y *.exe %MG_BUILD_OUTPUT%\Setup
+copy /Y *.pdb %MG_BUILD_OUTPUT%\Setup
+copy /Y *.dll %MG_BUILD_OUTPUT%\Setup
+copy /Y *.config %MG_BUILD_OUTPUT%\Setup
+popd
+
+:zip_mginstantsetup
+pushd %MG_BUILD_OUTPUT%
+7z a %MG_BUILD_OUTPUT_ROOT%\MapGuideOpenSource-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%-InstantSetup-x86.exe -mmt -mx5 -sfx7z.sfx .
+popd
+
+REM ========================================= MapGuide Installer ====================================================
+
+:build_installer
+pushd %MG_BUILD_AREA%\Installer
+echo [build]: Generate installer file listings
+SET BUILD_ACTION=Generate installer file listings
+call build.bat -a=generate -source=%MG_BUILD_OUTPUT%
+if "%errorlevel%"=="1" goto error
+
+echo [build]: Build the installer
+SET BUILD_ACTION=Build the installer
+call build.bat -source=%MG_BUILD_OUTPUT% -version=%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION% -name=MapGuideOpenSource-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%-%RELEASE_LABEL%-x86 -title="MapGuide Open Source %MG_VER_MAJOR_MINOR% %RELEASE_LABEL%"
+if "%errorlevel%"=="1" goto error
+
+move /Y Output\en-US\MapGuideOpenSource-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%-%RELEASE_LABEL%-x86.exe %MG_BUILD_OUTPUT_ROOT%
+popd
+goto end
+:error
+echo An error occurred while building MapGuide: %BUILD_ACTION%
+exit /b 1
+:end
+exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>
-  <publishers>
-    <hudson.tasks.BuildTrigger>
-      <childProjects>mg-desktop-net40-vc10-x86</childProjects>
-      <threshold>
-        <name>SUCCESS</name>
-        <ordinal>0</ordinal>
-        <color>BLUE</color>
-      </threshold>
-    </hudson.tasks.BuildTrigger>
-  </publishers>
+  <publishers/>
   <buildWrappers/>
 </project>
\ No newline at end of file



More information about the mapguide-commits mailing list