[mapguide-commits] r9078 - in trunk/Tools/JenkinsCI: home/slave_win home/slave_win/jobs/FDO 3.9 x64 home/slave_win/jobs/FDO 3.9 x86 home/slave_win/jobs/FDO 4.0 x64 home/slave_win/jobs/FDO 4.0 x86 home/slave_win/jobs/FDO 4.1 x64 home/slave_win/jobs/FDO 4.1 x86 home/slave_win/jobs/FDO x64 home/slave_win/jobs/FDO x86 home/slave_win/jobs/Maestro trunk home/slave_win/jobs/MapGuide Open Source 2.6 x64 home/slave_win/jobs/MapGuide Open Source 2.6 x86 home/slave_win/jobs/MapGuide Open Source 3.0 x64 home/slave_win/jobs/MapGuide Open Source 3.0 x86 home/slave_win/jobs/MapGuide Open Source 3.1 x64 home/slave_win/jobs/MapGuide Open Source 3.1 x86 home/slave_win/jobs/MapGuide Open Source x64 home/slave_win/jobs/MapGuide Open Source x86 tools

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Thu Nov 3 08:16:58 PDT 2016


Author: jng
Date: 2016-11-03 08:16:58 -0700 (Thu, 03 Nov 2016)
New Revision: 9078

Modified:
   trunk/Tools/JenkinsCI/home/slave_win/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 3.9 x64/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 3.9 x86/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 4.0 x64/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 4.0 x86/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 4.1 x64/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 4.1 x86/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x64/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x86/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/Maestro trunk/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 2.6 x64/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 2.6 x86/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 3.0 x64/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 3.0 x86/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 3.1 x64/config.xml
   trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 3.1 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/config.xml
   trunk/Tools/JenkinsCI/tools/setrevnums.bat
   trunk/Tools/JenkinsCI/tools/svnupdate.bat
Log:
JenkinsCI: Build job changes to better work in an AWS EC2 environment

Modified: trunk/Tools/JenkinsCI/home/slave_win/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/config.xml	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -3,16 +3,19 @@
   <disabledAdministrativeMonitors>
     <string>hudson.diagnosis.ReverseProxySetupMonitor</string>
   </disabledAdministrativeMonitors>
-  <version>1.630</version>
-  <numExecutors>2</numExecutors>
+  <version>2.19.1</version>
+  <numExecutors>3</numExecutors>
   <mode>NORMAL</mode>
   <useSecurity>true</useSecurity>
-  <authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>
-  <securityRealm class="hudson.security.SecurityRealm$None"/>
+  <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
+    <denyAnonymousReadAccess>false</denyAnonymousReadAccess>
+  </authorizationStrategy>
+  <securityRealm class="hudson.security.LegacySecurityRealm"/>
   <disableRememberMe>false</disableRememberMe>
   <projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
   <workspaceDir>${ITEM_ROOTDIR}/workspace</workspaceDir>
   <buildsDir>${ITEM_ROOTDIR}/builds</buildsDir>
+  <markupFormatter class="hudson.markup.EscapedMarkupFormatter"/>
   <jdks>
     <jdk>
       <name>JDK6 32-bit</name>
@@ -51,21 +54,54 @@
           <default>
             <comparator class="hudson.util.CaseInsensitiveComparator"/>
           </default>
-          <int>6</int>
+          <int>8</int>
           <string>ANT_HOME</string>
-          <string>C:\tools\apache-ant-1.9.4</string>
+          <string>C:\apache-ant-1.9.7</string>
           <string>MG_BUILD_AREA</string>
-          <string>C:\working\build_area</string>
+          <string>Y:\jenkins_build_area</string>
+          <string>MG_BUILD_AREA2</string>
+          <string>Z:\jenkins_build_area</string>
           <string>MG_BUILD_ARTIFACT_PATH</string>
-          <string>C:\builds</string>
+          <string>D:\builds</string>
           <string>MG_LIB_ROOT</string>
-          <string>C:\working\libs</string>
+          <string>D:\working\libs</string>
+          <string>MG_SOURCES_ROOT</string>
+          <string>D:\working\sources</string>
           <string>MG_TOOL_PATH</string>
-          <string>C:\working\JenkinsCI\tools</string>
+          <string>D:\working\JenkinsCI\tools</string>
           <string>WINDOWS_SDK_71_ROOT</string>
           <string>C:\Program Files\Microsoft SDKs\Windows\v7.1</string>
         </tree-map>
       </envVars>
     </hudson.slaves.EnvironmentVariablesNodeProperty>
+    <hudson.tools.ToolLocationNodeProperty>
+      <locations>
+        <hudson.tools.ToolLocationNodeProperty_-ToolLocation>
+          <type>hudson.model.JDK$DescriptorImpl</type>
+          <name>JDK6 32-bit</name>
+          <home>C:\Program Files (x86)\Java\jdk1.6.0_45</home>
+        </hudson.tools.ToolLocationNodeProperty_-ToolLocation>
+        <hudson.tools.ToolLocationNodeProperty_-ToolLocation>
+          <type>hudson.model.JDK$DescriptorImpl</type>
+          <name>JDK6 64-bit</name>
+          <home>C:\Program Files\Java\jdk1.6.0_45</home>
+        </hudson.tools.ToolLocationNodeProperty_-ToolLocation>
+        <hudson.tools.ToolLocationNodeProperty_-ToolLocation>
+          <type>hudson.plugins.msbuild.MsBuildInstallation$DescriptorImpl</type>
+          <name>MSBUILD 4.0 x86</name>
+          <home>C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe</home>
+        </hudson.tools.ToolLocationNodeProperty_-ToolLocation>
+        <hudson.tools.ToolLocationNodeProperty_-ToolLocation>
+          <type>hudson.plugins.msbuild.MsBuildInstallation$DescriptorImpl</type>
+          <name>MSBUILD 4.0 x64</name>
+          <home>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe</home>
+        </hudson.tools.ToolLocationNodeProperty_-ToolLocation>
+        <hudson.tools.ToolLocationNodeProperty_-ToolLocation>
+          <type>hudson.plugins.msbuild.MsBuildInstallation$DescriptorImpl</type>
+          <name>MSBuild 14.0</name>
+          <home>C:\Windows\Microsoft.NET\Framework64\v4.0.30319</home>
+        </hudson.tools.ToolLocationNodeProperty_-ToolLocation>
+      </locations>
+    </hudson.tools.ToolLocationNodeProperty>
   </globalNodeProperties>
 </hudson>
\ No newline at end of file

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 3.9 x64/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 3.9 x64/config.xml	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 3.9 x64/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,20 +2,22 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>1</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_BUILD_SRC64</name>
-          <description>FDO Source directory</description>
-          <defaultValue>C:\working\sources\fdo-3.9</defaultValue>
+          <name>_FDO_BUILD_SRC64</name>
+          <description>FDO Source directory, relative to the configured source root</description>
+          <defaultValue>fdo-3.9</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>FDO_VERSION64</name>
@@ -24,19 +26,24 @@
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>CLEAR_WORKING_AREA</name>
-          <description></description>
+          <description>If ticked, will clear the working area first (which may exist from a previous build) before starting the build.</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_STAMP_FILE_SOURCE64</name>
-          <description></description>
-          <defaultValue>C:\working\sources\fdo_39_revision.txt</defaultValue>
+          <name>_FDO_STAMP_FILE_SOURCE64</name>
+          <description>The file name of the stamped revision file containing the FDO svn revision number. Relative to the global source root</description>
+          <defaultValue>fdo_39_revision.txt</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>FDO_RUN_UNIT_TESTS64</name>
-          <description></description>
+          <description>Tick to also run any FDO unit tests specified</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA_AFTER</name>
+          <description>If ticked, will clear the build area after successful build</description>
+          <defaultValue>true</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
   </properties>
@@ -45,122 +52,134 @@
   <disabled>false</disabled>
   <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
   <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
-  <jdk>(Default)</jdk>
+  <jdk>(System)</jdk>
   <triggers/>
   <concurrentBuild>false</concurrentBuild>
   <builders>
     <hudson.tasks.BatchFile>
-      <command>@echo off
-SET FDOMYSQL=%MG_LIB_ROOT%\fdo_rdbms_thirdparty\mysql_x64
-SET FDOORACLE=%MG_LIB_ROOT%\fdo_rdbms_thirdparty\oracle_x64\instantclient\11.2\sdk
-SET FDOPOSTGRESQL=%MG_LIB_ROOT%\fdo_rdbms_thirdparty\pgsql
-SET FDO_BUILD_OUTPUT64=%MG_BUILD_ARTIFACT_PATH%\fdo\%FDO_VERSION64%\x64
-SET FDO_BIN_EXTRAS64=%MG_LIB_ROOT%\fdo_extras\%FDO_VERSION64%\x64
-SET REVNUM_FILE64=%MG_TOOL_PATH%\revnum.pl
-SET FDO_STAMP_FILE64=%MG_BUILD_ARTIFACT_PATH%\last_fdo_%FDO_VERSION64%_revision_x64.txt
-SET FDO_WORKING_AREA64=%MG_BUILD_AREA%\FDO\%FDO_VERSION64%\x64
-
-echo ============ Env Vars for FDO Build =====================
-echo FDOMYSQL           = %FDOMYSQL%
-echo FDOORACLE          = %FDOORACLE%
-echo FDOPOSTGRESQL      = %FDOPOSTGRESQL%
-echo FDO_BUILD_OUTPUT64 = %FDO_BUILD_OUTPUT64%
-echo FDO_BIN_EXTRAS64   = %FDO_BIN_EXTRAS64%
-echo REVNUM_FILE64      = %REVNUM_FILE64%
-echo FDO_STAMP_FILE64   = %FDO_STAMP_FILE64%
-echo FDO_WORKING_AREA64 = %FDO_WORKING_AREA64%
-echo =========================================================
-
-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%
-
-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_SRC64% %FDO_WORKING_AREA64% --force -q
-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_AREA64%\Thirdparty\util\UpdateVersion\bin
-if "%errorlevel%"=="1" goto error
-
-:build_fdo
-echo [prepare]: Noting SVN revision
-set /p REVISION= < "%FDO_STAMP_FILE_SOURCE64%"
-copy /Y "%FDO_STAMP_FILE_SOURCE64%" "%FDO_STAMP_FILE64%"
-
-REM Need to use x86_amd64 because the 64-bit compiler in VS 2012 express is a cross-compiler
-pushd %FDO_WORKING_AREA64%
-echo [build]: Set env vars
-call setenvironment.bat x86_amd64
-
-echo [build]: build thirdparty
-SET BUILD_ACTION=Build FDO Thirdparty
-call build_thirdparty.bat -p=x64 -a=buildinstall -o=%FDO_BUILD_OUTPUT64%
-if "%errorlevel%"=="1" goto error
-
-echo [build]: build core and providers
-SET BUILD_ACTION=Build FDO core/providers
-call build.bat -p=x64 -a=buildinstall -o=%FDO_BUILD_OUTPUT64%
-if "%errorlevel%"=="1" goto error
-
-if not exist %FDO_BIN_EXTRAS64% goto pack
-echo [build]: Overlaying FDO extras to build artifacts
-pushd %FDO_BIN_EXTRAS64%
-copy /Y *.* %FDO_BUILD_OUTPUT64%\Fdo\Bin
-popd
-:pack
-echo [build]: Pack files
-rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=fdo -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=shp -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=sdf -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=wfs -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=wms -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=rdbms -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=mysql -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=odbc -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=sqlspatial -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=gdal -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=kingoracle -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=ogr -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=sqlite -b=%REVISION% -r=%FDO_VERSION_64%
-popd
-
-if "%FDO_RUN_UNIT_TESTS64%"=="false" goto end
-:fdo_unit_tests
-pushd %FDO_WORKING_AREA64%\Fdo\Unmanaged\Bin\Win64\Release
-UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\fdocore_unittest.log
-popd
-pushd %FDO_WORKING_AREA64%\Providers\SHP\Src\UnitTest
-..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\shp_unittest.log
-popd
-pushd %FDO_WORKING_AREA64%\Providers\SDF\Src\UnitTest
-..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\sdf_unittest.log
-popd
-pushd %FDO_WORKING_AREA64%\Providers\SQLite\Src\UnitTest
-..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\sqlite_unittest.log
-popd
-pushd %FDO_WORKING_AREA64%\Providers\GDAL\Src\UnitTest
-..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\gdal_unittest.log
-popd
-pushd %FDO_WORKING_AREA64%\Providers\WMS\Src\UnitTest
-..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\wms_unittest.log
-popd
-goto end
-
-:error
-echo An error occurred while building FDO: %BUILD_ACTION%
-exit /b 1
-:end
+      <command>@echo off&#xd;
+SET FDOMYSQL=%MG_LIB_ROOT%\fdo_rdbms_thirdparty\mysql_x64&#xd;
+SET FDOORACLE=%MG_LIB_ROOT%\fdo_rdbms_thirdparty\oracle_x64\instantclient\11.2\sdk&#xd;
+SET FDOPOSTGRESQL=%MG_LIB_ROOT%\fdo_rdbms_thirdparty\pgsql&#xd;
+SET FDO_BUILD_OUTPUT64=%MG_BUILD_ARTIFACT_PATH%\fdo\%FDO_VERSION64%\x64&#xd;
+SET FDO_BIN_EXTRAS64=%MG_LIB_ROOT%\fdo_extras\%FDO_VERSION64%\x64&#xd;
+SET REVNUM_FILE64=%MG_TOOL_PATH%\revnum.pl&#xd;
+SET FDO_STAMP_FILE64=%MG_BUILD_ARTIFACT_PATH%\last_fdo_%FDO_VERSION64%_revision_x64.txt&#xd;
+SET FDO_WORKING_AREA64=%MG_BUILD_AREA%\FDO\%FDO_VERSION64%\x64&#xd;
+&#xd;
+SET FDO_BUILD_SRC64=%MG_SOURCES_ROOT%\%_FDO_BUILD_SRC64%&#xd;
+SET FDO_STAMP_FILE_SOURCE64=%MG_SOURCES_ROOT%\%_FDO_STAMP_FILE_SOURCE64%&#xd;
+&#xd;
+echo ============ Build Vars for FDO =========================&#xd;
+echo FDO_BUILD_SRC64          = %FDO_BUILD_SRC64%&#xd;
+echo FDO_STAMP_FILE_SOURCE64  = %FDO_STAMP_FILE_SOURCE64%&#xd;
+echo FDO_WORKING_AREA64       = %FDO_WORKING_AREA64%&#xd;
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%&#xd;
+echo ============ Env Vars for FDO Build =====================&#xd;
+echo FDOMYSQL           = %FDOMYSQL%&#xd;
+echo FDOORACLE          = %FDOORACLE%&#xd;
+echo FDOPOSTGRESQL      = %FDOPOSTGRESQL%&#xd;
+echo FDO_BUILD_OUTPUT64 = %FDO_BUILD_OUTPUT64%&#xd;
+echo FDO_BIN_EXTRAS64   = %FDO_BIN_EXTRAS64%&#xd;
+echo REVNUM_FILE64      = %REVNUM_FILE64%&#xd;
+echo FDO_STAMP_FILE64   = %FDO_STAMP_FILE64%&#xd;
+echo FDO_WORKING_AREA64 = %FDO_WORKING_AREA64%&#xd;
+echo =========================================================&#xd;
+&#xd;
+REM Pre-build checks, nuke artifact dir and working area&#xd;
+echo [prepare]: Clean out build area and build artifacts&#xd;
+if exist %FDO_BUILD_OUTPUT64% rd /S /Q %FDO_BUILD_OUTPUT64%&#xd;
+if "%CLEAR_WORKING_AREA%"=="false" (&#xd;
+    echo [prepare]: Skip cleaning build area&#xd;
+    goto build_fdo&#xd;
+)&#xd;
+if exist %FDO_WORKING_AREA64% rd /S /Q %FDO_WORKING_AREA64%&#xd;
+if not exist %FDO_WORKING_AREA64% mkdir %FDO_WORKING_AREA64%&#xd;
+&#xd;
+REM Need to supply --force otherwise it won't export into the dir we made&#xd;
+echo [prepare]: Exporting SVN working copy to build area&#xd;
+SET BUILD_ACTION=Exporting SVN working copy to build area&#xd;
+svn export %FDO_BUILD_SRC64% %FDO_WORKING_AREA64% --force -q&#xd;
+if "%errorlevel%"=="1" goto error&#xd;
+&#xd;
+REM Copy non-UAC UpdateVersion&#xd;
+echo [prepare]: Copy non UAC-gimped UpdateVersion&#xd;
+SET BUILD_ACTION=Copy non UAC-gimped UpdateVersion&#xd;
+copy /Y %MG_TOOL_PATH%\UpdateVersion.exe %FDO_WORKING_AREA64%\Thirdparty\util\UpdateVersion\bin&#xd;
+if "%errorlevel%"=="1" goto error&#xd;
+&#xd;
+:build_fdo&#xd;
+echo [prepare]: Noting SVN revision&#xd;
+set /p REVISION= < "%FDO_STAMP_FILE_SOURCE64%"&#xd;
+copy /Y "%FDO_STAMP_FILE_SOURCE64%" "%FDO_STAMP_FILE64%"&#xd;
+&#xd;
+REM Need to use x86_amd64 because the 64-bit compiler in VS 2012 express is a cross-compiler&#xd;
+pushd %FDO_WORKING_AREA64%&#xd;
+echo [build]: Set env vars&#xd;
+call setenvironment.bat x86_amd64&#xd;
+&#xd;
+echo [build]: build thirdparty&#xd;
+SET BUILD_ACTION=Build FDO Thirdparty&#xd;
+call build_thirdparty.bat -p=x64 -a=buildinstall -o=%FDO_BUILD_OUTPUT64%&#xd;
+if "%errorlevel%"=="1" goto error&#xd;
+&#xd;
+echo [build]: build core and providers&#xd;
+SET BUILD_ACTION=Build FDO core/providers&#xd;
+call build.bat -p=x64 -a=buildinstall -o=%FDO_BUILD_OUTPUT64%&#xd;
+if "%errorlevel%"=="1" goto error&#xd;
+&#xd;
+if not exist %FDO_BIN_EXTRAS64% goto pack&#xd;
+echo [build]: Overlaying FDO extras to build artifacts&#xd;
+pushd %FDO_BIN_EXTRAS64%&#xd;
+copy /Y *.* %FDO_BUILD_OUTPUT64%\Fdo\Bin&#xd;
+popd&#xd;
+:pack&#xd;
+echo [build]: Pack files&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=fdo -b=%REVISION% -r=%FDO_VERSION_64%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=shp -b=%REVISION% -r=%FDO_VERSION_64%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=sdf -b=%REVISION% -r=%FDO_VERSION_64%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=wfs -b=%REVISION% -r=%FDO_VERSION_64%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=wms -b=%REVISION% -r=%FDO_VERSION_64%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=rdbms -b=%REVISION% -r=%FDO_VERSION_64%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=mysql -b=%REVISION% -r=%FDO_VERSION_64%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=odbc -b=%REVISION% -r=%FDO_VERSION_64%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=sqlspatial -b=%REVISION% -r=%FDO_VERSION_64%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=gdal -b=%REVISION% -r=%FDO_VERSION_64%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=kingoracle -b=%REVISION% -r=%FDO_VERSION_64%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=ogr -b=%REVISION% -r=%FDO_VERSION_64%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT64%\Fdo -o=%FDO_BUILD_OUTPUT64%\dist -w=sqlite -b=%REVISION% -r=%FDO_VERSION_64%&#xd;
+popd&#xd;
+&#xd;
+if "%FDO_RUN_UNIT_TESTS64%"=="false" goto end&#xd;
+:fdo_unit_tests&#xd;
+pushd %FDO_WORKING_AREA64%\Fdo\Unmanaged\Bin\Win64\Release&#xd;
+UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\fdocore_unittest.log&#xd;
+popd&#xd;
+pushd %FDO_WORKING_AREA64%\Providers\SHP\Src\UnitTest&#xd;
+..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\shp_unittest.log&#xd;
+popd&#xd;
+pushd %FDO_WORKING_AREA64%\Providers\SDF\Src\UnitTest&#xd;
+..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\sdf_unittest.log&#xd;
+popd&#xd;
+pushd %FDO_WORKING_AREA64%\Providers\SQLite\Src\UnitTest&#xd;
+..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\sqlite_unittest.log&#xd;
+popd&#xd;
+pushd %FDO_WORKING_AREA64%\Providers\GDAL\Src\UnitTest&#xd;
+..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\gdal_unittest.log&#xd;
+popd&#xd;
+REM pushd %FDO_WORKING_AREA64%\Providers\WMS\Src\UnitTest&#xd;
+REM ..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\wms_unittest.log&#xd;
+REM popd&#xd;
+goto end&#xd;
+&#xd;
+:error&#xd;
+echo An error occurred while building FDO: %BUILD_ACTION%&#xd;
+exit /b 1&#xd;
+:end&#xd;
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (&#xd;
+    echo [prepare]: Clearing build area (%FDO_WORKING_AREA64%)&#xd;
+    rd /S /Q %FDO_WORKING_AREA64%&#xd;
+)&#xd;
 exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 3.9 x86/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 3.9 x86/config.xml	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 3.9 x86/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,20 +2,22 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>1</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_BUILD_SRC</name>
