[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
+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
+
+SET FDO_BUILD_SRC64=%MG_SOURCES_ROOT%\%_FDO_BUILD_SRC64%
+SET FDO_STAMP_FILE_SOURCE64=%MG_SOURCES_ROOT%\%_FDO_STAMP_FILE_SOURCE64%
+
+echo ============ Build Vars for FDO =========================
+echo FDO_BUILD_SRC64 = %FDO_BUILD_SRC64%
+echo FDO_STAMP_FILE_SOURCE64 = %FDO_STAMP_FILE_SOURCE64%
+echo FDO_WORKING_AREA64 = %FDO_WORKING_AREA64%
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%
+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
+REM pushd %FDO_WORKING_AREA64%\Providers\WMS\Src\UnitTest
+REM ..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\wms_unittest.log
+REM popd
+goto end
+
+:error
+echo An error occurred while building FDO: %BUILD_ACTION%
+exit /b 1
+:end
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (
+ echo [prepare]: Clearing build area (%FDO_WORKING_AREA64%)
+ rd /S /Q %FDO_WORKING_AREA64%
+)
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
+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
+
+SET FDO_BUILD_SRC=%MG_SOURCES_ROOT%\%_FDO_BUILD_SRC%
+SET FDO_STAMP_FILE_SOURCE=%MG_SOURCES_ROOT%\%_FDO_STAMP_FILE_SOURCE%
+
+echo ============ Build Vars for FDO =========================
+echo FDO_BUILD_SRC = %FDO_BUILD_SRC%
+echo FDO_STAMP_FILE_SOURCE = %FDO_STAMP_FILE_SOURCE%
+echo FDO_WORKING_AREA = %FDO_WORKING_AREA%
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%
+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
+REM pushd %FDO_WORKING_AREA%\Providers\WMS\Src\UnitTest
+REM ..\..\Bin\Win32\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\wms_unittest.log
+REM popd
+goto end
+
+:error
+echo An error occurred while building FDO: %BUILD_ACTION%
+exit /b 1
+:end
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (
+ echo [prepare]: Clearing build area (%FDO_WORKING_AREA%)
+ rd /S /Q %FDO_WORKING_AREA%
+)
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
SET FDO_WORKING_AREA64=%MG_BUILD_AREA%\FDO\%FDO_VERSION64%\x64

+SET FDO_BUILD_SRC64=%MG_SOURCES_ROOT%\%_FDO_BUILD_SRC64%
+SET FDO_STAMP_FILE_SOURCE64=%MG_SOURCES_ROOT%\%_FDO_STAMP_FILE_SOURCE64%
+
+echo ============ Build Vars for FDO =========================
+echo FDO_BUILD_SRC64 = %FDO_BUILD_SRC64%
+echo FDO_STAMP_FILE_SOURCE64 = %FDO_STAMP_FILE_SOURCE64%
+echo FDO_WORKING_AREA64 = %FDO_WORKING_AREA64%
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%
echo ============ Env Vars for FDO Build =====================
echo FDOMYSQL = %FDOMYSQL%
echo FDOORACLE = %FDOORACLE%
@@ -155,15 +170,19 @@
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
+REM pushd %FDO_WORKING_AREA64%\Providers\WMS\Src\UnitTest
+REM ..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\wms_unittest.log
+REM popd
goto end

:error
echo An error occurred while building FDO: %BUILD_ACTION%
exit /b 1
:end
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (
+ echo [prepare]: Clearing build area (%FDO_WORKING_AREA64%)
+ rd /S /Q %FDO_WORKING_AREA64%
+)
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
SET FDO_WORKING_AREA=%MG_BUILD_AREA%\FDO\%FDO_VERSION%\x86

+SET FDO_BUILD_SRC=%MG_SOURCES_ROOT%\%_FDO_BUILD_SRC%
+SET FDO_STAMP_FILE_SOURCE=%MG_SOURCES_ROOT%\%_FDO_STAMP_FILE_SOURCE%
+
+echo ============ Build Vars for FDO =========================
+echo FDO_BUILD_SRC = %FDO_BUILD_SRC%
+echo FDO_STAMP_FILE_SOURCE = %FDO_STAMP_FILE_SOURCE%
+echo FDO_WORKING_AREA = %FDO_WORKING_AREA%
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%
echo ============ Env Vars for FDO Build =====================
echo FDOMYSQL = %FDOMYSQL%
echo FDOORACLE = %FDOORACLE%
@@ -156,15 +171,19 @@
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
+REM pushd %FDO_WORKING_AREA%\Providers\WMS\Src\UnitTest
+REM ..\..\Bin\Win32\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT%\wms_unittest.log
+REM popd
goto end

:error
echo An error occurred while building FDO: %BUILD_ACTION%
exit /b 1
:end
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (
+ echo [prepare]: Clearing build area (%FDO_WORKING_AREA%)
+ rd /S /Q %FDO_WORKING_AREA%
+)
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
SET FDO_WORKING_AREA64=%MG_BUILD_AREA%\FDO\%FDO_VERSION64%\x64

+SET FDO_BUILD_SRC64=%MG_SOURCES_ROOT%\%_FDO_BUILD_SRC64%
+SET FDO_STAMP_FILE_SOURCE64=%MG_SOURCES_ROOT%\%_FDO_STAMP_FILE_SOURCE64%
+
+echo ============ Build Vars for FDO =========================
+echo FDO_BUILD_SRC64 = %FDO_BUILD_SRC64%
+echo FDO_STAMP_FILE_SOURCE64 = %FDO_STAMP_FILE_SOURCE64%
+echo FDO_WORKING_AREA64 = %FDO_WORKING_AREA64%
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%
echo ============ Env Vars for FDO Build =====================
echo FDOMYSQL = %FDOMYSQL%
echo FDOORACLE = %FDOORACLE%
@@ -155,15 +170,19 @@
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
+REM pushd %FDO_WORKING_AREA64%\Providers\WMS\Src\UnitTest
+REM ..\..\Bin\Win64\Release\UnitTest.exe -NoWAIT > %FDO_BUILD_OUTPUT64%\wms_unittest.log
+REM popd
goto end

:error
echo An error occurred while building FDO: %BUILD_ACTION%
exit /b 1
:end
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (
+ echo [prepare]: Clearing build area (%FDO_WORKING_AREA64%)
+ rd /S /Q %FDO_WORKING_AREA64%
+)
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
SET FDO_WORKING_AREA=%MG_BUILD_AREA%\FDO\%FDO_VERSION%\x86

+SET FDO_BUILD_SRC=%MG_SOURCES_ROOT%\%_FDO_BUILD_SRC%
+SET FDO_STAMP_FILE_SOURCE=%MG_SOURCES_ROOT%\%_FDO_STAMP_FILE_SOURCE%
+
+echo ============ Build Vars for FDO =========================
+echo FDO_BUILD_SRC = %FDO_BUILD_SRC%
+echo FDO_STAMP_FILE_SOURCE = %FDO_STAMP_FILE_SOURCE%
+echo FDO_WORKING_AREA = %FDO_WORKING_AREA%
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%
echo ============ Env Vars for FDO Build =====================
echo FDOMYSQL = %FDOMYSQL%
echo FDOORACLE = %FDOORACLE%
@@ -165,6 +180,10 @@
echo An error occurred while building FDO: %BUILD_ACTION%
exit /b 1
:end
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (
+ echo [prepare]: Clearing build area (%FDO_WORKING_AREA%)
+ rd /S /Q %FDO_WORKING_AREA%
+)
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
SET FDO_WORKING_AREA64=%MG_BUILD_AREA%\FDO\%FDO_VERSION64%\x64

+SET FDO_BUILD_SRC64=%MG_SOURCES_ROOT%\%_FDO_BUILD_SRC64%
+SET FDO_STAMP_FILE_SOURCE64=%MG_SOURCES_ROOT%\%_FDO_STAMP_FILE_SOURCE64%
+
+echo ============ Build Vars for FDO =========================
+echo FDO_BUILD_SRC64 = %FDO_BUILD_SRC64%
+echo FDO_STAMP_FILE_SOURCE64 = %FDO_STAMP_FILE_SOURCE64%
+echo FDO_WORKING_AREA64 = %FDO_WORKING_AREA64%
echo ============ Env Vars for FDO Build =====================
echo FDOMYSQL = %FDOMYSQL%
echo FDOORACLE = %FDOORACLE%
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
SET FDO_WORKING_AREA=%MG_BUILD_AREA%\FDO\%FDO_VERSION%\x86

+SET FDO_BUILD_SRC=%MG_SOURCES_ROOT%\%_FDO_BUILD_SRC%
+SET FDO_STAMP_FILE_SOURCE=%MG_SOURCES_ROOT%\%_FDO_STAMP_FILE_SOURCE%
+
+echo ============ Build Vars for FDO =========================
+echo FDO_BUILD_SRC = %FDO_BUILD_SRC%
+echo FDO_STAMP_FILE_SOURCE = %FDO_STAMP_FILE_SOURCE%
+echo FDO_WORKING_AREA = %FDO_WORKING_AREA%
echo ============ Env Vars for FDO Build =====================
echo FDOMYSQL = %FDOMYSQL%
echo FDOORACLE = %FDOORACLE%
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
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" .
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%
SET MG_BUILD_OUTPUT_ROOT64=%MG_BUILD_ARTIFACT_PATH%\mapguide
SET MG_BUILD_OUTPUT64=%MG_BUILD_OUTPUT_ROOT64%\%MG_VER_MAJOR_MINOR_BUILD%\x64\release
-SET MG_BUILD_AREA64=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x64
+SET MG_BUILD_AREA64=%MG_BUILD_AREA2%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x64
SET REVNUM_FILE64=%MG_TOOL_PATH%\revnum.pl
SET MG_STAMP_FILE64=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x64.txt
SET BUILD_ACTION=

+SET FDO_SRC64=%MG_BUILD_ARTIFACT_PATH%\%_FDO_SRC64%
+SET MG_BUILD_SRC64=%MG_SOURCES_ROOT%\%_MG_BUILD_SRC64%
+SET INSTANT_SETUP_SRC=%MG_SOURCES_ROOT%\%_INSTANT_SETUP_SRC%
+SET MG_STAMP_FILE_SOURCE64=%MG_SOURCES_ROOT%\%_MG_STAMP_FILE_SOURCE64%
+
+echo ================== Build Vars for MapGuide ============================
+echo FDO_SRC64 = %FDO_SRC64%
+echo MG_BUILD_SRC64 = %MG_BUILD_SRC64%
+echo INSTANT_SETUP_SRC = %INSTANT_SETUP_SRC%
+echo MG_STAMP_FILE_SOURCE64 = %MG_STAMP_FILE_SOURCE64%
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%
echo =================== Env Vars for MapGuide =============================
echo MG_VER_MAJOR_MINOR = %MG_VER_MAJOR_MINOR%
echo MG_VER_MAJOR_MINOR_BUILD = %MG_VER_MAJOR_MINOR_BUILD%
@@ -151,18 +169,18 @@
if "%errorlevel%"=="1" goto error

echo [prepare]: Setup FDO in Oem
-cd %MG_BUILD_AREA64%\MgDev\Oem\FDO
+cd /d %MG_BUILD_AREA64%\MgDev\Oem\FDO
xcopy /S /Y /I %FDO_SRC64%\Inc Inc
xcopy /S /Y /I %FDO_SRC64%\Lib Lib64
xcopy /S /Y /I %FDO_SRC64%\Bin Bin\Release64
xcopy /S /Y /I %FDO_SRC64%\Bin\com\*.* Bin\Release64\com
REM For release we don't want pdbs and .net assemblies
-cd %MG_BUILD_AREA64%\MgDev\Oem\FDO\Bin\Release64
+cd /d %MG_BUILD_AREA64%\MgDev\Oem\FDO\Bin\Release64
del /Q OSGeo.FDO.*
del /Q *.pdb

:build_mapguide
-cd %MG_BUILD_AREA64%\MgDev
+cd /d %MG_BUILD_AREA64%\MgDev
echo [build]: Stamp version numbers
SET BUILD_ACTION=Stamp version numbers %MG_VER_MAJOR%.%MG_VER_MINOR%.%MG_VER_BUILD%.%MG_REVISION64%
cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION64%
@@ -171,12 +189,12 @@

REM ========================================= MapGuide ====================================================

-cd %MG_BUILD_AREA64%\MgDev
+cd /d %MG_BUILD_AREA64%\MgDev
echo [build]: Set env vars
call setenvironment64.bat

echo [build]: build oem/server/web
-cd %MG_BUILD_AREA64%\MgDev
+cd /d %MG_BUILD_AREA64%\MgDev
SET BUILD_ACTION=build oem/server/web
call build.bat
if "%errorlevel%"=="1" goto error
@@ -307,6 +325,10 @@
echo An error occurred while building MapGuide: %BUILD_ACTION%
exit /b 1
:end
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (
+ echo [prepare]: Clearing build area (%MG_BUILD_AREA64%)
+ rd /S /Q %MG_BUILD_AREA64%
+)
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%
SET MG_BUILD_OUTPUT_ROOT=%MG_BUILD_ARTIFACT_PATH%\mapguide
SET MG_BUILD_OUTPUT=%MG_BUILD_OUTPUT_ROOT%\%MG_VER_MAJOR_MINOR_BUILD%\x86\release
-SET MG_BUILD_AREA=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86
+SET MG_BUILD_AREA=%MG_BUILD_AREA2%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86
SET REVNUM_FILE=%MG_TOOL_PATH%\revnum.pl
SET MG_STAMP_FILE=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x86.txt
SET BUILD_ACTION=

+SET FDO_SRC=%MG_BUILD_ARTIFACT_PATH%\%_FDO_SRC%
+SET MG_BUILD_SRC=%MG_SOURCES_ROOT%\%_MG_BUILD_SRC%
+SET INSTANT_SETUP_SRC=%MG_SOURCES_ROOT%\%_INSTANT_SETUP_SRC%
+SET MG_STAMP_FILE_SOURCE=%MG_SOURCES_ROOT%\%_MG_STAMP_FILE_SOURCE%
+
+echo ================== Build Vars for MapGuide ============================
+echo FDO_SRC = %FDO_SRC%
+echo MG_BUILD_SRC = %MG_BUILD_SRC%
+echo INSTANT_SETUP_SRC = %INSTANT_SETUP_SRC%
+echo MG_STAMP_FILE_SOURCE = %MG_STAMP_FILE_SOURCE%
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%
echo =================== Env Vars for MapGuide =============================
echo MG_VER_MAJOR_MINOR = %MG_VER_MAJOR_MINOR%
echo MG_VER_MAJOR_MINOR_BUILD = %MG_VER_MAJOR_MINOR_BUILD%
@@ -151,18 +169,18 @@
if "%errorlevel%"=="1" goto error

echo [prepare]: Setup FDO in Oem
-cd %MG_BUILD_AREA%\MgDev\Oem\FDO
+cd /d %MG_BUILD_AREA%\MgDev\Oem\FDO
xcopy /S /Y /I %FDO_SRC%\Inc Inc
xcopy /S /Y /I %FDO_SRC%\Lib Lib
xcopy /S /Y /I %FDO_SRC%\Bin Bin\Release
xcopy /S /Y /I %FDO_SRC%\Bin\com\*.* Bin\Release\com
REM For release we don't want pdbs and .net assemblies
-cd %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release
+cd /d %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release
del /Q OSGeo.FDO.*
del /Q *.pdb

:build_mapguide
-cd %MG_BUILD_AREA%\MgDev
+cd /d %MG_BUILD_AREA%\MgDev
echo [build]: Stamp version numbers %MG_VER_MAJOR%.%MG_VER_MINOR%.%MG_VER_BUILD%.%MG_REVISION%
SET BUILD_ACTION=Stamp version numbers
cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION%
@@ -171,12 +189,12 @@

REM ========================================= MapGuide ====================================================

-cd %MG_BUILD_AREA%\MgDev
+cd /d %MG_BUILD_AREA%\MgDev
echo [build]: Set env vars
call setenvironment.bat

echo [build]: build oem/server/web
-cd %MG_BUILD_AREA%\MgDev
+cd /d %MG_BUILD_AREA%\MgDev
SET BUILD_ACTION=build oem/server/web
call build.bat
if "%errorlevel%"=="1" goto error
@@ -307,6 +325,10 @@
echo An error occurred while building MapGuide: %BUILD_ACTION%
exit /b 1
:end
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (
+ echo [prepare]: Clearing build area (%MG_BUILD_AREA%)
+ rd /S /Q %MG_BUILD_AREA%
+)
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%
SET MG_BUILD_OUTPUT_ROOT64=%MG_BUILD_ARTIFACT_PATH%\mapguide
SET MG_BUILD_OUTPUT64=%MG_BUILD_OUTPUT_ROOT64%\%MG_VER_MAJOR_MINOR_BUILD%\x64\release
-SET MG_BUILD_AREA64=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x64
+SET MG_BUILD_AREA64=%MG_BUILD_AREA2%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x64
SET REVNUM_FILE64=%MG_TOOL_PATH%\revnum.pl
SET MG_STAMP_FILE64=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x64.txt
SET BUILD_ACTION=

+SET FDO_SRC64=%MG_BUILD_ARTIFACT_PATH%\%_FDO_SRC64%
+SET MG_BUILD_SRC64=%MG_SOURCES_ROOT%\%_MG_BUILD_SRC64%
+SET INSTANT_SETUP_SRC=%MG_SOURCES_ROOT%\%_INSTANT_SETUP_SRC%
+SET MG_STAMP_FILE_SOURCE64=%MG_SOURCES_ROOT%\%_MG_STAMP_FILE_SOURCE64%
+
+echo ================== Build Vars for MapGuide ============================
+echo FDO_SRC64 = %FDO_SRC64%
+echo MG_BUILD_SRC64 = %MG_BUILD_SRC64%
+echo INSTANT_SETUP_SRC = %INSTANT_SETUP_SRC%
+echo MG_STAMP_FILE_SOURCE64 = %MG_STAMP_FILE_SOURCE64%
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%
echo =================== Env Vars for MapGuide =============================
echo MG_VER_MAJOR_MINOR = %MG_VER_MAJOR_MINOR%
echo MG_VER_MAJOR_MINOR_BUILD = %MG_VER_MAJOR_MINOR_BUILD%
@@ -114,6 +137,7 @@
echo INSTANT_SETUP_SRC = %INSTANT_SETUP_SRC%
echo JAVA_HOME = %JAVA_HOME%
echo ANT_HOME = %ANT_HOME%
+echo MG_RUN_UNIT_TESTS64 = %MG_RUN_UNIT_TESTS64%
echo =======================================================================

echo [prepare]: Cleaning out build artifacts
@@ -145,32 +169,32 @@
if "%errorlevel%"=="1" goto error

echo [prepare]: Setup FDO in Oem
-cd %MG_BUILD_AREA64%\MgDev\Oem\FDO
+cd /d %MG_BUILD_AREA64%\MgDev\Oem\FDO
xcopy /S /Y /I %FDO_SRC64%\Inc Inc
xcopy /S /Y /I %FDO_SRC64%\Lib Lib64
xcopy /S /Y /I %FDO_SRC64%\Bin Bin\Release64
xcopy /S /Y /I %FDO_SRC64%\Bin\com\*.* Bin\Release64\com
REM For release we don't want pdbs and .net assemblies
-cd %MG_BUILD_AREA64%\MgDev\Oem\FDO\Bin\Release64
+cd /d %MG_BUILD_AREA64%\MgDev\Oem\FDO\Bin\Release64
del /Q OSGeo.FDO.*
del /Q *.pdb

:build_mapguide
-cd %MG_BUILD_AREA64%\MgDev
+cd /d %MG_BUILD_AREA64%\MgDev
echo [build]: Stamp version numbers
-SET BUILD_ACTION=Stamp version numbers
+SET BUILD_ACTION=Stamp version numbers %MG_VER_MAJOR%.%MG_VER_MINOR%.%MG_VER_BUILD%.%MG_REVISION64%
cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION64%
call stampassemblies.bat %MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64%
if "%errorlevel%"=="1" goto error

REM ========================================= MapGuide ====================================================

-cd %MG_BUILD_AREA64%\MgDev
+cd /d %MG_BUILD_AREA64%\MgDev
echo [build]: Set env vars
call setenvironment64.bat

echo [build]: build oem/server/web
-cd %MG_BUILD_AREA64%\MgDev
+cd /d %MG_BUILD_AREA64%\MgDev
SET BUILD_ACTION=build oem/server/web
call build.bat
if "%errorlevel%"=="1" goto error
@@ -261,7 +285,7 @@
:copy_instantsetup_build_artifacts
echo [build]: Copy MgInstantSetup build artifacts
if not exist %MG_BUILD_OUTPUT64%\Setup mkdir %MG_BUILD_OUTPUT64%\Setup
-pushd %INSTANT_SETUP_SRC%\out\release
+pushd %INSTANT_SETUP_SRC%\InstantSetup\out\release
copy /Y *.exe %MG_BUILD_OUTPUT64%\Setup
copy /Y *.pdb %MG_BUILD_OUTPUT64%\Setup
copy /Y *.dll %MG_BUILD_OUTPUT64%\Setup
@@ -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%
popd

+if "%MG_RUN_UNIT_TESTS64%"=="false" goto end
+:server_unit_test
+pushd %MG_BUILD_AREA64%\MgDev\Server\bin\Release64
+mgserver.exe test
+popd
goto end

:error
echo An error occurred while building MapGuide: %BUILD_ACTION%
exit /b 1
:end
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (
+ echo [prepare]: Clearing build area (%MG_BUILD_AREA64%)
+ rd /S /Q %MG_BUILD_AREA64%
+)
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%
SET MG_BUILD_OUTPUT_ROOT=%MG_BUILD_ARTIFACT_PATH%\mapguide
SET MG_BUILD_OUTPUT=%MG_BUILD_OUTPUT_ROOT%\%MG_VER_MAJOR_MINOR_BUILD%\x86\release
-SET MG_BUILD_AREA=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86
+SET MG_BUILD_AREA=%MG_BUILD_AREA2%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86
SET REVNUM_FILE=%MG_TOOL_PATH%\revnum.pl
SET MG_STAMP_FILE=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x86.txt
SET BUILD_ACTION=

+SET FDO_SRC=%MG_BUILD_ARTIFACT_PATH%\%_FDO_SRC%
+SET MG_BUILD_SRC=%MG_SOURCES_ROOT%\%_MG_BUILD_SRC%
+SET INSTANT_SETUP_SRC=%MG_SOURCES_ROOT%\%_INSTANT_SETUP_SRC%
+SET MG_STAMP_FILE_SOURCE=%MG_SOURCES_ROOT%\%_MG_STAMP_FILE_SOURCE%
+
+echo ================== Build Vars for MapGuide ============================
+echo FDO_SRC = %FDO_SRC%
+echo MG_BUILD_SRC = %MG_BUILD_SRC%
+echo INSTANT_SETUP_SRC = %INSTANT_SETUP_SRC%
+echo MG_STAMP_FILE_SOURCE = %MG_STAMP_FILE_SOURCE%
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%
echo =================== Env Vars for MapGuide =============================
echo MG_VER_MAJOR_MINOR = %MG_VER_MAJOR_MINOR%
echo MG_VER_MAJOR_MINOR_BUILD = %MG_VER_MAJOR_MINOR_BUILD%
@@ -113,6 +136,7 @@
echo INSTANT_SETUP_SRC = %INSTANT_SETUP_SRC%
echo JAVA_HOME = %JAVA_HOME%
echo ANT_HOME = %ANT_HOME%
+echo MG_RUN_UNIT_TESTS = %MG_RUN_UNIT_TESTS%
echo =======================================================================

echo [prepare]: Cleaning out build artifacts
@@ -145,19 +169,19 @@
if "%errorlevel%"=="1" goto error

echo [prepare]: Setup FDO in Oem
-cd %MG_BUILD_AREA%\MgDev\Oem\FDO
+cd /d %MG_BUILD_AREA%\MgDev\Oem\FDO
xcopy /S /Y /I %FDO_SRC%\Inc Inc
xcopy /S /Y /I %FDO_SRC%\Lib Lib
xcopy /S /Y /I %FDO_SRC%\Bin Bin\Release
xcopy /S /Y /I %FDO_SRC%\Bin\com\*.* Bin\Release\com
REM For release we don't want pdbs and .net assemblies
-cd %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release
+cd /d %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release
del /Q OSGeo.FDO.*
del /Q *.pdb

:build_mapguide
-cd %MG_BUILD_AREA%\MgDev
-echo [build]: Stamp version numbers
+cd /d %MG_BUILD_AREA%\MgDev
+echo [build]: Stamp version numbers %MG_VER_MAJOR%.%MG_VER_MINOR%.%MG_VER_BUILD%.%MG_REVISION%
SET BUILD_ACTION=Stamp version numbers
cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION%
call stampassemblies.bat %MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%
@@ -165,12 +189,12 @@

REM ========================================= MapGuide ====================================================

-cd %MG_BUILD_AREA%\MgDev
+cd /d %MG_BUILD_AREA%\MgDev
echo [build]: Set env vars
call setenvironment.bat

echo [build]: build oem/server/web
-cd %MG_BUILD_AREA%\MgDev
+cd /d %MG_BUILD_AREA%\MgDev
SET BUILD_ACTION=build oem/server/web
call build.bat
if "%errorlevel%"=="1" goto error
@@ -261,7 +285,7 @@
:copy_instantsetup_build_artifacts
echo [build]: Copy MgInstantSetup build artifacts
if not exist %MG_BUILD_OUTPUT%\Setup mkdir %MG_BUILD_OUTPUT%\Setup
-pushd %INSTANT_SETUP_SRC%\out\release
+pushd %INSTANT_SETUP_SRC%\InstantSetup\out\release
copy /Y *.exe %MG_BUILD_OUTPUT%\Setup
copy /Y *.pdb %MG_BUILD_OUTPUT%\Setup
copy /Y *.dll %MG_BUILD_OUTPUT%\Setup
@@ -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%
popd

+if "%MG_RUN_UNIT_TESTS%"=="false" goto end
+:server_unit_test
+pushd %MG_BUILD_AREA%\MgDev\Server\bin\Release
+mgserver.exe test
+popd
goto end

:error
echo An error occurred while building MapGuide: %BUILD_ACTION%
exit /b 1
:end
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (
+ echo [prepare]: Clearing build area (%MG_BUILD_AREA%)
+ rd /S /Q %MG_BUILD_AREA%
+)
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%
SET MG_BUILD_OUTPUT_ROOT64=%MG_BUILD_ARTIFACT_PATH%\mapguide
SET MG_BUILD_OUTPUT64=%MG_BUILD_OUTPUT_ROOT64%\%MG_VER_MAJOR_MINOR_BUILD%\x64\release
-SET MG_BUILD_AREA64=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x64
+SET MG_BUILD_AREA64=%MG_BUILD_AREA2%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x64
SET REVNUM_FILE64=%MG_TOOL_PATH%\revnum.pl
SET MG_STAMP_FILE64=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x64.txt
SET BUILD_ACTION=

+SET FDO_SRC64=%MG_BUILD_ARTIFACT_PATH%\%_FDO_SRC64%
+SET MG_BUILD_SRC64=%MG_SOURCES_ROOT%\%_MG_BUILD_SRC64%
+SET INSTANT_SETUP_SRC=%MG_SOURCES_ROOT%\%_INSTANT_SETUP_SRC%
+SET MG_STAMP_FILE_SOURCE64=%MG_SOURCES_ROOT%\%_MG_STAMP_FILE_SOURCE64%
+
+echo ================== Build Vars for MapGuide ============================
+echo FDO_SRC64 = %FDO_SRC64%
+echo MG_BUILD_SRC64 = %MG_BUILD_SRC64%
+echo INSTANT_SETUP_SRC = %INSTANT_SETUP_SRC%
+echo MG_STAMP_FILE_SOURCE64 = %MG_STAMP_FILE_SOURCE64%
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%
echo =================== Env Vars for MapGuide =============================
echo MG_VER_MAJOR_MINOR = %MG_VER_MAJOR_MINOR%
echo MG_VER_MAJOR_MINOR_BUILD = %MG_VER_MAJOR_MINOR_BUILD%
@@ -114,6 +143,7 @@
echo INSTANT_SETUP_SRC = %INSTANT_SETUP_SRC%
echo JAVA_HOME = %JAVA_HOME%
echo ANT_HOME = %ANT_HOME%
+echo MG_RUN_UNIT_TESTS64 = %MG_RUN_UNIT_TESTS64%
echo =======================================================================

echo [prepare]: Cleaning out build artifacts
@@ -145,32 +175,32 @@
if "%errorlevel%"=="1" goto error

echo [prepare]: Setup FDO in Oem
-cd %MG_BUILD_AREA64%\MgDev\Oem\FDO
+cd /d %MG_BUILD_AREA64%\MgDev\Oem\FDO
xcopy /S /Y /I %FDO_SRC64%\Inc Inc
xcopy /S /Y /I %FDO_SRC64%\Lib Lib64
xcopy /S /Y /I %FDO_SRC64%\Bin Bin\Release64
xcopy /S /Y /I %FDO_SRC64%\Bin\com\*.* Bin\Release64\com
REM For release we don't want pdbs and .net assemblies
-cd %MG_BUILD_AREA64%\MgDev\Oem\FDO\Bin\Release64
+cd /d %MG_BUILD_AREA64%\MgDev\Oem\FDO\Bin\Release64
del /Q OSGeo.FDO.*
del /Q *.pdb

:build_mapguide
-cd %MG_BUILD_AREA64%\MgDev
+cd /d %MG_BUILD_AREA64%\MgDev
echo [build]: Stamp version numbers
-SET BUILD_ACTION=Stamp version numbers
+SET BUILD_ACTION=Stamp version numbers %MG_VER_MAJOR%.%MG_VER_MINOR%.%MG_VER_BUILD%.%MG_REVISION64%
cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION64%
call stampassemblies.bat %MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64%
if "%errorlevel%"=="1" goto error

REM ========================================= MapGuide ====================================================

-cd %MG_BUILD_AREA64%\MgDev
+cd /d %MG_BUILD_AREA64%\MgDev
echo [build]: Set env vars
call setenvironment64.bat

echo [build]: build oem/server/web
-cd %MG_BUILD_AREA64%\MgDev
+cd /d %MG_BUILD_AREA64%\MgDev
SET BUILD_ACTION=build oem/server/web
call build.bat
if "%errorlevel%"=="1" goto error
@@ -261,7 +291,7 @@
:copy_instantsetup_build_artifacts
echo [build]: Copy MgInstantSetup build artifacts
if not exist %MG_BUILD_OUTPUT64%\Setup mkdir %MG_BUILD_OUTPUT64%\Setup
-pushd %INSTANT_SETUP_SRC%\out\release
+pushd %INSTANT_SETUP_SRC%\InstantSetup\out\release
copy /Y *.exe %MG_BUILD_OUTPUT64%\Setup
copy /Y *.pdb %MG_BUILD_OUTPUT64%\Setup
copy /Y *.dll %MG_BUILD_OUTPUT64%\Setup
@@ -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%
popd

+if "%MG_RUN_UNIT_TESTS64%"=="false" goto end
+:server_unit_test
+pushd %MG_BUILD_AREA64%\MgDev\Server\bin\Release64
+mgserver.exe test
+popd
goto end

:error
echo An error occurred while building MapGuide: %BUILD_ACTION%
exit /b 1
:end
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (
+ echo [prepare]: Clearing build area (%MG_BUILD_AREA64%)
+ rd /S /Q %MG_BUILD_AREA64%
+)
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%
SET MG_BUILD_OUTPUT_ROOT=%MG_BUILD_ARTIFACT_PATH%\mapguide
SET MG_BUILD_OUTPUT=%MG_BUILD_OUTPUT_ROOT%\%MG_VER_MAJOR_MINOR_BUILD%\x86\release
-SET MG_BUILD_AREA=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86
+SET MG_BUILD_AREA=%MG_BUILD_AREA2%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86
SET REVNUM_FILE=%MG_TOOL_PATH%\revnum.pl
SET MG_STAMP_FILE=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x86.txt
SET BUILD_ACTION=

+SET FDO_SRC=%MG_BUILD_ARTIFACT_PATH%\%_FDO_SRC%
+SET MG_BUILD_SRC=%MG_SOURCES_ROOT%\%_MG_BUILD_SRC%
+SET INSTANT_SETUP_SRC=%MG_SOURCES_ROOT%\%_INSTANT_SETUP_SRC%
+SET MG_STAMP_FILE_SOURCE=%MG_SOURCES_ROOT%\%_MG_STAMP_FILE_SOURCE%
+
+echo ================== Build Vars for MapGuide ============================
+echo FDO_SRC = %FDO_SRC%
+echo MG_BUILD_SRC = %MG_BUILD_SRC%
+echo INSTANT_SETUP_SRC = %INSTANT_SETUP_SRC%
+echo MG_STAMP_FILE_SOURCE = %MG_STAMP_FILE_SOURCE%
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%
echo =================== Env Vars for MapGuide =============================
echo MG_VER_MAJOR_MINOR = %MG_VER_MAJOR_MINOR%
echo MG_VER_MAJOR_MINOR_BUILD = %MG_VER_MAJOR_MINOR_BUILD%
@@ -113,6 +141,7 @@
echo INSTANT_SETUP_SRC = %INSTANT_SETUP_SRC%
echo JAVA_HOME = %JAVA_HOME%
echo ANT_HOME = %ANT_HOME%
+echo MG_RUN_UNIT_TESTS = %MG_RUN_UNIT_TESTS%
echo =======================================================================

echo [prepare]: Cleaning out build artifacts
@@ -145,19 +174,19 @@
if "%errorlevel%"=="1" goto error

echo [prepare]: Setup FDO in Oem
-cd %MG_BUILD_AREA%\MgDev\Oem\FDO
+cd /d %MG_BUILD_AREA%\MgDev\Oem\FDO
xcopy /S /Y /I %FDO_SRC%\Inc Inc
xcopy /S /Y /I %FDO_SRC%\Lib Lib
xcopy /S /Y /I %FDO_SRC%\Bin Bin\Release
xcopy /S /Y /I %FDO_SRC%\Bin\com\*.* Bin\Release\com
REM For release we don't want pdbs and .net assemblies
-cd %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release
+cd /d %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release
del /Q OSGeo.FDO.*
del /Q *.pdb

:build_mapguide
-cd %MG_BUILD_AREA%\MgDev
-echo [build]: Stamp version numbers
+cd /d %MG_BUILD_AREA%\MgDev
+echo [build]: Stamp version numbers %MG_VER_MAJOR%.%MG_VER_MINOR%.%MG_VER_BUILD%.%MG_REVISION%
SET BUILD_ACTION=Stamp version numbers
cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION%
call stampassemblies.bat %MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%
@@ -165,12 +194,12 @@

REM ========================================= MapGuide ====================================================

-cd %MG_BUILD_AREA%\MgDev
+cd /d %MG_BUILD_AREA%\MgDev
echo [build]: Set env vars
call setenvironment.bat

echo [build]: build oem/server/web
-cd %MG_BUILD_AREA%\MgDev
+cd /d %MG_BUILD_AREA%\MgDev
SET BUILD_ACTION=build oem/server/web
call build.bat
if "%errorlevel%"=="1" goto error
@@ -222,7 +251,7 @@
pushd %MG_BUILD_AREA%\MgDev\Release
echo [build]: Copy mg-desktop build artifacts (zip dist)
SET BUILD_ACTION=Copy mg-desktop build artifacts (zip dist)
-7z a -mx9 %MG_BUILD_ARTIFACT_PATH%\mg-desktop\mg-desktop-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%-net40-vc11-x86.zip Desktop DesktopSamples
+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
if "%errorlevel%"=="1" goto error
popd

@@ -261,7 +290,7 @@
:copy_instantsetup_build_artifacts
echo [build]: Copy MgInstantSetup build artifacts
if not exist %MG_BUILD_OUTPUT%\Setup mkdir %MG_BUILD_OUTPUT%\Setup
-pushd %INSTANT_SETUP_SRC%\out\release
+pushd %INSTANT_SETUP_SRC%\InstantSetup\out\release
copy /Y *.exe %MG_BUILD_OUTPUT%\Setup
copy /Y *.pdb %MG_BUILD_OUTPUT%\Setup
copy /Y *.dll %MG_BUILD_OUTPUT%\Setup
@@ -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%
popd

+if "%MG_RUN_UNIT_TESTS%"=="false" goto end
+:server_unit_test
+pushd %MG_BUILD_AREA%\MgDev\Server\bin\Release
+mgserver.exe test
+popd
goto end

:error
echo An error occurred while building MapGuide: %BUILD_ACTION%
exit /b 1
:end
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (
+ echo [prepare]: Clearing build area (%MG_BUILD_AREA%)
+ rd /S /Q %MG_BUILD_AREA%
+)
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%
SET MG_BUILD_OUTPUT_ROOT64=%MG_BUILD_ARTIFACT_PATH%\mapguide
SET MG_BUILD_OUTPUT64=%MG_BUILD_OUTPUT_ROOT64%\%MG_VER_MAJOR_MINOR_BUILD%\x64\release
-SET MG_BUILD_AREA64=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x64
+SET MG_BUILD_AREA64=%MG_BUILD_AREA2%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x64
SET REVNUM_FILE64=%MG_TOOL_PATH%\revnum.pl
SET MG_STAMP_FILE64=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x64.txt
SET BUILD_ACTION=

+SET FDO_SRC64=%MG_BUILD_ARTIFACT_PATH%\%_FDO_SRC64%
+SET MG_BUILD_SRC64=%MG_SOURCES_ROOT%\%_MG_BUILD_SRC64%
+SET INSTANT_SETUP_SRC=%MG_SOURCES_ROOT%\%_INSTANT_SETUP_SRC%
+SET MG_STAMP_FILE_SOURCE64=%MG_SOURCES_ROOT%\%_MG_STAMP_FILE_SOURCE64%
+
+echo ================== Build Vars for MapGuide ============================
+echo FDO_SRC64 = %FDO_SRC64%
+echo MG_BUILD_SRC64 = %MG_BUILD_SRC64%
+echo INSTANT_SETUP_SRC = %INSTANT_SETUP_SRC%
+echo MG_STAMP_FILE_SOURCE64 = %MG_STAMP_FILE_SOURCE64%
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%
echo =================== Env Vars for MapGuide =============================
echo MG_VER_MAJOR_MINOR = %MG_VER_MAJOR_MINOR%
echo MG_VER_MAJOR_MINOR_BUILD = %MG_VER_MAJOR_MINOR_BUILD%
@@ -119,6 +142,7 @@
echo INSTANT_SETUP_SRC = %INSTANT_SETUP_SRC%
echo JAVA_HOME = %JAVA_HOME%
echo ANT_HOME = %ANT_HOME%
+echo MG_RUN_UNIT_TESTS64 = %MG_RUN_UNIT_TESTS64%
echo =======================================================================

echo [prepare]: Cleaning out build artifacts
@@ -150,32 +174,32 @@
if "%errorlevel%"=="1" goto error

echo [prepare]: Setup FDO in Oem
-cd %MG_BUILD_AREA64%\MgDev\Oem\FDO
+cd /d %MG_BUILD_AREA64%\MgDev\Oem\FDO
xcopy /S /Y /I %FDO_SRC64%\Inc Inc
xcopy /S /Y /I %FDO_SRC64%\Lib Lib64
xcopy /S /Y /I %FDO_SRC64%\Bin Bin\Release64
xcopy /S /Y /I %FDO_SRC64%\Bin\com\*.* Bin\Release64\com
REM For release we don't want pdbs and .net assemblies
-cd %MG_BUILD_AREA64%\MgDev\Oem\FDO\Bin\Release64
+cd /d %MG_BUILD_AREA64%\MgDev\Oem\FDO\Bin\Release64
del /Q OSGeo.FDO.*
del /Q *.pdb

:build_mapguide
-cd %MG_BUILD_AREA64%\MgDev
+cd /d %MG_BUILD_AREA64%\MgDev
echo [build]: Stamp version numbers
-SET BUILD_ACTION=Stamp version numbers
+SET BUILD_ACTION=Stamp version numbers %MG_VER_MAJOR%.%MG_VER_MINOR%.%MG_VER_BUILD%.%MG_REVISION64%
cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION64%
call stampassemblies.bat %MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64%
if "%errorlevel%"=="1" goto error

REM ========================================= MapGuide ====================================================

-cd %MG_BUILD_AREA64%\MgDev
+cd /d %MG_BUILD_AREA64%\MgDev
echo [build]: Set env vars
call setenvironment64.bat

echo [build]: build oem/server/web
-cd %MG_BUILD_AREA64%\MgDev
+cd /d %MG_BUILD_AREA64%\MgDev
SET BUILD_ACTION=build oem/server/web
call build.bat
if "%errorlevel%"=="1" goto error
@@ -227,7 +251,7 @@
pushd %MG_BUILD_AREA64%\MgDev\Release64
echo [build]: Copy mg-desktop build artifacts (zip dist)
SET BUILD_ACTION=Copy mg-desktop build artifacts (zip dist)
-7z a -mx9 %MG_BUILD_ARTIFACT_PATH%\mg-desktop\mg-desktop-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64%-net40-%MG_VS_SUFFIX64%-x64.zip Desktop DesktopSamples
+7z a -mx9 %MG_BUILD_ARTIFACT_PATH%\mg-desktop\mg-desktop-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64%-net40-vc11-x64.zip Desktop DesktopSamples
if "%errorlevel%"=="1" goto error
popd

@@ -266,7 +290,7 @@
:copy_instantsetup_build_artifacts
echo [build]: Copy MgInstantSetup build artifacts
if not exist %MG_BUILD_OUTPUT64%\Setup mkdir %MG_BUILD_OUTPUT64%\Setup
-pushd %INSTANT_SETUP_SRC%\out\release
+pushd %INSTANT_SETUP_SRC%\InstantSetup\out\release
copy /Y *.exe %MG_BUILD_OUTPUT64%\Setup
copy /Y *.pdb %MG_BUILD_OUTPUT64%\Setup
copy /Y *.dll %MG_BUILD_OUTPUT64%\Setup
@@ -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%
popd

+if "%MG_RUN_UNIT_TESTS64%"=="false" goto end
+:server_unit_test
+pushd %MG_BUILD_AREA64%\MgDev\Server\bin\Release64
+mgserver.exe test
+popd
goto end

:error
echo An error occurred while building MapGuide: %BUILD_ACTION%
exit /b 1
:end
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (
+ echo [prepare]: Clearing build area (%MG_BUILD_AREA64%)
+ rd /S /Q %MG_BUILD_AREA64%
+)
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%
SET MG_BUILD_OUTPUT_ROOT=%MG_BUILD_ARTIFACT_PATH%\mapguide
SET MG_BUILD_OUTPUT=%MG_BUILD_OUTPUT_ROOT%\%MG_VER_MAJOR_MINOR_BUILD%\x86\release
-SET MG_BUILD_AREA=%MG_BUILD_AREA%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86
+SET MG_BUILD_AREA=%MG_BUILD_AREA2%\mapguide\%MG_VER_MAJOR_MINOR_BUILD%\x86
SET REVNUM_FILE=%MG_TOOL_PATH%\revnum.pl
SET MG_STAMP_FILE=%MG_BUILD_ARTIFACT_PATH%\last_mapguide_%MG_VER_MAJOR_MINOR_BUILD%_revision_x86.txt
SET BUILD_ACTION=

+SET FDO_SRC=%MG_BUILD_ARTIFACT_PATH%\%_FDO_SRC%
+SET MG_BUILD_SRC=%MG_SOURCES_ROOT%\%_MG_BUILD_SRC%
+SET INSTANT_SETUP_SRC=%MG_SOURCES_ROOT%\%_INSTANT_SETUP_SRC%
+SET MG_STAMP_FILE_SOURCE=%MG_SOURCES_ROOT%\%_MG_STAMP_FILE_SOURCE%
+
+echo ================== Build Vars for MapGuide ============================
+echo FDO_SRC = %FDO_SRC%
+echo MG_BUILD_SRC = %MG_BUILD_SRC%
+echo INSTANT_SETUP_SRC = %INSTANT_SETUP_SRC%
+echo MG_STAMP_FILE_SOURCE = %MG_STAMP_FILE_SOURCE%
+echo CLEAR_WORKING_AREA_AFTER = %CLEAR_WORKING_AREA_AFTER%
echo =================== Env Vars for MapGuide =============================
echo MG_VER_MAJOR_MINOR = %MG_VER_MAJOR_MINOR%
echo MG_VER_MAJOR_MINOR_BUILD = %MG_VER_MAJOR_MINOR_BUILD%
@@ -118,6 +141,7 @@
echo INSTANT_SETUP_SRC = %INSTANT_SETUP_SRC%
echo JAVA_HOME = %JAVA_HOME%
echo ANT_HOME = %ANT_HOME%
+echo MG_RUN_UNIT_TESTS = %MG_RUN_UNIT_TESTS%
echo =======================================================================

echo [prepare]: Cleaning out build artifacts
@@ -150,19 +174,19 @@
if "%errorlevel%"=="1" goto error

echo [prepare]: Setup FDO in Oem
-cd %MG_BUILD_AREA%\MgDev\Oem\FDO
+cd /d %MG_BUILD_AREA%\MgDev\Oem\FDO
xcopy /S /Y /I %FDO_SRC%\Inc Inc
xcopy /S /Y /I %FDO_SRC%\Lib Lib
xcopy /S /Y /I %FDO_SRC%\Bin Bin\Release
xcopy /S /Y /I %FDO_SRC%\Bin\com\*.* Bin\Release\com
REM For release we don't want pdbs and .net assemblies
-cd %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release
+cd /d %MG_BUILD_AREA%\MgDev\Oem\FDO\Bin\Release
del /Q OSGeo.FDO.*
del /Q *.pdb

:build_mapguide
-cd %MG_BUILD_AREA%\MgDev
-echo [build]: Stamp version numbers
+cd /d %MG_BUILD_AREA%\MgDev
+echo [build]: Stamp version numbers %MG_VER_MAJOR%.%MG_VER_MINOR%.%MG_VER_BUILD%.%MG_REVISION%
SET BUILD_ACTION=Stamp version numbers
cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION%
call stampassemblies.bat %MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION%
@@ -170,12 +194,12 @@

REM ========================================= MapGuide ====================================================

-cd %MG_BUILD_AREA%\MgDev
+cd /d %MG_BUILD_AREA%\MgDev
echo [build]: Set env vars
call setenvironment.bat

echo [build]: build oem/server/web
-cd %MG_BUILD_AREA%\MgDev
+cd /d %MG_BUILD_AREA%\MgDev
SET BUILD_ACTION=build oem/server/web
call build.bat
if "%errorlevel%"=="1" goto error
@@ -266,7 +290,7 @@
:copy_instantsetup_build_artifacts
echo [build]: Copy MgInstantSetup build artifacts
if not exist %MG_BUILD_OUTPUT%\Setup mkdir %MG_BUILD_OUTPUT%\Setup
-pushd %INSTANT_SETUP_SRC%\out\release
+pushd %INSTANT_SETUP_SRC%\InstantSetup\out\release
copy /Y *.exe %MG_BUILD_OUTPUT%\Setup
copy /Y *.pdb %MG_BUILD_OUTPUT%\Setup
copy /Y *.dll %MG_BUILD_OUTPUT%\Setup
@@ -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%
popd

+if "%MG_RUN_UNIT_TESTS%"=="false" goto end
+:server_unit_test
+pushd %MG_BUILD_AREA%\MgDev\Server\bin\Release
+mgserver.exe test
+popd
goto end

:error
echo An error occurred while building MapGuide: %BUILD_ACTION%
exit /b 1
:end
+if "%CLEAR_WORKING_AREA_AFTER%"=="true" (
+ echo [prepare]: Clearing build area (%MG_BUILD_AREA%)
+ rd /S /Q %MG_BUILD_AREA%
+)
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