-          <description>FDO Source directory</description>
-          <defaultValue>C:\working\sources\fdo-3.9</defaultValue>
+          <name>_FDO_BUILD_SRC</name>
+          <description>FDO Source directory, relative to the configured source root</description>
+          <defaultValue>fdo-3.9</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>FDO_VERSION</name>
@@ -24,19 +26,24 @@
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>CLEAR_WORKING_AREA</name>
-          <description></description>
+          <description>If ticked, will clear the working area first (which may exist from a previous build) before starting the build.</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_STAMP_FILE_SOURCE</name>
-          <description></description>
-          <defaultValue>C:\working\sources\fdo_39_revision.txt</defaultValue>
+          <name>_FDO_STAMP_FILE_SOURCE</name>
+          <description>The file name of the stamped revision file containing the FDO svn revision number. Relative to the global source root</description>
+          <defaultValue>fdo_39_revision.txt</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>FDO_RUN_UNIT_TESTS</name>
-          <description></description>
+          <description>Tick to also run any FDO unit tests specified</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA_AFTER</name>
+          <description>If ticked, will clear the build area after successful build</description>
+          <defaultValue>true</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
   </properties>
@@ -45,122 +52,134 @@
   <disabled>false</disabled>
   <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
   <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
-  <jdk>(Default)</jdk>
+  <jdk>(System)</jdk>
   <triggers/>
   <concurrentBuild>false</concurrentBuild>
   <builders>
     <hudson.tasks.BatchFile>
-      <command>@echo off
-SET FDOMYSQL=%MG_LIB_ROOT%\fdo_rdbms_thirdparty\mysql
-SET FDOORACLE=%MG_LIB_ROOT%\fdo_rdbms_thirdparty\oracle\instantclient\11.2\sdk
-SET FDOPOSTGRESQL=%MG_LIB_ROOT%\fdo_rdbms_thirdparty\pgsql
-SET FDO_BUILD_OUTPUT=%MG_BUILD_ARTIFACT_PATH%\fdo\%FDO_VERSION%\x86
-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 FDOPOSTGRESQL      = %FDOPOSTGRESQL%
-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 -q
-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
-
-:build_fdo
-echo [prepare]: Noting SVN revision
-set /p REVISION= < "%FDO_STAMP_FILE_SOURCE%"
-copy /Y "%FDO_STAMP_FILE_SOURCE%" "%FDO_STAMP_FILE%"
-
-pushd %FDO_WORKING_AREA%
-echo [build]: Set env vars
-call setenvironment.bat x86
-
-echo [build]: build thirdparty
-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
-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 *.* %FDO_BUILD_OUTPUT%\Fdo\Bin
-popd
-
-:pack
-echo [build]: Pack files
-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
-
-if "%FDO_RUN_UNIT_TESTS%"=="false" goto end
-:fdo_unit_tests
-pushd %FDO_WORKING_AREA%\Fdo\Unmanaged\Bin\Win32\Release
-UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\fdocore_unittest.log
-popd
-pushd %FDO_WORKING_AREA%\Providers\SHP\Src\UnitTest
-..\..\Bin\Win32\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\shp_unittest.log
-popd
-pushd %FDO_WORKING_AREA%\Providers\SDF\Src\UnitTest
-..\..\Bin\Win32\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\sdf_unittest.log
-popd
-pushd %FDO_WORKING_AREA%\Providers\SQLite\Src\UnitTest
-..\..\Bin\Win32\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\sqlite_unittest.log
-popd
-pushd %FDO_WORKING_AREA%\Providers\GDAL\Src\UnitTest
-..\..\Bin\Win32\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\gdal_unittest.log
-popd
-pushd %FDO_WORKING_AREA%\Providers\WMS\Src\UnitTest
-..\..\Bin\Win32\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\wms_unittest.log
-popd
-goto end
-
-:error
-echo An error occurred while building FDO: %BUILD_ACTION%
-exit /b 1
-:end
+      <command>@echo off&#xd;
+SET FDOMYSQL=%MG_LIB_ROOT%\fdo_rdbms_thirdparty\mysql&#xd;
+SET FDOORACLE=%MG_LIB_ROOT%\fdo_rdbms_thirdparty\oracle\instantclient\11.2\sdk&#xd;
+SET FDOPOSTGRESQL=%MG_LIB_ROOT%\fdo_rdbms_thirdparty\pgsql&#xd;
+SET FDO_BUILD_OUTPUT=%MG_BUILD_ARTIFACT_PATH%\fdo\%FDO_VERSION%\x86&#xd;
+SET FDO_BIN_EXTRAS=%MG_LIB_ROOT%\fdo_extras\%FDO_VERSION%\x86&#xd;
+SET REVNUM_FILE=%MG_TOOL_PATH%\revnum.pl&#xd;
+SET FDO_STAMP_FILE=%MG_BUILD_ARTIFACT_PATH%\last_fdo_%FDO_VERSION%_revision_x86.txt&#xd;
+SET FDO_WORKING_AREA=%MG_BUILD_AREA%\FDO\%FDO_VERSION%\x86&#xd;
+&#xd;
+SET FDO_BUILD_SRC=%MG_SOURCES_ROOT%\%_FDO_BUILD_SRC%&#xd;
+SET FDO_STAMP_FILE_SOURCE=%MG_SOURCES_ROOT%\%_FDO_STAMP_FILE_SOURCE%&#xd;
+&#xd;
+echo ============ Build Vars for FDO =========================&#xd;
+echo FDO_BUILD_SRC            = %FDO_BUILD_SRC%&#xd;
+echo FDO_STAMP_FILE_SOURCE    = %FDO_STAMP_FILE_SOURCE%&#xd;
+echo FDO_WORKING_AREA         = %FDO_WORKING_AREA%&#xd;
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%&#xd;
+echo ============ Env Vars for FDO Build =====================&#xd;
+echo FDOMYSQL           = %FDOMYSQL%&#xd;
+echo FDOORACLE          = %FDOORACLE%&#xd;
+echo FDOPOSTGRESQL      = %FDOPOSTGRESQL%&#xd;
+echo FDO_BUILD_OUTPUT   = %FDO_BUILD_OUTPUT%&#xd;
+echo FDO_BIN_EXTRAS     = %FDO_BIN_EXTRAS%&#xd;
+echo REVNUM_FILE        = %REVNUM_FILE%&#xd;
+echo FDO_STAMP_FILE     = %FDO_STAMP_FILE%&#xd;
+echo FDO_WORKING_AREA   = %FDO_WORKING_AREA%&#xd;
+echo =========================================================&#xd;
+&#xd;
+REM Pre-build checks, nuke artifact dir and working area&#xd;
+echo [prepare]: Clean out build area and build artifacts&#xd;
+if exist %FDO_BUILD_OUTPUT% rd /S /Q %FDO_BUILD_OUTPUT%&#xd;
+if "%CLEAR_WORKING_AREA%"=="false" (&#xd;
+    echo [prepare]: Skip cleaning build area&#xd;
+    goto build_fdo&#xd;
+)&#xd;
+if exist %FDO_WORKING_AREA% rd /S /Q %FDO_WORKING_AREA%&#xd;
+if not exist %FDO_WORKING_AREA% mkdir %FDO_WORKING_AREA%&#xd;
+&#xd;
+REM Need to supply --force otherwise it won't export into the dir we made&#xd;
+echo [prepare]: Exporting SVN working copy to build area&#xd;
+SET BUILD_ACTION=Exporting SVN working copy to build area&#xd;
+svn export %FDO_BUILD_SRC% %FDO_WORKING_AREA% --force -q&#xd;
+if "%errorlevel%"=="1" goto error&#xd;
+&#xd;
+REM Copy non-UAC UpdateVersion&#xd;
+echo [prepare]: Copy non UAC-gimped UpdateVersion&#xd;
+SET BUILD_ACTION=Copy non UAC-gimped UpdateVersion&#xd;
+copy /Y %MG_TOOL_PATH%\UpdateVersion.exe %FDO_WORKING_AREA%\Thirdparty\util\UpdateVersion\bin&#xd;
+if "%errorlevel%"=="1" goto error&#xd;
+&#xd;
+:build_fdo&#xd;
+echo [prepare]: Noting SVN revision&#xd;
+set /p REVISION= < "%FDO_STAMP_FILE_SOURCE%"&#xd;
+copy /Y "%FDO_STAMP_FILE_SOURCE%" "%FDO_STAMP_FILE%"&#xd;
+&#xd;
+pushd %FDO_WORKING_AREA%&#xd;
+echo [build]: Set env vars&#xd;
+call setenvironment.bat x86&#xd;
+&#xd;
+echo [build]: build thirdparty&#xd;
+SET BUILD_ACTION=Build FDO Thirdparty&#xd;
+call build_thirdparty.bat -p=Win32 -a=buildinstall -o=%FDO_BUILD_OUTPUT%&#xd;
+if "%errorlevel%"=="1" goto error&#xd;
+&#xd;
+echo [build]: build core and providers&#xd;
+SET BUILD_ACTION=Build FDO core/providers&#xd;
+call build.bat -p=Win32 -a=buildinstall -o=%FDO_BUILD_OUTPUT%&#xd;
+if "%errorlevel%"=="1" goto error&#xd;
+&#xd;
+if not exist %FDO_BIN_EXTRAS% goto pack&#xd;
+echo [build]: Overlaying FDO extras to build artifacts&#xd;
+pushd %FDO_BIN_EXTRAS%&#xd;
+copy /Y *.* %FDO_BUILD_OUTPUT%\Fdo\Bin&#xd;
+popd&#xd;
+&#xd;
+:pack&#xd;
+echo [build]: Pack files&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=fdo -b=%REVISION% -r=%FDO_VERSION%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=shp -b=%REVISION% -r=%FDO_VERSION%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=sdf -b=%REVISION% -r=%FDO_VERSION%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=wfs -b=%REVISION% -r=%FDO_VERSION%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=wms -b=%REVISION% -r=%FDO_VERSION%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=rdbms -b=%REVISION% -r=%FDO_VERSION%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=mysql -b=%REVISION% -r=%FDO_VERSION%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=odbc -b=%REVISION% -r=%FDO_VERSION%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=sqlspatial -b=%REVISION% -r=%FDO_VERSION%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=gdal -b=%REVISION% -r=%FDO_VERSION%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=kingoracle -b=%REVISION% -r=%FDO_VERSION%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=ogr -b=%REVISION% -r=%FDO_VERSION%&#xd;
+rem call createtarzipbinfiles.bat -i=%FDO_BUILD_OUTPUT%\Fdo -o=%FDO_BUILD_OUTPUT%\dist -w=sqlite -b=%REVISION% -r=%FDO_VERSION%&#xd;
+popd&#xd;
+&#xd;
+if "%FDO_RUN_UNIT_TESTS%"=="false" goto end&#xd;
+:fdo_unit_tests&#xd;
+pushd %FDO_WORKING_AREA%\Fdo\Unmanaged\Bin\Win32\Release&#xd;
+UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\fdocore_unittest.log&#xd;
+popd&#xd;
+pushd %FDO_WORKING_AREA%\Providers\SHP\Src\UnitTest&#xd;
+..\..\Bin\Win32\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\shp_unittest.log&#xd;
+popd&#xd;
+pushd %FDO_WORKING_AREA%\Providers\SDF\Src\UnitTest&#xd;
+..\..\Bin\Win32\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\sdf_unittest.log&#xd;
+popd&#xd;
+pushd %FDO_WORKING_AREA%\Providers\SQLite\Src\UnitTest&#xd;
+..\..\Bin\Win32\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\sqlite_unittest.log&#xd;
+popd&#xd;
+pushd %FDO_WORKING_AREA%\Providers\GDAL\Src\UnitTest&#xd;
+..\..\Bin\Win32\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\gdal_unittest.log&#xd;
+popd&#xd;
+REM pushd %FDO_WORKING_AREA%\Providers\WMS\Src\UnitTest&#xd;
+REM ..\..\Bin\Win32\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\wms_unittest.log&#xd;
+REM popd&#xd;
+goto end&#xd;
+&#xd;
+:error&#xd;
+echo An error occurred while building FDO: %BUILD_ACTION%&#xd;
+exit /b 1&#xd;
+:end&#xd;
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (&#xd;
+    echo [prepare]: Clearing build area (%FDO_WORKING_AREA%)&#xd;
+    rd /S /Q %FDO_WORKING_AREA%&#xd;
+)&#xd;
 exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 4.0 x64/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 4.0 x64/config.xml	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 4.0 x64/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,20 +2,22 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>1</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_BUILD_SRC64</name>
-          <description>FDO Source directory</description>
-          <defaultValue>C:\working\sources\fdo-4.0</defaultValue>
+          <name>_FDO_BUILD_SRC64</name>
+          <description>FDO Source directory, relative to the configured source root</description>
+          <defaultValue>fdo-4.0</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>FDO_VERSION64</name>
@@ -24,19 +26,24 @@
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>CLEAR_WORKING_AREA</name>
-          <description></description>
+          <description>If ticked, will clear the working area first (which may exist from a previous build) before starting the build.</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_STAMP_FILE_SOURCE64</name>
-          <description></description>
-          <defaultValue>C:\working\sources\fdo_40_revision.txt</defaultValue>
+          <name>_FDO_STAMP_FILE_SOURCE64</name>
+          <description>The file name of the stamped revision file containing the FDO svn revision number. Relative to the global source root</description>
+          <defaultValue>fdo_40_revision.txt</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>FDO_RUN_UNIT_TESTS64</name>
-          <description></description>
+          <description>Tick to also run any FDO unit tests specified</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA_AFTER</name>
+          <description>If ticked, will clear the build area after successful build</description>
+          <defaultValue>true</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
   </properties>
@@ -45,7 +52,7 @@
   <disabled>false</disabled>
   <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
   <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
-  <jdk>(Default)</jdk>
+  <jdk>(System)</jdk>
   <triggers/>
   <concurrentBuild>false</concurrentBuild>
   <builders>
@@ -60,6 +67,14 @@
 SET FDO_STAMP_FILE64=%MG_BUILD_ARTIFACT_PATH%\last_fdo_%FDO_VERSION64%_revision_x64.txt&#xd;
 SET FDO_WORKING_AREA64=%MG_BUILD_AREA%\FDO\%FDO_VERSION64%\x64&#xd;
 &#xd;
+SET FDO_BUILD_SRC64=%MG_SOURCES_ROOT%\%_FDO_BUILD_SRC64%&#xd;
+SET FDO_STAMP_FILE_SOURCE64=%MG_SOURCES_ROOT%\%_FDO_STAMP_FILE_SOURCE64%&#xd;
+&#xd;
+echo ============ Build Vars for FDO =========================&#xd;
+echo FDO_BUILD_SRC64          = %FDO_BUILD_SRC64%&#xd;
+echo FDO_STAMP_FILE_SOURCE64  = %FDO_STAMP_FILE_SOURCE64%&#xd;
+echo FDO_WORKING_AREA64       = %FDO_WORKING_AREA64%&#xd;
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%&#xd;
 echo ============ Env Vars for FDO Build =====================&#xd;
 echo FDOMYSQL           = %FDOMYSQL%&#xd;
 echo FDOORACLE          = %FDOORACLE%&#xd;
@@ -155,15 +170,19 @@
 pushd %FDO_WORKING_AREA64%\Providers\GDAL\Src\UnitTest&#xd;
 ..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\gdal_unittest.log&#xd;
 popd&#xd;
-pushd %FDO_WORKING_AREA64%\Providers\WMS\Src\UnitTest&#xd;
-..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\wms_unittest.log&#xd;
-popd&#xd;
+REM pushd %FDO_WORKING_AREA64%\Providers\WMS\Src\UnitTest&#xd;
+REM ..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\wms_unittest.log&#xd;
+REM popd&#xd;
 goto end&#xd;
 &#xd;
 :error&#xd;
 echo An error occurred while building FDO: %BUILD_ACTION%&#xd;
 exit /b 1&#xd;
 :end&#xd;
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (&#xd;
+    echo [prepare]: Clearing build area (%FDO_WORKING_AREA64%)&#xd;
+    rd /S /Q %FDO_WORKING_AREA64%&#xd;
+)&#xd;
 exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 4.0 x86/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 4.0 x86/config.xml	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 4.0 x86/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,20 +2,22 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>1</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_BUILD_SRC</name>
-          <description>FDO Source directory</description>
-          <defaultValue>C:\working\sources\fdo-4.0</defaultValue>
+          <name>_FDO_BUILD_SRC</name>
+          <description>FDO Source directory, relative to the configured source root</description>
+          <defaultValue>fdo-4.0</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>FDO_VERSION</name>
@@ -24,19 +26,24 @@
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>CLEAR_WORKING_AREA</name>
-          <description></description>
+          <description>If ticked, will clear the working area first (which may exist from a previous build) before starting the build.</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_STAMP_FILE_SOURCE</name>
-          <description></description>
-          <defaultValue>C:\working\sources\fdo_40_revision.txt</defaultValue>
+          <name>_FDO_STAMP_FILE_SOURCE</name>
+          <description>The file name of the stamped revision file containing the FDO svn revision number. Relative to the global source root</description>
+          <defaultValue>fdo_40_revision.txt</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>FDO_RUN_UNIT_TESTS</name>
-          <description></description>
+          <description>Tick to also run any FDO unit tests specified</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA_AFTER</name>
+          <description>If ticked, will clear the build area after successful build</description>
+          <defaultValue>true</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
   </properties>
@@ -46,7 +53,7 @@
   <disabled>false</disabled>
   <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
   <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
-  <jdk>(Default)</jdk>
+  <jdk>(System)</jdk>
   <triggers/>
   <concurrentBuild>false</concurrentBuild>
   <builders>
@@ -61,6 +68,14 @@
 SET FDO_STAMP_FILE=%MG_BUILD_ARTIFACT_PATH%\last_fdo_%FDO_VERSION%_revision_x86.txt&#xd;
 SET FDO_WORKING_AREA=%MG_BUILD_AREA%\FDO\%FDO_VERSION%\x86&#xd;
 &#xd;
+SET FDO_BUILD_SRC=%MG_SOURCES_ROOT%\%_FDO_BUILD_SRC%&#xd;
+SET FDO_STAMP_FILE_SOURCE=%MG_SOURCES_ROOT%\%_FDO_STAMP_FILE_SOURCE%&#xd;
+&#xd;
+echo ============ Build Vars for FDO =========================&#xd;
+echo FDO_BUILD_SRC            = %FDO_BUILD_SRC%&#xd;
+echo FDO_STAMP_FILE_SOURCE    = %FDO_STAMP_FILE_SOURCE%&#xd;
+echo FDO_WORKING_AREA         = %FDO_WORKING_AREA%&#xd;
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%&#xd;
 echo ============ Env Vars for FDO Build =====================&#xd;
 echo FDOMYSQL           = %FDOMYSQL%&#xd;
 echo FDOORACLE          = %FDOORACLE%&#xd;
@@ -156,15 +171,19 @@
 pushd %FDO_WORKING_AREA%\Providers\GDAL\Src\UnitTest&#xd;
 ..\..\Bin\Win32\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\gdal_unittest.log&#xd;
 popd&#xd;
-pushd %FDO_WORKING_AREA%\Providers\WMS\Src\UnitTest&#xd;
-..\..\Bin\Win32\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\wms_unittest.log&#xd;
-popd&#xd;
+REM pushd %FDO_WORKING_AREA%\Providers\WMS\Src\UnitTest&#xd;
+REM ..\..\Bin\Win32\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\wms_unittest.log&#xd;
+REM popd&#xd;
 goto end&#xd;
 &#xd;
 :error&#xd;
 echo An error occurred while building FDO: %BUILD_ACTION%&#xd;
 exit /b 1&#xd;
 :end&#xd;
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (&#xd;
+    echo [prepare]: Clearing build area (%FDO_WORKING_AREA%)&#xd;
+    rd /S /Q %FDO_WORKING_AREA%&#xd;
+)&#xd;
 exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 4.1 x64/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 4.1 x64/config.xml	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 4.1 x64/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,20 +2,22 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>1</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_BUILD_SRC64</name>
-          <description>FDO Source directory</description>
-          <defaultValue>C:\working\sources\fdo-4.1</defaultValue>
+          <name>_FDO_BUILD_SRC64</name>
+          <description>FDO Source directory, relative to the configured source root</description>
+          <defaultValue>fdo-4.1</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>FDO_VERSION64</name>
@@ -24,19 +26,24 @@
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>CLEAR_WORKING_AREA</name>
-          <description></description>
+          <description>If ticked, will clear the working area first (which may exist from a previous build) before starting the build.</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_STAMP_FILE_SOURCE64</name>
-          <description></description>
-          <defaultValue>C:\working\sources\fdo_41_revision.txt</defaultValue>
+          <name>_FDO_STAMP_FILE_SOURCE64</name>
+          <description>The file name of the stamped revision file containing the FDO svn revision number. Relative to the global source root</description>
+          <defaultValue>fdo_41_revision.txt</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>FDO_RUN_UNIT_TESTS64</name>
-          <description></description>
+          <description>Tick to also run any FDO unit tests specified</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA_AFTER</name>
+          <description>If ticked, will clear the build area after successful build</description>
+          <defaultValue>true</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
   </properties>
@@ -45,7 +52,7 @@
   <disabled>false</disabled>
   <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
   <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
-  <jdk>(Default)</jdk>
+  <jdk>(System)</jdk>
   <triggers/>
   <concurrentBuild>false</concurrentBuild>
   <builders>
@@ -60,6 +67,14 @@
 SET FDO_STAMP_FILE64=%MG_BUILD_ARTIFACT_PATH%\last_fdo_%FDO_VERSION64%_revision_x64.txt&#xd;
 SET FDO_WORKING_AREA64=%MG_BUILD_AREA%\FDO\%FDO_VERSION64%\x64&#xd;
 &#xd;
+SET FDO_BUILD_SRC64=%MG_SOURCES_ROOT%\%_FDO_BUILD_SRC64%&#xd;
+SET FDO_STAMP_FILE_SOURCE64=%MG_SOURCES_ROOT%\%_FDO_STAMP_FILE_SOURCE64%&#xd;
+&#xd;
+echo ============ Build Vars for FDO =========================&#xd;
+echo FDO_BUILD_SRC64          = %FDO_BUILD_SRC64%&#xd;
+echo FDO_STAMP_FILE_SOURCE64  = %FDO_STAMP_FILE_SOURCE64%&#xd;
+echo FDO_WORKING_AREA64       = %FDO_WORKING_AREA64%&#xd;
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%&#xd;
 echo ============ Env Vars for FDO Build =====================&#xd;
 echo FDOMYSQL           = %FDOMYSQL%&#xd;
 echo FDOORACLE          = %FDOORACLE%&#xd;
@@ -155,15 +170,19 @@
 pushd %FDO_WORKING_AREA64%\Providers\GDAL\Src\UnitTest&#xd;
 ..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\gdal_unittest.log&#xd;
 popd&#xd;
-pushd %FDO_WORKING_AREA64%\Providers\WMS\Src\UnitTest&#xd;
-..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\wms_unittest.log&#xd;
-popd&#xd;
+REM pushd %FDO_WORKING_AREA64%\Providers\WMS\Src\UnitTest&#xd;
+REM ..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\wms_unittest.log&#xd;
+REM popd&#xd;
 goto end&#xd;
 &#xd;
 :error&#xd;
 echo An error occurred while building FDO: %BUILD_ACTION%&#xd;
 exit /b 1&#xd;
 :end&#xd;
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (&#xd;
+    echo [prepare]: Clearing build area (%FDO_WORKING_AREA64%)&#xd;
+    rd /S /Q %FDO_WORKING_AREA64%&#xd;
+)&#xd;
 exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 4.1 x86/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 4.1 x86/config.xml	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO 4.1 x86/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,20 +2,22 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>1</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_BUILD_SRC</name>
+          <name>_FDO_BUILD_SRC</name>
           <description>FDO Source directory</description>
-          <defaultValue>C:\working\sources\fdo-4.1</defaultValue>
+          <defaultValue>fdo-4.1</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>FDO_VERSION</name>
@@ -24,19 +26,24 @@
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>CLEAR_WORKING_AREA</name>
-          <description></description>
+          <description>If ticked, will clear the working area first (which may exist from a previous build) before starting the build.</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_STAMP_FILE_SOURCE</name>
-          <description></description>
-          <defaultValue>C:\working\sources\fdo_41_revision.txt</defaultValue>
+          <name>_FDO_STAMP_FILE_SOURCE</name>
+          <description>The file name of the stamped revision file containing the FDO svn revision number. Relative to the global source root</description>
+          <defaultValue>fdo_41_revision.txt</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>FDO_RUN_UNIT_TESTS</name>
-          <description></description>
+          <description>Tick to also run any FDO unit tests specified</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA</name>
+          <description>If ticked, will clear the build area after successful build</description>
+          <defaultValue>true</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
   </properties>
@@ -46,7 +53,7 @@
   <disabled>false</disabled>
   <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
   <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
-  <jdk>(Default)</jdk>
+  <jdk>(System)</jdk>
   <triggers/>
   <concurrentBuild>false</concurrentBuild>
   <builders>
@@ -61,6 +68,14 @@
 SET FDO_STAMP_FILE=%MG_BUILD_ARTIFACT_PATH%\last_fdo_%FDO_VERSION%_revision_x86.txt&#xd;
 SET FDO_WORKING_AREA=%MG_BUILD_AREA%\FDO\%FDO_VERSION%\x86&#xd;
 &#xd;
+SET FDO_BUILD_SRC=%MG_SOURCES_ROOT%\%_FDO_BUILD_SRC%&#xd;
+SET FDO_STAMP_FILE_SOURCE=%MG_SOURCES_ROOT%\%_FDO_STAMP_FILE_SOURCE%&#xd;
+&#xd;
+echo ============ Build Vars for FDO =========================&#xd;
+echo FDO_BUILD_SRC            = %FDO_BUILD_SRC%&#xd;
+echo FDO_STAMP_FILE_SOURCE    = %FDO_STAMP_FILE_SOURCE%&#xd;
+echo FDO_WORKING_AREA         = %FDO_WORKING_AREA%&#xd;
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%&#xd;
 echo ============ Env Vars for FDO Build =====================&#xd;
 echo FDOMYSQL           = %FDOMYSQL%&#xd;
 echo FDOORACLE          = %FDOORACLE%&#xd;
@@ -165,6 +180,10 @@
 echo An error occurred while building FDO: %BUILD_ACTION%&#xd;
 exit /b 1&#xd;
 :end&#xd;
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (&#xd;
+    echo [prepare]: Clearing build area (%FDO_WORKING_AREA%)&#xd;
+    rd /S /Q %FDO_WORKING_AREA%&#xd;
+)&#xd;
 exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x64/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x64/config.xml	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x64/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,20 +2,22 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>1</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_BUILD_SRC64</name>
+          <name>_FDO_BUILD_SRC64</name>
           <description>FDO Source directory</description>
-          <defaultValue>C:\working\sources\fdo-trunk</defaultValue>
+          <defaultValue>fdo-trunk</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>FDO_VERSION64</name>
@@ -28,9 +30,9 @@
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_STAMP_FILE_SOURCE64</name>
+          <name>_FDO_STAMP_FILE_SOURCE64</name>
           <description></description>
-          <defaultValue>C:\working\sources\fdo_trunk_revision.txt</defaultValue>
+          <defaultValue>fdo_trunk_revision.txt</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>FDO_RUN_UNIT_TESTS64</name>
@@ -45,7 +47,7 @@
   <disabled>false</disabled>
   <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
   <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
-  <jdk>(Default)</jdk>
+  <jdk>(System)</jdk>
   <triggers/>
   <concurrentBuild>false</concurrentBuild>
   <builders>
@@ -60,6 +62,13 @@
 SET FDO_STAMP_FILE64=%MG_BUILD_ARTIFACT_PATH%\last_fdo_%FDO_VERSION64%_revision_x64.txt&#xd;
 SET FDO_WORKING_AREA64=%MG_BUILD_AREA%\FDO\%FDO_VERSION64%\x64&#xd;
 &#xd;
+SET FDO_BUILD_SRC64=%MG_SOURCES_ROOT%\%_FDO_BUILD_SRC64%&#xd;
+SET FDO_STAMP_FILE_SOURCE64=%MG_SOURCES_ROOT%\%_FDO_STAMP_FILE_SOURCE64%&#xd;
+&#xd;
+echo ============ Build Vars for FDO =========================&#xd;
+echo FDO_BUILD_SRC64         = %FDO_BUILD_SRC64%&#xd;
+echo FDO_STAMP_FILE_SOURCE64 = %FDO_STAMP_FILE_SOURCE64%&#xd;
+echo FDO_WORKING_AREA64      = %FDO_WORKING_AREA64%&#xd;
 echo ============ Env Vars for FDO Build =====================&#xd;
 echo FDOMYSQL           = %FDOMYSQL%&#xd;
 echo FDOORACLE          = %FDOORACLE%&#xd;

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x86/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x86/config.xml	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x86/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,20 +2,22 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>1</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_BUILD_SRC</name>
+          <name>_FDO_BUILD_SRC</name>
           <description>FDO Source directory</description>
-          <defaultValue>C:\working\sources\fdo-trunk</defaultValue>
+          <defaultValue>fdo-trunk</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>FDO_VERSION</name>
@@ -28,9 +30,9 @@
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_STAMP_FILE_SOURCE</name>
+          <name>_FDO_STAMP_FILE_SOURCE</name>
           <description></description>
-          <defaultValue>C:\working\sources\fdo_trunk_revision.txt</defaultValue>
+          <defaultValue>fdo_trunk_revision.txt</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>FDO_RUN_UNIT_TESTS</name>
@@ -46,7 +48,7 @@
   <disabled>false</disabled>
   <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
   <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
-  <jdk>(Default)</jdk>
+  <jdk>(System)</jdk>
   <triggers/>
   <concurrentBuild>false</concurrentBuild>
   <builders>
@@ -61,6 +63,13 @@
 SET FDO_STAMP_FILE=%MG_BUILD_ARTIFACT_PATH%\last_fdo_%FDO_VERSION%_revision_x86.txt&#xd;
 SET FDO_WORKING_AREA=%MG_BUILD_AREA%\FDO\%FDO_VERSION%\x86&#xd;
 &#xd;
+SET FDO_BUILD_SRC=%MG_SOURCES_ROOT%\%_FDO_BUILD_SRC%&#xd;
+SET FDO_STAMP_FILE_SOURCE=%MG_SOURCES_ROOT%\%_FDO_STAMP_FILE_SOURCE%&#xd;
+&#xd;
+echo ============ Build Vars for FDO =========================&#xd;
+echo FDO_BUILD_SRC         = %FDO_BUILD_SRC%&#xd;
+echo FDO_STAMP_FILE_SOURCE = %FDO_STAMP_FILE_SOURCE%&#xd;
+echo FDO_WORKING_AREA      = %FDO_WORKING_AREA%&#xd;
 echo ============ Env Vars for FDO Build =====================&#xd;
 echo FDOMYSQL           = %FDOMYSQL%&#xd;
 echo FDOORACLE          = %FDOORACLE%&#xd;

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/Maestro trunk/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/Maestro trunk/config.xml	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/Maestro trunk/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,20 +2,22 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>5</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>5</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
           <name>VersionLabel</name>
           <description>The release version label</description>
-          <defaultValue>6.0m5</defaultValue>
+          <defaultValue>6.0m6</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>BASE_VERSION</name>
@@ -25,7 +27,7 @@
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
   </properties>
-  <scm class="hudson.scm.SubversionSCM" plugin="subversion at 2.5.3">
+  <scm class="hudson.scm.SubversionSCM" plugin="subversion at 2.7.1">
     <locations>
       <hudson.scm.SubversionSCM_-ModuleLocation>
         <remote>http://svn.osgeo.org/mapguide/trunk/Tools/Maestro</remote>
@@ -48,7 +50,7 @@
   <disabled>false</disabled>
   <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
   <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
-  <jdk>(Default)</jdk>
+  <jdk>(System)</jdk>
   <triggers>
     <hudson.triggers.SCMTrigger>
       <spec>H/15 * * * *</spec>
@@ -72,7 +74,7 @@
 .nuget\nuget.exe restore Maestro_All.sln&#xd;
 popd</command>
     </hudson.tasks.BatchFile>
-    <hudson.plugins.msbuild.MsBuildBuilder plugin="msbuild at 1.24">
+    <hudson.plugins.msbuild.MsBuildBuilder plugin="msbuild at 1.26">
       <msBuildName>MSBuild 14.0</msBuildName>
       <msBuildFile>Maestro\Maestro_All.sln</msBuildFile>
       <cmdLineArgs>/p:Configuration=Release</cmdLineArgs>
@@ -114,7 +116,7 @@
 7z a -tzip -mx9 "%MG_BUILD_ARTIFACT_PATH%\maestro\MapGuideMaestro-%VersionLabel%-Release.zip" .&#xd;
 popd</command>
     </hudson.tasks.BatchFile>
-    <hudson.plugins.msbuild.MsBuildBuilder plugin="msbuild at 1.24">
+    <hudson.plugins.msbuild.MsBuildBuilder plugin="msbuild at 1.26">
       <msBuildName>MSBUILD 4.0 x86</msBuildName>
       <msBuildFile>Doc\MaestroAPI.shfbproj</msBuildFile>
       <cmdLineArgs></cmdLineArgs>

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 2.6 x64/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 2.6 x64/config.xml	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 2.6 x64/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,69 +2,76 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>1</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
           <name>RELEASE_LABEL64</name>
-          <description></description>
+          <description>The release label for this build. The installer produced will be of the form MapGuideOpenSource-x.y.z-releaselabel-cpu.exe</description>
           <defaultValue>Final</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>WITH_ARCSDE</name>
-          <description></description>
+          <description>If 'yes', the installer will be built on the assumption the ArcSDE FDO provider is available</description>
           <defaultValue>yes</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_MAJOR</name>
-          <description></description>
+          <description>The major version of MapGuide</description>
           <defaultValue>2</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_MINOR</name>
-          <description></description>
+          <description>The minor version of MapGuide</description>
           <defaultValue>6</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_BUILD</name>
-          <description></description>
+          <description>The point version of MapGuide</description>
           <defaultValue>2</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>MG_BUILD_SRC64</name>
-          <description></description>
-          <defaultValue>C:\working\sources\mg-2.6</defaultValue>
+          <name>_MG_BUILD_SRC64</name>
+          <description>MapGuide source directory, relative to the configured source root</description>
+          <defaultValue>mg-2.6</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_SRC64</name>
-          <description></description>
-          <defaultValue>C:\builds\fdo\3.9.0\x64\Fdo</defaultValue>
+          <name>_FDO_SRC64</name>
+          <description>The path to the FDO build output from the upstream FDO build job. Relative to the build artifact root.</description>
+          <defaultValue>fdo\3.9.0\x64\Fdo</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>INSTANT_SETUP_SRC</name>
-          <description></description>
-          <defaultValue>C:\working\sources\MgInstantSetup</defaultValue>
+          <name>_INSTANT_SETUP_SRC</name>
+          <description>The path to the MgInstantSetup utility. Relative to the source root</description>
+          <defaultValue>MgInstantSetup</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>CLEAR_WORKING_AREA</name>
-          <description></description>
+          <description>If ticked, will clear the working area first (which may exist from a previous build) before starting the build.</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>MG_STAMP_FILE_SOURCE64</name>
-          <description></description>
-          <defaultValue>C:\working\sources\mapguide_26_revision.txt</defaultValue>
+          <name>_MG_STAMP_FILE_SOURCE64</name>
+          <description>The file name of the stamped revision file containing the MapGuide svn revision number. Relative to the global source root</description>
+          <defaultValue>mapguide_26_revision.txt</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>MG_RUN_UNIT_TESTS64</name>
-          <description></description>
+          <description>Tick to also run any MapGuide unit tests specified</description>
+          <defaultValue>false</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA_AFTER</name>
+          <description>If ticked, will clear the build area after successful build</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
@@ -103,11 +110,22 @@
 SET MG_VER_MAJOR_MINOR_BUILD=%MG_VER_MAJOR_MINOR%.%MG_VER_BUILD%&#xd;
 SET MG_BUILD_OUTPUT_ROOT64=%MG_BUILD_ARTIFACT_PATH%\mapguide&#xd;
 SET MG_BUILD_OUTPUT64=%MG_BUILD_OUTPUT_ROOT64%\%MG_VER_MAJOR_MINOR_BUILD%\x64\release&#xd;
-SET MG_BUILD_AREA64=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x64&#xd;
+SET MG_BUILD_AREA64=%MG_BUILD_AREA2%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x64&#xd;
 SET REVNUM_FILE64=%MG_TOOL_PATH%\revnum.pl&#xd;
 SET MG_STAMP_FILE64=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x64.txt&#xd;
 SET BUILD_ACTION=&#xd;
 &#xd;
+SET FDO_SRC64=%MG_BUILD_ARTIFACT_PATH%\%_FDO_SRC64%&#xd;
+SET MG_BUILD_SRC64=%MG_SOURCES_ROOT%\%_MG_BUILD_SRC64%&#xd;
+SET INSTANT_SETUP_SRC=%MG_SOURCES_ROOT%\%_INSTANT_SETUP_SRC%&#xd;
+SET MG_STAMP_FILE_SOURCE64=%MG_SOURCES_ROOT%\%_MG_STAMP_FILE_SOURCE64%&#xd;
+&#xd;
+echo ================== Build Vars for MapGuide ============================&#xd;
+echo FDO_SRC64                = %FDO_SRC64%&#xd;
+echo MG_BUILD_SRC64           = %MG_BUILD_SRC64%&#xd;
+echo INSTANT_SETUP_SRC        = %INSTANT_SETUP_SRC%&#xd;
+echo MG_STAMP_FILE_SOURCE64   = %MG_STAMP_FILE_SOURCE64%&#xd;
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%&#xd;
 echo =================== Env Vars for MapGuide =============================&#xd;
 echo MG_VER_MAJOR_MINOR         = %MG_VER_MAJOR_MINOR%&#xd;
 echo MG_VER_MAJOR_MINOR_BUILD   = %MG_VER_MAJOR_MINOR_BUILD%&#xd;
@@ -151,18 +169,18 @@
 if "%errorlevel%"=="1" goto error&#xd;
 &#xd;
 echo [prepare]: Setup FDO in Oem&#xd;
-cd %MG_BUILD_AREA64%\MgDev\Oem\FDO&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev\Oem\FDO&#xd;
 xcopy /S /Y /I %FDO_SRC64%\Inc Inc&#xd;
 xcopy /S /Y /I %FDO_SRC64%\Lib Lib64&#xd;
 xcopy /S /Y /I %FDO_SRC64%\Bin Bin\Release64&#xd;
 xcopy /S /Y /I %FDO_SRC64%\Bin\com\*.* Bin\Release64\com&#xd;
 REM For release we don't want pdbs and .net assemblies&#xd;
-cd %MG_BUILD_AREA64%\MgDev\Oem\FDO\Bin\Release64&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev\Oem\FDO\Bin\Release64&#xd;
 del /Q OSGeo.FDO.*&#xd;
 del /Q *.pdb&#xd;
 &#xd;
 :build_mapguide&#xd;
-cd %MG_BUILD_AREA64%\MgDev&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev&#xd;
 echo [build]: Stamp version numbers&#xd;
 SET BUILD_ACTION=Stamp version numbers %MG_VER_MAJOR%.%MG_VER_MINOR%.%MG_VER_BUILD%.%MG_REVISION64%&#xd;
 cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION64%&#xd;
@@ -171,12 +189,12 @@
 &#xd;
 REM ========================================= MapGuide ====================================================&#xd;
 &#xd;
-cd %MG_BUILD_AREA64%\MgDev&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev&#xd;
 echo [build]: Set env vars&#xd;
 call setenvironment64.bat&#xd;
 &#xd;
 echo [build]: build oem/server/web&#xd;
-cd %MG_BUILD_AREA64%\MgDev&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev&#xd;
 SET BUILD_ACTION=build oem/server/web&#xd;
 call build.bat&#xd;
 if "%errorlevel%"=="1" goto error&#xd;
@@ -307,6 +325,10 @@
 echo An error occurred while building MapGuide: %BUILD_ACTION%&#xd;
 exit /b 1&#xd;
 :end&#xd;
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (&#xd;
+    echo [prepare]: Clearing build area (%MG_BUILD_AREA64%)&#xd;
+    rd /S /Q %MG_BUILD_AREA64%&#xd;
+)&#xd;
 exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 2.6 x86/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 2.6 x86/config.xml	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 2.6 x86/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,69 +2,76 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>1</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
           <name>RELEASE_LABEL</name>
-          <description></description>
+          <description>The release label for this build. The installer produced will be of the form MapGuideOpenSource-x.y.z-releaselabel-cpu.exe</description>
           <defaultValue>Final</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>WITH_ARCSDE</name>
-          <description></description>
+          <description>If 'yes', the installer will be built on the assumption the ArcSDE FDO provider is available</description>
           <defaultValue>yes</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_MAJOR</name>
-          <description></description>
+          <description>The major version of MapGuide</description>
           <defaultValue>2</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_MINOR</name>
-          <description></description>
+          <description>The minor version of MapGuide</description>
           <defaultValue>6</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_BUILD</name>
-          <description></description>
+          <description>The point version of MapGuide</description>
           <defaultValue>2</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>MG_BUILD_SRC</name>
-          <description></description>
-          <defaultValue>C:\working\sources\mg-2.6</defaultValue>
+          <name>_MG_BUILD_SRC</name>
+          <description>MapGuide source directory, relative to the configured source root</description>
+          <defaultValue>mg-2.6</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_SRC</name>
-          <description></description>
-          <defaultValue>C:\builds\fdo\3.9.0\x86\Fdo</defaultValue>
+          <name>_FDO_SRC</name>
+          <description>The path to the FDO build output from the upstream FDO build job. Relative to the build artifact root.</description>
+          <defaultValue>fdo\3.9.0\x86\Fdo</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>INSTANT_SETUP_SRC</name>
-          <description></description>
-          <defaultValue>C:\working\sources\MgInstantSetup</defaultValue>
+          <name>_INSTANT_SETUP_SRC</name>
+          <description>The path to the MgInstantSetup utility. Relative to the source root</description>
+          <defaultValue>MgInstantSetup</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>CLEAR_WORKING_AREA</name>
-          <description></description>
+          <description>If ticked, will clear the working area first (which may exist from a previous build) before starting the build.</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>MG_STAMP_FILE_SOURCE</name>
-          <description></description>
-          <defaultValue>C:\working\sources\mapguide_26_revision.txt</defaultValue>
+          <name>_MG_STAMP_FILE_SOURCE</name>
+          <description>The file name of the stamped revision file containing the MapGuide svn revision number. Relative to the global source root</description>
+          <defaultValue>mapguide_26_revision.txt</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>MG_RUN_UNIT_TESTS</name>
-          <description></description>
+          <description>Tick to also run any MapGuide unit tests specified</description>
+          <defaultValue>false</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA_AFTER</name>
+          <description>If ticked, will clear the build area after successful build</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
@@ -102,11 +109,22 @@
 SET MG_VER_MAJOR_MINOR_BUILD=%MG_VER_MAJOR_MINOR%.%MG_VER_BUILD%&#xd;
 SET MG_BUILD_OUTPUT_ROOT=%MG_BUILD_ARTIFACT_PATH%\mapguide&#xd;
 SET MG_BUILD_OUTPUT=%MG_BUILD_OUTPUT_ROOT%\%MG_VER_MAJOR_MINOR_BUILD%\x86\release&#xd;
-SET MG_BUILD_AREA=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86&#xd;
+SET MG_BUILD_AREA=%MG_BUILD_AREA2%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86&#xd;
 SET REVNUM_FILE=%MG_TOOL_PATH%\revnum.pl&#xd;
 SET MG_STAMP_FILE=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x86.txt&#xd;
 SET BUILD_ACTION=&#xd;
 &#xd;
+SET FDO_SRC=%MG_BUILD_ARTIFACT_PATH%\%_FDO_SRC%&#xd;
+SET MG_BUILD_SRC=%MG_SOURCES_ROOT%\%_MG_BUILD_SRC%&#xd;
+SET INSTANT_SETUP_SRC=%MG_SOURCES_ROOT%\%_INSTANT_SETUP_SRC%&#xd;
+SET MG_STAMP_FILE_SOURCE=%MG_SOURCES_ROOT%\%_MG_STAMP_FILE_SOURCE%&#xd;
+&#xd;
+echo ================== Build Vars for MapGuide ============================&#xd;
+echo FDO_SRC                  = %FDO_SRC%&#xd;
+echo MG_BUILD_SRC             = %MG_BUILD_SRC%&#xd;
+echo INSTANT_SETUP_SRC        = %INSTANT_SETUP_SRC%&#xd;
+echo MG_STAMP_FILE_SOURCE     = %MG_STAMP_FILE_SOURCE%&#xd;
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%&#xd;
 echo =================== Env Vars for MapGuide =============================&#xd;
 echo MG_VER_MAJOR_MINOR         = %MG_VER_MAJOR_MINOR%&#xd;
 echo MG_VER_MAJOR_MINOR_BUILD   = %MG_VER_MAJOR_MINOR_BUILD%&#xd;
@@ -151,18 +169,18 @@
 if "%errorlevel%"=="1" goto error&#xd;
 &#xd;
 echo [prepare]: Setup FDO in Oem&#xd;
-cd %MG_BUILD_AREA%\MgDev\Oem\FDO&#xd;
+cd /d %MG_BUILD_AREA%\MgDev\Oem\FDO&#xd;
 xcopy /S /Y /I %FDO_SRC%\Inc Inc&#xd;
 xcopy /S /Y /I %FDO_SRC%\Lib Lib&#xd;
 xcopy /S /Y /I %FDO_SRC%\Bin Bin\Release&#xd;
 xcopy /S /Y /I %FDO_SRC%\Bin\com\*.* Bin\Release\com&#xd;
 REM For release we don't want pdbs and .net assemblies&#xd;
-cd %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release&#xd;
+cd /d %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release&#xd;
 del /Q OSGeo.FDO.*&#xd;
 del /Q *.pdb&#xd;
 &#xd;
 :build_mapguide&#xd;
-cd %MG_BUILD_AREA%\MgDev&#xd;
+cd /d %MG_BUILD_AREA%\MgDev&#xd;
 echo [build]: Stamp version numbers %MG_VER_MAJOR%.%MG_VER_MINOR%.%MG_VER_BUILD%.%MG_REVISION%&#xd;
 SET BUILD_ACTION=Stamp version numbers&#xd;
 cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION%&#xd;
@@ -171,12 +189,12 @@
 &#xd;
 REM ========================================= MapGuide ====================================================&#xd;
 &#xd;
-cd %MG_BUILD_AREA%\MgDev&#xd;
+cd /d %MG_BUILD_AREA%\MgDev&#xd;
 echo [build]: Set env vars&#xd;
 call setenvironment.bat&#xd;
 &#xd;
 echo [build]: build oem/server/web&#xd;
-cd %MG_BUILD_AREA%\MgDev&#xd;
+cd /d %MG_BUILD_AREA%\MgDev&#xd;
 SET BUILD_ACTION=build oem/server/web&#xd;
 call build.bat&#xd;
 if "%errorlevel%"=="1" goto error&#xd;
@@ -307,6 +325,10 @@
 echo An error occurred while building MapGuide: %BUILD_ACTION%&#xd;
 exit /b 1&#xd;
 :end&#xd;
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (&#xd;
+    echo [prepare]: Clearing build area (%MG_BUILD_AREA%)&#xd;
+    rd /S /Q %MG_BUILD_AREA%&#xd;
+)&#xd;
 exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 3.0 x64/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 3.0 x64/config.xml	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 3.0 x64/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,66 +2,78 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>1</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
           <name>RELEASE_LABEL64</name>
-          <description></description>
+          <description>The release label for this build. The installer produced will be of the form MapGuideOpenSource-x.y.z-releaselabel-cpu.exe</description>
           <defaultValue>Final</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>WITH_ARCSDE</name>
-          <description></description>
+          <description>If 'yes', the installer will be built on the assumption the ArcSDE FDO provider is available</description>
           <defaultValue>yes</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_MAJOR</name>
-          <description></description>
+          <description>The major version of MapGuide</description>
           <defaultValue>3</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_MINOR</name>
-          <description></description>
+          <description>The minor version of MapGuide</description>
           <defaultValue>0</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_BUILD</name>
-          <description></description>
+          <description>The point version of MapGuide</description>
           <defaultValue>1</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>MG_BUILD_SRC64</name>
-          <description></description>
-          <defaultValue>C:\working\sources\mg-3.0</defaultValue>
+          <name>_MG_BUILD_SRC64</name>
+          <description>MapGuide source directory, relative to the configured source root</description>
+          <defaultValue>mg-3.0</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_SRC64</name>
-          <description></description>
-          <defaultValue>C:\builds\fdo\4.0.0\x64\Fdo</defaultValue>
+          <name>_FDO_SRC64</name>
+          <description>The path to the FDO build output from the upstream FDO build job. Relative to the build artifact root.</description>
+          <defaultValue>fdo\4.0.0\x64\Fdo</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>INSTANT_SETUP_SRC</name>
-          <description></description>
-          <defaultValue>C:\working\sources\MgInstantSetup</defaultValue>
+          <name>_INSTANT_SETUP_SRC</name>
+          <description>The path to the MgInstantSetup utility. Relative to the source root</description>
+          <defaultValue>MgInstantSetup</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>CLEAR_WORKING_AREA</name>
-          <description></description>
+          <description>If ticked, will clear the working area first (which may exist from a previous build) before starting the build.</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>MG_STAMP_FILE_SOURCE64</name>
-          <description></description>
-          <defaultValue>C:\working\sources\mapguide_30_revision.txt</defaultValue>
+          <name>_MG_STAMP_FILE_SOURCE64</name>
+          <description>The file name of the stamped revision file containing the MapGuide svn revision number. Relative to the global source root</description>
+          <defaultValue>mapguide_30_revision.txt</defaultValue>
         </hudson.model.StringParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>MG_RUN_UNIT_TESTS64</name>
+          <description>Tick to also run any MapGuide unit tests specified</description>
+          <defaultValue>false</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA_AFTER</name>
+          <description>If ticked, will clear the build area after successful build</description>
+          <defaultValue>true</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
   </properties>
@@ -98,11 +110,22 @@
 SET MG_VER_MAJOR_MINOR_BUILD=%MG_VER_MAJOR_MINOR%.%MG_VER_BUILD%&#xd;
 SET MG_BUILD_OUTPUT_ROOT64=%MG_BUILD_ARTIFACT_PATH%\mapguide&#xd;
 SET MG_BUILD_OUTPUT64=%MG_BUILD_OUTPUT_ROOT64%\%MG_VER_MAJOR_MINOR_BUILD%\x64\release&#xd;
-SET MG_BUILD_AREA64=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x64&#xd;
+SET MG_BUILD_AREA64=%MG_BUILD_AREA2%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x64&#xd;
 SET REVNUM_FILE64=%MG_TOOL_PATH%\revnum.pl&#xd;
 SET MG_STAMP_FILE64=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x64.txt&#xd;
 SET BUILD_ACTION=&#xd;
 &#xd;
+SET FDO_SRC64=%MG_BUILD_ARTIFACT_PATH%\%_FDO_SRC64%&#xd;
+SET MG_BUILD_SRC64=%MG_SOURCES_ROOT%\%_MG_BUILD_SRC64%&#xd;
+SET INSTANT_SETUP_SRC=%MG_SOURCES_ROOT%\%_INSTANT_SETUP_SRC%&#xd;
+SET MG_STAMP_FILE_SOURCE64=%MG_SOURCES_ROOT%\%_MG_STAMP_FILE_SOURCE64%&#xd;
+&#xd;
+echo ================== Build Vars for MapGuide ============================&#xd;
+echo FDO_SRC64                = %FDO_SRC64%&#xd;
+echo MG_BUILD_SRC64           = %MG_BUILD_SRC64%&#xd;
+echo INSTANT_SETUP_SRC        = %INSTANT_SETUP_SRC%&#xd;
+echo MG_STAMP_FILE_SOURCE64   = %MG_STAMP_FILE_SOURCE64%&#xd;
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%&#xd;
 echo =================== Env Vars for MapGuide =============================&#xd;
 echo MG_VER_MAJOR_MINOR         = %MG_VER_MAJOR_MINOR%&#xd;
 echo MG_VER_MAJOR_MINOR_BUILD   = %MG_VER_MAJOR_MINOR_BUILD%&#xd;
@@ -114,6 +137,7 @@
 echo INSTANT_SETUP_SRC          = %INSTANT_SETUP_SRC%&#xd;
 echo JAVA_HOME                  = %JAVA_HOME%&#xd;
 echo ANT_HOME                   = %ANT_HOME%&#xd;
+echo MG_RUN_UNIT_TESTS64        = %MG_RUN_UNIT_TESTS64%&#xd;
 echo =======================================================================&#xd;
 &#xd;
 echo [prepare]: Cleaning out build artifacts&#xd;
@@ -145,32 +169,32 @@
 if "%errorlevel%"=="1" goto error&#xd;
 &#xd;
 echo [prepare]: Setup FDO in Oem&#xd;
-cd %MG_BUILD_AREA64%\MgDev\Oem\FDO&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev\Oem\FDO&#xd;
 xcopy /S /Y /I %FDO_SRC64%\Inc Inc&#xd;
 xcopy /S /Y /I %FDO_SRC64%\Lib Lib64&#xd;
 xcopy /S /Y /I %FDO_SRC64%\Bin Bin\Release64&#xd;
 xcopy /S /Y /I %FDO_SRC64%\Bin\com\*.* Bin\Release64\com&#xd;
 REM For release we don't want pdbs and .net assemblies&#xd;
-cd %MG_BUILD_AREA64%\MgDev\Oem\FDO\Bin\Release64&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev\Oem\FDO\Bin\Release64&#xd;
 del /Q OSGeo.FDO.*&#xd;
 del /Q *.pdb&#xd;
 &#xd;
 :build_mapguide&#xd;
-cd %MG_BUILD_AREA64%\MgDev&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev&#xd;
 echo [build]: Stamp version numbers&#xd;
-SET BUILD_ACTION=Stamp version numbers&#xd;
+SET BUILD_ACTION=Stamp version numbers %MG_VER_MAJOR%.%MG_VER_MINOR%.%MG_VER_BUILD%.%MG_REVISION64%&#xd;
 cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION64%&#xd;
 call stampassemblies.bat %MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64%&#xd;
 if "%errorlevel%"=="1" goto error&#xd;
 &#xd;
 REM ========================================= MapGuide ====================================================&#xd;
 &#xd;
-cd %MG_BUILD_AREA64%\MgDev&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev&#xd;
 echo [build]: Set env vars&#xd;
 call setenvironment64.bat&#xd;
 &#xd;
 echo [build]: build oem/server/web&#xd;
-cd %MG_BUILD_AREA64%\MgDev&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev&#xd;
 SET BUILD_ACTION=build oem/server/web&#xd;
 call build.bat&#xd;
 if "%errorlevel%"=="1" goto error&#xd;
@@ -261,7 +285,7 @@
 :copy_instantsetup_build_artifacts&#xd;
 echo [build]: Copy MgInstantSetup build artifacts&#xd;
 if not exist %MG_BUILD_OUTPUT64%\Setup mkdir %MG_BUILD_OUTPUT64%\Setup&#xd;
-pushd %INSTANT_SETUP_SRC%\out\release&#xd;
+pushd %INSTANT_SETUP_SRC%\InstantSetup\out\release&#xd;
 copy /Y *.exe %MG_BUILD_OUTPUT64%\Setup&#xd;
 copy /Y *.pdb %MG_BUILD_OUTPUT64%\Setup&#xd;
 copy /Y *.dll %MG_BUILD_OUTPUT64%\Setup&#xd;
@@ -295,12 +319,21 @@
 move /Y Output\en-US\MapGuideOpenSource-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64%-%RELEASE_LABEL64%-x64.exe %MG_BUILD_OUTPUT_ROOT64%&#xd;
 popd&#xd;
 &#xd;
+if "%MG_RUN_UNIT_TESTS64%"=="false" goto end&#xd;
+:server_unit_test&#xd;
+pushd %MG_BUILD_AREA64%\MgDev\Server\bin\Release64&#xd;
+mgserver.exe test&#xd;
+popd&#xd;
 goto end&#xd;
 &#xd;
 :error&#xd;
 echo An error occurred while building MapGuide: %BUILD_ACTION%&#xd;
 exit /b 1&#xd;
 :end&#xd;
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (&#xd;
+    echo [prepare]: Clearing build area (%MG_BUILD_AREA64%)&#xd;
+    rd /S /Q %MG_BUILD_AREA64%&#xd;
+)&#xd;
 exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 3.0 x86/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 3.0 x86/config.xml	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 3.0 x86/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,66 +2,78 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>1</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
           <name>RELEASE_LABEL</name>
-          <description></description>
+          <description>The release label for this build. The installer produced will be of the form MapGuideOpenSource-x.y.z-releaselabel-cpu.exe</description>
           <defaultValue>Final</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>WITH_ARCSDE</name>
-          <description></description>
+          <description>If 'yes', the installer will be built on the assumption the ArcSDE FDO provider is available</description>
           <defaultValue>yes</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_MAJOR</name>
-          <description></description>
+          <description>The major version of MapGuide</description>
           <defaultValue>3</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_MINOR</name>
-          <description></description>
+          <description>The minor version of MapGuide</description>
           <defaultValue>0</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_BUILD</name>
-          <description></description>
+          <description>The point version of MapGuide</description>
           <defaultValue>1</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>MG_BUILD_SRC</name>
-          <description></description>
-          <defaultValue>C:\working\sources\mg-3.0</defaultValue>
+          <name>_MG_BUILD_SRC</name>
+          <description>MapGuide source directory, relative to the configured source root</description>
+          <defaultValue>mg-3.0</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_SRC</name>
-          <description></description>
-          <defaultValue>C:\builds\fdo\4.0.0\x86\Fdo</defaultValue>
+          <name>_FDO_SRC</name>
+          <description>The path to the FDO build output from the upstream FDO build job. Relative to the build artifact root.</description>
+          <defaultValue>fdo\4.0.0\x86\Fdo</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>INSTANT_SETUP_SRC</name>
-          <description></description>
-          <defaultValue>C:\working\sources\MgInstantSetup</defaultValue>
+          <name>_INSTANT_SETUP_SRC</name>
+          <description>The path to the MgInstantSetup utility. Relative to the source root</description>
+          <defaultValue>MgInstantSetup</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>CLEAR_WORKING_AREA</name>
-          <description></description>
+          <description>If ticked, will clear the working area first (which may exist from a previous build) before starting the build.</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>MG_STAMP_FILE_SOURCE</name>
-          <description></description>
-          <defaultValue>C:\working\sources\mapguide_30_revision.txt</defaultValue>
+          <name>_MG_STAMP_FILE_SOURCE</name>
+          <description>The file name of the stamped revision file containing the MapGuide svn revision number. Relative to the global source root</description>
+          <defaultValue>mapguide_30_revision.txt</defaultValue>
         </hudson.model.StringParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>MG_RUN_UNIT_TESTS</name>
+          <description>Tick to also run any MapGuide unit tests specified</description>
+          <defaultValue>false</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA_AFTER</name>
+          <description>If ticked, will clear the build area after successful build</description>
+          <defaultValue>true</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
   </properties>
@@ -97,11 +109,22 @@
 SET MG_VER_MAJOR_MINOR_BUILD=%MG_VER_MAJOR_MINOR%.%MG_VER_BUILD%&#xd;
 SET MG_BUILD_OUTPUT_ROOT=%MG_BUILD_ARTIFACT_PATH%\mapguide&#xd;
 SET MG_BUILD_OUTPUT=%MG_BUILD_OUTPUT_ROOT%\%MG_VER_MAJOR_MINOR_BUILD%\x86\release&#xd;
-SET MG_BUILD_AREA=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86&#xd;
+SET MG_BUILD_AREA=%MG_BUILD_AREA2%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86&#xd;
 SET REVNUM_FILE=%MG_TOOL_PATH%\revnum.pl&#xd;
 SET MG_STAMP_FILE=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x86.txt&#xd;
 SET BUILD_ACTION=&#xd;
 &#xd;
+SET FDO_SRC=%MG_BUILD_ARTIFACT_PATH%\%_FDO_SRC%&#xd;
+SET MG_BUILD_SRC=%MG_SOURCES_ROOT%\%_MG_BUILD_SRC%&#xd;
+SET INSTANT_SETUP_SRC=%MG_SOURCES_ROOT%\%_INSTANT_SETUP_SRC%&#xd;
+SET MG_STAMP_FILE_SOURCE=%MG_SOURCES_ROOT%\%_MG_STAMP_FILE_SOURCE%&#xd;
+&#xd;
+echo ================== Build Vars for MapGuide ============================&#xd;
+echo FDO_SRC                  = %FDO_SRC%&#xd;
+echo MG_BUILD_SRC             = %MG_BUILD_SRC%&#xd;
+echo INSTANT_SETUP_SRC        = %INSTANT_SETUP_SRC%&#xd;
+echo MG_STAMP_FILE_SOURCE     = %MG_STAMP_FILE_SOURCE%&#xd;
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%&#xd;
 echo =================== Env Vars for MapGuide =============================&#xd;
 echo MG_VER_MAJOR_MINOR         = %MG_VER_MAJOR_MINOR%&#xd;
 echo MG_VER_MAJOR_MINOR_BUILD   = %MG_VER_MAJOR_MINOR_BUILD%&#xd;
@@ -113,6 +136,7 @@
 echo INSTANT_SETUP_SRC          = %INSTANT_SETUP_SRC%&#xd;
 echo JAVA_HOME                  = %JAVA_HOME%&#xd;
 echo ANT_HOME                   = %ANT_HOME%&#xd;
+echo MG_RUN_UNIT_TESTS          = %MG_RUN_UNIT_TESTS%&#xd;
 echo =======================================================================&#xd;
 &#xd;
 echo [prepare]: Cleaning out build artifacts&#xd;
@@ -145,19 +169,19 @@
 if "%errorlevel%"=="1" goto error&#xd;
 &#xd;
 echo [prepare]: Setup FDO in Oem&#xd;
-cd %MG_BUILD_AREA%\MgDev\Oem\FDO&#xd;
+cd /d %MG_BUILD_AREA%\MgDev\Oem\FDO&#xd;
 xcopy /S /Y /I %FDO_SRC%\Inc Inc&#xd;
 xcopy /S /Y /I %FDO_SRC%\Lib Lib&#xd;
 xcopy /S /Y /I %FDO_SRC%\Bin Bin\Release&#xd;
 xcopy /S /Y /I %FDO_SRC%\Bin\com\*.* Bin\Release\com&#xd;
 REM For release we don't want pdbs and .net assemblies&#xd;
-cd %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release&#xd;
+cd /d %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release&#xd;
 del /Q OSGeo.FDO.*&#xd;
 del /Q *.pdb&#xd;
 &#xd;
 :build_mapguide&#xd;
-cd %MG_BUILD_AREA%\MgDev&#xd;
-echo [build]: Stamp version numbers&#xd;
+cd /d %MG_BUILD_AREA%\MgDev&#xd;
+echo [build]: Stamp version numbers %MG_VER_MAJOR%.%MG_VER_MINOR%.%MG_VER_BUILD%.%MG_REVISION%&#xd;
 SET BUILD_ACTION=Stamp version numbers&#xd;
 cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION%&#xd;
 call stampassemblies.bat %MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%&#xd;
@@ -165,12 +189,12 @@
 &#xd;
 REM ========================================= MapGuide ====================================================&#xd;
 &#xd;
-cd %MG_BUILD_AREA%\MgDev&#xd;
+cd /d %MG_BUILD_AREA%\MgDev&#xd;
 echo [build]: Set env vars&#xd;
 call setenvironment.bat&#xd;
 &#xd;
 echo [build]: build oem/server/web&#xd;
-cd %MG_BUILD_AREA%\MgDev&#xd;
+cd /d %MG_BUILD_AREA%\MgDev&#xd;
 SET BUILD_ACTION=build oem/server/web&#xd;
 call build.bat&#xd;
 if "%errorlevel%"=="1" goto error&#xd;
@@ -261,7 +285,7 @@
 :copy_instantsetup_build_artifacts&#xd;
 echo [build]: Copy MgInstantSetup build artifacts&#xd;
 if not exist %MG_BUILD_OUTPUT%\Setup mkdir %MG_BUILD_OUTPUT%\Setup&#xd;
-pushd %INSTANT_SETUP_SRC%\out\release&#xd;
+pushd %INSTANT_SETUP_SRC%\InstantSetup\out\release&#xd;
 copy /Y *.exe %MG_BUILD_OUTPUT%\Setup&#xd;
 copy /Y *.pdb %MG_BUILD_OUTPUT%\Setup&#xd;
 copy /Y *.dll %MG_BUILD_OUTPUT%\Setup&#xd;
@@ -295,12 +319,21 @@
 move /Y Output\en-US\MapGuideOpenSource-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%-%RELEASE_LABEL%-x86.exe %MG_BUILD_OUTPUT_ROOT%&#xd;
 popd&#xd;
 &#xd;
+if "%MG_RUN_UNIT_TESTS%"=="false" goto end&#xd;
+:server_unit_test&#xd;
+pushd %MG_BUILD_AREA%\MgDev\Server\bin\Release&#xd;
+mgserver.exe test&#xd;
+popd&#xd;
 goto end&#xd;
 &#xd;
 :error&#xd;
 echo An error occurred while building MapGuide: %BUILD_ACTION%&#xd;
 exit /b 1&#xd;
 :end&#xd;
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (&#xd;
+    echo [prepare]: Clearing build area (%MG_BUILD_AREA%)&#xd;
+    rd /S /Q %MG_BUILD_AREA%&#xd;
+)&#xd;
 exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 3.1 x64/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 3.1 x64/config.xml	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 3.1 x64/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,66 +2,84 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>1</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
           <name>RELEASE_LABEL64</name>
-          <description></description>
+          <description>The release label for this build. The installer produced will be of the form MapGuideOpenSource-x.y.z-releaselabel-cpu.exe</description>
           <defaultValue>Final</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>WITH_ARCSDE</name>
-          <description></description>
+          <description>If 'yes', the installer will be built on the assumption the ArcSDE FDO provider is available</description>
           <defaultValue>no</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_MAJOR</name>
-          <description></description>
+          <description>The major version of MapGuide</description>
           <defaultValue>3</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_MINOR</name>
-          <description></description>
+          <description>The minor version of MapGuide</description>
           <defaultValue>1</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_BUILD</name>
-          <description></description>
+          <description>The point version of MapGuide</description>
           <defaultValue>0</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>MG_BUILD_SRC64</name>
-          <description></description>
-          <defaultValue>C:\working\sources\mg-3.1</defaultValue>
+          <name>_MG_BUILD_SRC64</name>
+          <description>MapGuide source directory, relative to the configured source root</description>
+          <defaultValue>mg-3.1</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_SRC64</name>
-          <description></description>
-          <defaultValue>C:\builds\fdo\4.1.0\x64\Fdo</defaultValue>
+          <name>_FDO_SRC64</name>
+          <description>The path to the FDO build output from the upstream FDO build job. Relative to the build artifact root.</description>
+          <defaultValue>fdo\4.1.0\x64\Fdo</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>INSTANT_SETUP_SRC</name>
-          <description></description>
-          <defaultValue>C:\working\sources\MgInstantSetup</defaultValue>
+          <name>_INSTANT_SETUP_SRC</name>
+          <description>The path to the MgInstantSetup utility. Relative to the source root
+</description>
+          <defaultValue>MgInstantSetup</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>CLEAR_WORKING_AREA</name>
-          <description></description>
+          <description>If ticked, will clear the working area first (which may exist from a previous build) before starting the build.</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>MG_STAMP_FILE_SOURCE64</name>
-          <description></description>
-          <defaultValue>C:\working\sources\mapguide_31_revision.txt</defaultValue>
+          <name>_MG_STAMP_FILE_SOURCE64</name>
+          <description>The file name of the stamped revision file containing the MapGuide svn revision number. Relative to the global source root</description>
+          <defaultValue>mapguide_31_revision.txt</defaultValue>
         </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>MG_VS_SUFFIX64</name>
+          <description>The VS suffix used for naming the mg-desktop zip package</description>
+          <defaultValue>vc14</defaultValue>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>MG_RUN_UNIT_TESTS64</name>
+          <description>Tick to also run any MapGuide unit tests specified</description>
+          <defaultValue>false</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA_AFTER</name>
+          <description>If ticked, will clear the build area after successful build</description>
+          <defaultValue>true</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
   </properties>
@@ -98,11 +116,22 @@
 SET MG_VER_MAJOR_MINOR_BUILD=%MG_VER_MAJOR_MINOR%.%MG_VER_BUILD%&#xd;
 SET MG_BUILD_OUTPUT_ROOT64=%MG_BUILD_ARTIFACT_PATH%\mapguide&#xd;
 SET MG_BUILD_OUTPUT64=%MG_BUILD_OUTPUT_ROOT64%\%MG_VER_MAJOR_MINOR_BUILD%\x64\release&#xd;
-SET MG_BUILD_AREA64=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x64&#xd;
+SET MG_BUILD_AREA64=%MG_BUILD_AREA2%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x64&#xd;
 SET REVNUM_FILE64=%MG_TOOL_PATH%\revnum.pl&#xd;
 SET MG_STAMP_FILE64=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x64.txt&#xd;
 SET BUILD_ACTION=&#xd;
 &#xd;
+SET FDO_SRC64=%MG_BUILD_ARTIFACT_PATH%\%_FDO_SRC64%&#xd;
+SET MG_BUILD_SRC64=%MG_SOURCES_ROOT%\%_MG_BUILD_SRC64%&#xd;
+SET INSTANT_SETUP_SRC=%MG_SOURCES_ROOT%\%_INSTANT_SETUP_SRC%&#xd;
+SET MG_STAMP_FILE_SOURCE64=%MG_SOURCES_ROOT%\%_MG_STAMP_FILE_SOURCE64%&#xd;
+&#xd;
+echo ================== Build Vars for MapGuide ============================&#xd;
+echo FDO_SRC64                = %FDO_SRC64%&#xd;
+echo MG_BUILD_SRC64           = %MG_BUILD_SRC64%&#xd;
+echo INSTANT_SETUP_SRC        = %INSTANT_SETUP_SRC%&#xd;
+echo MG_STAMP_FILE_SOURCE64   = %MG_STAMP_FILE_SOURCE64%&#xd;
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%&#xd;
 echo =================== Env Vars for MapGuide =============================&#xd;
 echo MG_VER_MAJOR_MINOR         = %MG_VER_MAJOR_MINOR%&#xd;
 echo MG_VER_MAJOR_MINOR_BUILD   = %MG_VER_MAJOR_MINOR_BUILD%&#xd;
@@ -114,6 +143,7 @@
 echo INSTANT_SETUP_SRC          = %INSTANT_SETUP_SRC%&#xd;
 echo JAVA_HOME                  = %JAVA_HOME%&#xd;
 echo ANT_HOME                   = %ANT_HOME%&#xd;
+echo MG_RUN_UNIT_TESTS64        = %MG_RUN_UNIT_TESTS64%&#xd;
 echo =======================================================================&#xd;
 &#xd;
 echo [prepare]: Cleaning out build artifacts&#xd;
@@ -145,32 +175,32 @@
 if "%errorlevel%"=="1" goto error&#xd;
 &#xd;
 echo [prepare]: Setup FDO in Oem&#xd;
-cd %MG_BUILD_AREA64%\MgDev\Oem\FDO&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev\Oem\FDO&#xd;
 xcopy /S /Y /I %FDO_SRC64%\Inc Inc&#xd;
 xcopy /S /Y /I %FDO_SRC64%\Lib Lib64&#xd;
 xcopy /S /Y /I %FDO_SRC64%\Bin Bin\Release64&#xd;
 xcopy /S /Y /I %FDO_SRC64%\Bin\com\*.* Bin\Release64\com&#xd;
 REM For release we don't want pdbs and .net assemblies&#xd;
-cd %MG_BUILD_AREA64%\MgDev\Oem\FDO\Bin\Release64&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev\Oem\FDO\Bin\Release64&#xd;
 del /Q OSGeo.FDO.*&#xd;
 del /Q *.pdb&#xd;
 &#xd;
 :build_mapguide&#xd;
-cd %MG_BUILD_AREA64%\MgDev&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev&#xd;
 echo [build]: Stamp version numbers&#xd;
-SET BUILD_ACTION=Stamp version numbers&#xd;
+SET BUILD_ACTION=Stamp version numbers %MG_VER_MAJOR%.%MG_VER_MINOR%.%MG_VER_BUILD%.%MG_REVISION64%&#xd;
 cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION64%&#xd;
 call stampassemblies.bat %MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64%&#xd;
 if "%errorlevel%"=="1" goto error&#xd;
 &#xd;
 REM ========================================= MapGuide ====================================================&#xd;
 &#xd;
-cd %MG_BUILD_AREA64%\MgDev&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev&#xd;
 echo [build]: Set env vars&#xd;
 call setenvironment64.bat&#xd;
 &#xd;
 echo [build]: build oem/server/web&#xd;
-cd %MG_BUILD_AREA64%\MgDev&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev&#xd;
 SET BUILD_ACTION=build oem/server/web&#xd;
 call build.bat&#xd;
 if "%errorlevel%"=="1" goto error&#xd;
@@ -261,7 +291,7 @@
 :copy_instantsetup_build_artifacts&#xd;
 echo [build]: Copy MgInstantSetup build artifacts&#xd;
 if not exist %MG_BUILD_OUTPUT64%\Setup mkdir %MG_BUILD_OUTPUT64%\Setup&#xd;
-pushd %INSTANT_SETUP_SRC%\out\release&#xd;
+pushd %INSTANT_SETUP_SRC%\InstantSetup\out\release&#xd;
 copy /Y *.exe %MG_BUILD_OUTPUT64%\Setup&#xd;
 copy /Y *.pdb %MG_BUILD_OUTPUT64%\Setup&#xd;
 copy /Y *.dll %MG_BUILD_OUTPUT64%\Setup&#xd;
@@ -295,12 +325,21 @@
 move /Y Output\en-US\MapGuideOpenSource-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64%-%RELEASE_LABEL64%-x64.exe %MG_BUILD_OUTPUT_ROOT64%&#xd;
 popd&#xd;
 &#xd;
+if "%MG_RUN_UNIT_TESTS64%"=="false" goto end&#xd;
+:server_unit_test&#xd;
+pushd %MG_BUILD_AREA64%\MgDev\Server\bin\Release64&#xd;
+mgserver.exe test&#xd;
+popd&#xd;
 goto end&#xd;
 &#xd;
 :error&#xd;
 echo An error occurred while building MapGuide: %BUILD_ACTION%&#xd;
 exit /b 1&#xd;
 :end&#xd;
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (&#xd;
+    echo [prepare]: Clearing build area (%MG_BUILD_AREA64%)&#xd;
+    rd /S /Q %MG_BUILD_AREA64%&#xd;
+)&#xd;
 exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>

Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 3.1 x86/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 3.1 x86/config.xml	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source 3.1 x86/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,66 +2,83 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>1</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
           <name>RELEASE_LABEL</name>
-          <description></description>
+          <description>The release label for this build. The installer produced will be of the form MapGuideOpenSource-x.y.z-releaselabel-cpu.exe</description>
           <defaultValue>Final</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>WITH_ARCSDE</name>
-          <description></description>
+          <description>If 'yes', the installer will be built on the assumption the ArcSDE FDO provider is available</description>
           <defaultValue>no</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_MAJOR</name>
-          <description></description>
+          <description>The major version of MapGuide</description>
           <defaultValue>3</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_MINOR</name>
-          <description></description>
+          <description>The minor version of MapGuide</description>
           <defaultValue>1</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_BUILD</name>
-          <description></description>
+          <description>The point version of MapGuide</description>
           <defaultValue>0</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>MG_BUILD_SRC</name>
-          <description></description>
-          <defaultValue>C:\working\sources\mg-3.1</defaultValue>
+          <name>_MG_BUILD_SRC</name>
+          <description>MapGuide source directory, relative to the configured source root</description>
+          <defaultValue>mg-3.1</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_SRC</name>
-          <description></description>
-          <defaultValue>C:\builds\fdo\4.1.0\x86\Fdo</defaultValue>
+          <name>_FDO_SRC</name>
+          <description>The path to the FDO build output from the upstream FDO build job. Relative to the build artifact root.</description>
+          <defaultValue>fdo\4.1.0\x86\Fdo</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>INSTANT_SETUP_SRC</name>
-          <description></description>
-          <defaultValue>C:\working\sources\MgInstantSetup</defaultValue>
+          <name>_INSTANT_SETUP_SRC</name>
+          <description>The path to the MgInstantSetup utility. Relative to the source root</description>
+          <defaultValue>MgInstantSetup</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>CLEAR_WORKING_AREA</name>
-          <description></description>
+          <description>If ticked, will clear the working area first (which may exist from a previous build) before starting the build.</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>MG_STAMP_FILE_SOURCE</name>
-          <description></description>
-          <defaultValue>C:\working\sources\mapguide_31_revision.txt</defaultValue>
+          <name>_MG_STAMP_FILE_SOURCE</name>
+          <description>The file name of the stamped revision file containing the MapGuide svn revision number. Relative to the global source root</description>
+          <defaultValue>mapguide_31_revision.txt</defaultValue>
         </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
+          <name>MG_VS_SUFFIX</name>
+          <description>The VS suffix to use for naming mg-desktop zip packages</description>
+          <defaultValue>vc14</defaultValue>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>MG_RUN_UNIT_TESTS</name>
+          <description>Tick to also run any MapGuide unit tests specified</description>
+          <defaultValue>false</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA_AFTER</name>
+          <description>If ticked, will clear the build area after successful build</description>
+          <defaultValue>true</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
   </properties>
@@ -97,11 +114,22 @@
 SET MG_VER_MAJOR_MINOR_BUILD=%MG_VER_MAJOR_MINOR%.%MG_VER_BUILD%&#xd;
 SET MG_BUILD_OUTPUT_ROOT=%MG_BUILD_ARTIFACT_PATH%\mapguide&#xd;
 SET MG_BUILD_OUTPUT=%MG_BUILD_OUTPUT_ROOT%\%MG_VER_MAJOR_MINOR_BUILD%\x86\release&#xd;
-SET MG_BUILD_AREA=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86&#xd;
+SET MG_BUILD_AREA=%MG_BUILD_AREA2%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86&#xd;
 SET REVNUM_FILE=%MG_TOOL_PATH%\revnum.pl&#xd;
 SET MG_STAMP_FILE=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x86.txt&#xd;
 SET BUILD_ACTION=&#xd;
 &#xd;
+SET FDO_SRC=%MG_BUILD_ARTIFACT_PATH%\%_FDO_SRC%&#xd;
+SET MG_BUILD_SRC=%MG_SOURCES_ROOT%\%_MG_BUILD_SRC%&#xd;
+SET INSTANT_SETUP_SRC=%MG_SOURCES_ROOT%\%_INSTANT_SETUP_SRC%&#xd;
+SET MG_STAMP_FILE_SOURCE=%MG_SOURCES_ROOT%\%_MG_STAMP_FILE_SOURCE%&#xd;
+&#xd;
+echo ================== Build Vars for MapGuide ============================&#xd;
+echo FDO_SRC                  = %FDO_SRC%&#xd;
+echo MG_BUILD_SRC             = %MG_BUILD_SRC%&#xd;
+echo INSTANT_SETUP_SRC        = %INSTANT_SETUP_SRC%&#xd;
+echo MG_STAMP_FILE_SOURCE     = %MG_STAMP_FILE_SOURCE%&#xd;
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%&#xd;
 echo =================== Env Vars for MapGuide =============================&#xd;
 echo MG_VER_MAJOR_MINOR         = %MG_VER_MAJOR_MINOR%&#xd;
 echo MG_VER_MAJOR_MINOR_BUILD   = %MG_VER_MAJOR_MINOR_BUILD%&#xd;
@@ -113,6 +141,7 @@
 echo INSTANT_SETUP_SRC          = %INSTANT_SETUP_SRC%&#xd;
 echo JAVA_HOME                  = %JAVA_HOME%&#xd;
 echo ANT_HOME                   = %ANT_HOME%&#xd;
+echo MG_RUN_UNIT_TESTS          = %MG_RUN_UNIT_TESTS%&#xd;
 echo =======================================================================&#xd;
 &#xd;
 echo [prepare]: Cleaning out build artifacts&#xd;
@@ -145,19 +174,19 @@
 if "%errorlevel%"=="1" goto error&#xd;
 &#xd;
 echo [prepare]: Setup FDO in Oem&#xd;
-cd %MG_BUILD_AREA%\MgDev\Oem\FDO&#xd;
+cd /d %MG_BUILD_AREA%\MgDev\Oem\FDO&#xd;
 xcopy /S /Y /I %FDO_SRC%\Inc Inc&#xd;
 xcopy /S /Y /I %FDO_SRC%\Lib Lib&#xd;
 xcopy /S /Y /I %FDO_SRC%\Bin Bin\Release&#xd;
 xcopy /S /Y /I %FDO_SRC%\Bin\com\*.* Bin\Release\com&#xd;
 REM For release we don't want pdbs and .net assemblies&#xd;
-cd %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release&#xd;
+cd /d %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release&#xd;
 del /Q OSGeo.FDO.*&#xd;
 del /Q *.pdb&#xd;
 &#xd;
 :build_mapguide&#xd;
-cd %MG_BUILD_AREA%\MgDev&#xd;
-echo [build]: Stamp version numbers&#xd;
+cd /d %MG_BUILD_AREA%\MgDev&#xd;
+echo [build]: Stamp version numbers %MG_VER_MAJOR%.%MG_VER_MINOR%.%MG_VER_BUILD%.%MG_REVISION%&#xd;
 SET BUILD_ACTION=Stamp version numbers&#xd;
 cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION%&#xd;
 call stampassemblies.bat %MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%&#xd;
@@ -165,12 +194,12 @@
 &#xd;
 REM ========================================= MapGuide ====================================================&#xd;
 &#xd;
-cd %MG_BUILD_AREA%\MgDev&#xd;
+cd /d %MG_BUILD_AREA%\MgDev&#xd;
 echo [build]: Set env vars&#xd;
 call setenvironment.bat&#xd;
 &#xd;
 echo [build]: build oem/server/web&#xd;
-cd %MG_BUILD_AREA%\MgDev&#xd;
+cd /d %MG_BUILD_AREA%\MgDev&#xd;
 SET BUILD_ACTION=build oem/server/web&#xd;
 call build.bat&#xd;
 if "%errorlevel%"=="1" goto error&#xd;
@@ -222,7 +251,7 @@
 pushd %MG_BUILD_AREA%\MgDev\Release&#xd;
 echo [build]: Copy mg-desktop build artifacts (zip dist)&#xd;
 SET BUILD_ACTION=Copy mg-desktop build artifacts (zip dist)&#xd;
-7z a -mx9 %MG_BUILD_ARTIFACT_PATH%\mg-desktop\mg-desktop-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%-net40-vc11-x86.zip Desktop DesktopSamples&#xd;
+7z a -mx9 %MG_BUILD_ARTIFACT_PATH%\mg-desktop\mg-desktop-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%-net40-%MG_VS_SUFFIX%-x86.zip Desktop DesktopSamples&#xd;
 if "%errorlevel%"=="1" goto error&#xd;
 popd&#xd;
 &#xd;
@@ -261,7 +290,7 @@
 :copy_instantsetup_build_artifacts&#xd;
 echo [build]: Copy MgInstantSetup build artifacts&#xd;
 if not exist %MG_BUILD_OUTPUT%\Setup mkdir %MG_BUILD_OUTPUT%\Setup&#xd;
-pushd %INSTANT_SETUP_SRC%\out\release&#xd;
+pushd %INSTANT_SETUP_SRC%\InstantSetup\out\release&#xd;
 copy /Y *.exe %MG_BUILD_OUTPUT%\Setup&#xd;
 copy /Y *.pdb %MG_BUILD_OUTPUT%\Setup&#xd;
 copy /Y *.dll %MG_BUILD_OUTPUT%\Setup&#xd;
@@ -295,12 +324,21 @@
 move /Y Output\en-US\MapGuideOpenSource-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%-%RELEASE_LABEL%-x86.exe %MG_BUILD_OUTPUT_ROOT%&#xd;
 popd&#xd;
 &#xd;
+if "%MG_RUN_UNIT_TESTS%"=="false" goto end&#xd;
+:server_unit_test&#xd;
+pushd %MG_BUILD_AREA%\MgDev\Server\bin\Release&#xd;
+mgserver.exe test&#xd;
+popd&#xd;
 goto end&#xd;
 &#xd;
 :error&#xd;
 echo An error occurred while building MapGuide: %BUILD_ACTION%&#xd;
 exit /b 1&#xd;
 :end&#xd;
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (&#xd;
+    echo [prepare]: Clearing build area (%MG_BUILD_AREA%)&#xd;
+    rd /S /Q %MG_BUILD_AREA%&#xd;
+)&#xd;
 exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>

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	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source x64/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,20 +2,22 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>1</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
           <name>RELEASE_LABEL64</name>
           <description></description>
-          <defaultValue>Beta1</defaultValue>
+          <defaultValue>Trunk</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>WITH_ARCSDE</name>
@@ -38,19 +40,19 @@
           <defaultValue>0</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>MG_BUILD_SRC64</name>
+          <name>_MG_BUILD_SRC64</name>
           <description></description>
-          <defaultValue>C:\working\sources\mg-trunk</defaultValue>
+          <defaultValue>mg-trunk</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_SRC64</name>
+          <name>_FDO_SRC64</name>
           <description></description>
-          <defaultValue>C:\builds\fdo\4.1.0\x64\Fdo</defaultValue>
+          <defaultValue>fdo\4.1.0\x64\Fdo</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>INSTANT_SETUP_SRC</name>
+          <name>_INSTANT_SETUP_SRC</name>
           <description></description>
-          <defaultValue>C:\working\sources\MgInstantSetup</defaultValue>
+          <defaultValue>MgInstantSetup</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>CLEAR_WORKING_AREA</name>
@@ -58,15 +60,25 @@
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>MG_STAMP_FILE_SOURCE64</name>
+          <name>_MG_STAMP_FILE_SOURCE64</name>
           <description></description>
-          <defaultValue>C:\working\sources\mapguide_trunk_revision.txt</defaultValue>
+          <defaultValue>mapguide_trunk_revision.txt</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VS_SUFFIX64</name>
           <description>The VS suffix used for naming the mg-desktop zip package</description>
           <defaultValue>vc14</defaultValue>
         </hudson.model.StringParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>MG_RUN_UNIT_TESTS64</name>
+          <description>Tick to also run any MapGuide unit tests specified</description>
+          <defaultValue>false</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA_AFTER</name>
+          <description>If ticked, will clear the build area after successful build</description>
+          <defaultValue>true</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
   </properties>
@@ -103,11 +115,22 @@
 SET MG_VER_MAJOR_MINOR_BUILD=%MG_VER_MAJOR_MINOR%.%MG_VER_BUILD%&#xd;
 SET MG_BUILD_OUTPUT_ROOT64=%MG_BUILD_ARTIFACT_PATH%\mapguide&#xd;
 SET MG_BUILD_OUTPUT64=%MG_BUILD_OUTPUT_ROOT64%\%MG_VER_MAJOR_MINOR_BUILD%\x64\release&#xd;
-SET MG_BUILD_AREA64=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x64&#xd;
+SET MG_BUILD_AREA64=%MG_BUILD_AREA2%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x64&#xd;
 SET REVNUM_FILE64=%MG_TOOL_PATH%\revnum.pl&#xd;
 SET MG_STAMP_FILE64=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x64.txt&#xd;
 SET BUILD_ACTION=&#xd;
 &#xd;
+SET FDO_SRC64=%MG_BUILD_ARTIFACT_PATH%\%_FDO_SRC64%&#xd;
+SET MG_BUILD_SRC64=%MG_SOURCES_ROOT%\%_MG_BUILD_SRC64%&#xd;
+SET INSTANT_SETUP_SRC=%MG_SOURCES_ROOT%\%_INSTANT_SETUP_SRC%&#xd;
+SET MG_STAMP_FILE_SOURCE64=%MG_SOURCES_ROOT%\%_MG_STAMP_FILE_SOURCE64%&#xd;
+&#xd;
+echo ================== Build Vars for MapGuide ============================&#xd;
+echo FDO_SRC64                = %FDO_SRC64%&#xd;
+echo MG_BUILD_SRC64           = %MG_BUILD_SRC64%&#xd;
+echo INSTANT_SETUP_SRC        = %INSTANT_SETUP_SRC%&#xd;
+echo MG_STAMP_FILE_SOURCE64   = %MG_STAMP_FILE_SOURCE64%&#xd;
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%&#xd;
 echo =================== Env Vars for MapGuide =============================&#xd;
 echo MG_VER_MAJOR_MINOR         = %MG_VER_MAJOR_MINOR%&#xd;
 echo MG_VER_MAJOR_MINOR_BUILD   = %MG_VER_MAJOR_MINOR_BUILD%&#xd;
@@ -119,6 +142,7 @@
 echo INSTANT_SETUP_SRC          = %INSTANT_SETUP_SRC%&#xd;
 echo JAVA_HOME                  = %JAVA_HOME%&#xd;
 echo ANT_HOME                   = %ANT_HOME%&#xd;
+echo MG_RUN_UNIT_TESTS64        = %MG_RUN_UNIT_TESTS64%&#xd;
 echo =======================================================================&#xd;
 &#xd;
 echo [prepare]: Cleaning out build artifacts&#xd;
@@ -150,32 +174,32 @@
 if "%errorlevel%"=="1" goto error&#xd;
 &#xd;
 echo [prepare]: Setup FDO in Oem&#xd;
-cd %MG_BUILD_AREA64%\MgDev\Oem\FDO&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev\Oem\FDO&#xd;
 xcopy /S /Y /I %FDO_SRC64%\Inc Inc&#xd;
 xcopy /S /Y /I %FDO_SRC64%\Lib Lib64&#xd;
 xcopy /S /Y /I %FDO_SRC64%\Bin Bin\Release64&#xd;
 xcopy /S /Y /I %FDO_SRC64%\Bin\com\*.* Bin\Release64\com&#xd;
 REM For release we don't want pdbs and .net assemblies&#xd;
-cd %MG_BUILD_AREA64%\MgDev\Oem\FDO\Bin\Release64&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev\Oem\FDO\Bin\Release64&#xd;
 del /Q OSGeo.FDO.*&#xd;
 del /Q *.pdb&#xd;
 &#xd;
 :build_mapguide&#xd;
-cd %MG_BUILD_AREA64%\MgDev&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev&#xd;
 echo [build]: Stamp version numbers&#xd;
-SET BUILD_ACTION=Stamp version numbers&#xd;
+SET BUILD_ACTION=Stamp version numbers %MG_VER_MAJOR%.%MG_VER_MINOR%.%MG_VER_BUILD%.%MG_REVISION64%&#xd;
 cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION64%&#xd;
 call stampassemblies.bat %MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64%&#xd;
 if "%errorlevel%"=="1" goto error&#xd;
 &#xd;
 REM ========================================= MapGuide ====================================================&#xd;
 &#xd;
-cd %MG_BUILD_AREA64%\MgDev&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev&#xd;
 echo [build]: Set env vars&#xd;
 call setenvironment64.bat&#xd;
 &#xd;
 echo [build]: build oem/server/web&#xd;
-cd %MG_BUILD_AREA64%\MgDev&#xd;
+cd /d %MG_BUILD_AREA64%\MgDev&#xd;
 SET BUILD_ACTION=build oem/server/web&#xd;
 call build.bat&#xd;
 if "%errorlevel%"=="1" goto error&#xd;
@@ -227,7 +251,7 @@
 pushd %MG_BUILD_AREA64%\MgDev\Release64&#xd;
 echo [build]: Copy mg-desktop build artifacts (zip dist)&#xd;
 SET BUILD_ACTION=Copy mg-desktop build artifacts (zip dist)&#xd;
-7z a -mx9 %MG_BUILD_ARTIFACT_PATH%\mg-desktop\mg-desktop-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64%-net40-%MG_VS_SUFFIX64%-x64.zip Desktop DesktopSamples&#xd;
+7z a -mx9 %MG_BUILD_ARTIFACT_PATH%\mg-desktop\mg-desktop-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64%-net40-vc11-x64.zip Desktop DesktopSamples&#xd;
 if "%errorlevel%"=="1" goto error&#xd;
 popd&#xd;
 &#xd;
@@ -266,7 +290,7 @@
 :copy_instantsetup_build_artifacts&#xd;
 echo [build]: Copy MgInstantSetup build artifacts&#xd;
 if not exist %MG_BUILD_OUTPUT64%\Setup mkdir %MG_BUILD_OUTPUT64%\Setup&#xd;
-pushd %INSTANT_SETUP_SRC%\out\release&#xd;
+pushd %INSTANT_SETUP_SRC%\InstantSetup\out\release&#xd;
 copy /Y *.exe %MG_BUILD_OUTPUT64%\Setup&#xd;
 copy /Y *.pdb %MG_BUILD_OUTPUT64%\Setup&#xd;
 copy /Y *.dll %MG_BUILD_OUTPUT64%\Setup&#xd;
@@ -300,12 +324,21 @@
 move /Y Output\en-US\MapGuideOpenSource-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64%-%RELEASE_LABEL64%-x64.exe %MG_BUILD_OUTPUT_ROOT64%&#xd;
 popd&#xd;
 &#xd;
+if "%MG_RUN_UNIT_TESTS64%"=="false" goto end&#xd;
+:server_unit_test&#xd;
+pushd %MG_BUILD_AREA64%\MgDev\Server\bin\Release64&#xd;
+mgserver.exe test&#xd;
+popd&#xd;
 goto end&#xd;
 &#xd;
 :error&#xd;
 echo An error occurred while building MapGuide: %BUILD_ACTION%&#xd;
 exit /b 1&#xd;
 :end&#xd;
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (&#xd;
+    echo [prepare]: Clearing build area (%MG_BUILD_AREA64%)&#xd;
+    rd /S /Q %MG_BUILD_AREA64%&#xd;
+)&#xd;
 exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>

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	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source x86/config.xml	2016-11-03 15:16:58 UTC (rev 9078)
@@ -2,71 +2,83 @@
 <project>
   <actions/>
   <description></description>
-  <logRotator class="hudson.tasks.LogRotator">
-    <daysToKeep>-1</daysToKeep>
-    <numToKeep>1</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
   <keepDependencies>false</keepDependencies>
   <properties>
+    <jenkins.model.BuildDiscarderProperty>
+      <strategy class="hudson.tasks.LogRotator">
+        <daysToKeep>-1</daysToKeep>
+        <numToKeep>1</numToKeep>
+        <artifactDaysToKeep>-1</artifactDaysToKeep>
+        <artifactNumToKeep>-1</artifactNumToKeep>
+      </strategy>
+    </jenkins.model.BuildDiscarderProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
           <name>RELEASE_LABEL</name>
-          <description></description>
-          <defaultValue>Beta1</defaultValue>
+          <description>The release label for this build. The installer produced will be of the form MapGuideOpenSource-x.y.z-releaselabel-cpu.exe</description>
+          <defaultValue>Trunk</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>WITH_ARCSDE</name>
-          <description></description>
+          <description>If 'yes', the installer will be built on the assumption the ArcSDE FDO provider is available</description>
           <defaultValue>no</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_MAJOR</name>
-          <description></description>
+          <description>The major version of MapGuide</description>
           <defaultValue>3</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_MINOR</name>
-          <description></description>
+          <description>The minor version of MapGuide</description>
           <defaultValue>1</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VER_BUILD</name>
-          <description></description>
+          <description>The point version of MapGuide</description>
           <defaultValue>0</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>MG_BUILD_SRC</name>
-          <description></description>
-          <defaultValue>C:\working\sources\mg-trunk</defaultValue>
+          <name>_MG_BUILD_SRC</name>
+          <description>MapGuide source directory, relative to the configured source root</description>
+          <defaultValue>mg-trunk</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>FDO_SRC</name>
-          <description></description>
-          <defaultValue>C:\builds\fdo\4.1.0\x86\Fdo</defaultValue>
+          <name>_FDO_SRC</name>
+          <description>The path to the FDO build output from the upstream FDO build job. Relative to the build artifact root.</description>
+          <defaultValue>fdo\4.1.0\x86\Fdo</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>INSTANT_SETUP_SRC</name>
-          <description></description>
-          <defaultValue>C:\working\sources\MgInstantSetup</defaultValue>
+          <name>_INSTANT_SETUP_SRC</name>
+          <description>The path to the MgInstantSetup utility. Relative to the source root</description>
+          <defaultValue>MgInstantSetup</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>CLEAR_WORKING_AREA</name>
-          <description></description>
+          <description>If ticked, will clear the working area first (which may exist from a previous build) before starting the build.</description>
           <defaultValue>true</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
-          <name>MG_STAMP_FILE_SOURCE</name>
-          <description></description>
-          <defaultValue>C:\working\sources\mapguide_trunk_revision.txt</defaultValue>
+          <name>_MG_STAMP_FILE_SOURCE</name>
+          <description>The file name of the stamped revision file containing the MapGuide svn revision number. Relative to the global source root</description>
+          <defaultValue>mapguide_trunk_revision.txt</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
           <name>MG_VS_SUFFIX</name>
           <description>The VS suffix to use for naming mg-desktop zip packages</description>
           <defaultValue>vc14</defaultValue>
         </hudson.model.StringParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>MG_RUN_UNIT_TESTS</name>
+          <description>Tick to also run any MapGuide unit tests specified</description>
+          <defaultValue>false</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
+        <hudson.model.BooleanParameterDefinition>
+          <name>CLEAR_WORKING_AREA_AFTER</name>
+          <description>If ticked, will clear the build area after successful build</description>
+          <defaultValue>true</defaultValue>
+        </hudson.model.BooleanParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
   </properties>
@@ -102,11 +114,22 @@
 SET MG_VER_MAJOR_MINOR_BUILD=%MG_VER_MAJOR_MINOR%.%MG_VER_BUILD%&#xd;
 SET MG_BUILD_OUTPUT_ROOT=%MG_BUILD_ARTIFACT_PATH%\mapguide&#xd;
 SET MG_BUILD_OUTPUT=%MG_BUILD_OUTPUT_ROOT%\%MG_VER_MAJOR_MINOR_BUILD%\x86\release&#xd;
-SET MG_BUILD_AREA=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86&#xd;
+SET MG_BUILD_AREA=%MG_BUILD_AREA2%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86&#xd;
 SET REVNUM_FILE=%MG_TOOL_PATH%\revnum.pl&#xd;
 SET MG_STAMP_FILE=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x86.txt&#xd;
 SET BUILD_ACTION=&#xd;
 &#xd;
+SET FDO_SRC=%MG_BUILD_ARTIFACT_PATH%\%_FDO_SRC%&#xd;
+SET MG_BUILD_SRC=%MG_SOURCES_ROOT%\%_MG_BUILD_SRC%&#xd;
+SET INSTANT_SETUP_SRC=%MG_SOURCES_ROOT%\%_INSTANT_SETUP_SRC%&#xd;
+SET MG_STAMP_FILE_SOURCE=%MG_SOURCES_ROOT%\%_MG_STAMP_FILE_SOURCE%&#xd;
+&#xd;
+echo ================== Build Vars for MapGuide ============================&#xd;
+echo FDO_SRC                  = %FDO_SRC%&#xd;
+echo MG_BUILD_SRC             = %MG_BUILD_SRC%&#xd;
+echo INSTANT_SETUP_SRC        = %INSTANT_SETUP_SRC%&#xd;
+echo MG_STAMP_FILE_SOURCE     = %MG_STAMP_FILE_SOURCE%&#xd;
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%&#xd;
 echo =================== Env Vars for MapGuide =============================&#xd;
 echo MG_VER_MAJOR_MINOR         = %MG_VER_MAJOR_MINOR%&#xd;
 echo MG_VER_MAJOR_MINOR_BUILD   = %MG_VER_MAJOR_MINOR_BUILD%&#xd;
@@ -118,6 +141,7 @@
 echo INSTANT_SETUP_SRC          = %INSTANT_SETUP_SRC%&#xd;
 echo JAVA_HOME                  = %JAVA_HOME%&#xd;
 echo ANT_HOME                   = %ANT_HOME%&#xd;
+echo MG_RUN_UNIT_TESTS          = %MG_RUN_UNIT_TESTS%&#xd;
 echo =======================================================================&#xd;
 &#xd;
 echo [prepare]: Cleaning out build artifacts&#xd;
@@ -150,19 +174,19 @@
 if "%errorlevel%"=="1" goto error&#xd;
 &#xd;
 echo [prepare]: Setup FDO in Oem&#xd;
-cd %MG_BUILD_AREA%\MgDev\Oem\FDO&#xd;
+cd /d %MG_BUILD_AREA%\MgDev\Oem\FDO&#xd;
 xcopy /S /Y /I %FDO_SRC%\Inc Inc&#xd;
 xcopy /S /Y /I %FDO_SRC%\Lib Lib&#xd;
 xcopy /S /Y /I %FDO_SRC%\Bin Bin\Release&#xd;
 xcopy /S /Y /I %FDO_SRC%\Bin\com\*.* Bin\Release\com&#xd;
 REM For release we don't want pdbs and .net assemblies&#xd;
-cd %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release&#xd;
+cd /d %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release&#xd;
 del /Q OSGeo.FDO.*&#xd;
 del /Q *.pdb&#xd;
 &#xd;
 :build_mapguide&#xd;
-cd %MG_BUILD_AREA%\MgDev&#xd;
-echo [build]: Stamp version numbers&#xd;
+cd /d %MG_BUILD_AREA%\MgDev&#xd;
+echo [build]: Stamp version numbers %MG_VER_MAJOR%.%MG_VER_MINOR%.%MG_VER_BUILD%.%MG_REVISION%&#xd;
 SET BUILD_ACTION=Stamp version numbers&#xd;
 cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION%&#xd;
 call stampassemblies.bat %MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%&#xd;
@@ -170,12 +194,12 @@
 &#xd;
 REM ========================================= MapGuide ====================================================&#xd;
 &#xd;
-cd %MG_BUILD_AREA%\MgDev&#xd;
+cd /d %MG_BUILD_AREA%\MgDev&#xd;
 echo [build]: Set env vars&#xd;
 call setenvironment.bat&#xd;
 &#xd;
 echo [build]: build oem/server/web&#xd;
-cd %MG_BUILD_AREA%\MgDev&#xd;
+cd /d %MG_BUILD_AREA%\MgDev&#xd;
 SET BUILD_ACTION=build oem/server/web&#xd;
 call build.bat&#xd;
 if "%errorlevel%"=="1" goto error&#xd;
@@ -266,7 +290,7 @@
 :copy_instantsetup_build_artifacts&#xd;
 echo [build]: Copy MgInstantSetup build artifacts&#xd;
 if not exist %MG_BUILD_OUTPUT%\Setup mkdir %MG_BUILD_OUTPUT%\Setup&#xd;
-pushd %INSTANT_SETUP_SRC%\out\release&#xd;
+pushd %INSTANT_SETUP_SRC%\InstantSetup\out\release&#xd;
 copy /Y *.exe %MG_BUILD_OUTPUT%\Setup&#xd;
 copy /Y *.pdb %MG_BUILD_OUTPUT%\Setup&#xd;
 copy /Y *.dll %MG_BUILD_OUTPUT%\Setup&#xd;
@@ -300,12 +324,21 @@
 move /Y Output\en-US\MapGuideOpenSource-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%-%RELEASE_LABEL%-x86.exe %MG_BUILD_OUTPUT_ROOT%&#xd;
 popd&#xd;
 &#xd;
+if "%MG_RUN_UNIT_TESTS%"=="false" goto end&#xd;
+:server_unit_test&#xd;
+pushd %MG_BUILD_AREA%\MgDev\Server\bin\Release&#xd;
+mgserver.exe test&#xd;
+popd&#xd;
 goto end&#xd;
 &#xd;
 :error&#xd;
 echo An error occurred while building MapGuide: %BUILD_ACTION%&#xd;
 exit /b 1&#xd;
 :end&#xd;
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (&#xd;
+    echo [prepare]: Clearing build area (%MG_BUILD_AREA%)&#xd;
+    rd /S /Q %MG_BUILD_AREA%&#xd;
+)&#xd;
 exit /b 0</command>
     </hudson.tasks.BatchFile>
   </builders>

Modified: trunk/Tools/JenkinsCI/tools/setrevnums.bat
===================================================================
--- trunk/Tools/JenkinsCI/tools/setrevnums.bat	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/tools/setrevnums.bat	2016-11-03 15:16:58 UTC (rev 9078)
@@ -1,5 +1,5 @@
 @echo off
-SET MG_SOURCES_DIR=C:\working\sources
+SET MG_SOURCES_DIR=%CD%\..\..\sources
 svn info "%MG_SOURCES_DIR%\fdo-3.9" | perl revnum.pl > "%MG_SOURCES_DIR%\fdo_39_revision.txt"
 svn info "%MG_SOURCES_DIR%\fdo-4.0" | perl revnum.pl > "%MG_SOURCES_DIR%\fdo_40_revision.txt"
 svn info "%MG_SOURCES_DIR%\fdo-4.1" | perl revnum.pl > "%MG_SOURCES_DIR%\fdo_41_revision.txt"

Modified: trunk/Tools/JenkinsCI/tools/svnupdate.bat
===================================================================
--- trunk/Tools/JenkinsCI/tools/svnupdate.bat	2016-11-03 14:47:45 UTC (rev 9077)
+++ trunk/Tools/JenkinsCI/tools/svnupdate.bat	2016-11-03 15:16:58 UTC (rev 9078)
@@ -1,5 +1,5 @@
 @echo off
-SET MG_SOURCES_DIR=C:\working\sources
+SET MG_SOURCES_DIR=%CD%\..\..\sources
 svn update "%MG_SOURCES_DIR%\fdo-3.9"
 svn update "%MG_SOURCES_DIR%\fdo-4.0"
 svn update "%MG_SOURCES_DIR%\fdo-4.1"



More information about the mapguide-commits mailing list