[mapguide-commits] r7546 - in trunk/Tools/JenkinsCI: . home/slave_win home/slave_win/jobs/FDO x64 home/slave_win/jobs/Maestro 4.0.x home/slave_win/jobs/Maestro trunk home/slave_win/jobs/MapGuide Open Source x64
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Fri May 31 02:37:41 PDT 2013
Author: jng
Date: 2013-05-31 02:37:40 -0700 (Fri, 31 May 2013)
New Revision: 7546
Removed:
trunk/Tools/JenkinsCI/home/slave_win/hudson.scm.CVSSCM.xml
trunk/Tools/JenkinsCI/home/slave_win/hudson.scm.SubversionSCM.xml
Modified:
trunk/Tools/JenkinsCI/home/slave_win/
trunk/Tools/JenkinsCI/home/slave_win/config.xml
trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x64/
trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x64/config.xml
trunk/Tools/JenkinsCI/home/slave_win/jobs/Maestro 4.0.x/config.xml
trunk/Tools/JenkinsCI/home/slave_win/jobs/Maestro trunk/config.xml
trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source x64/config.xml
trunk/Tools/JenkinsCI/readme.txt
Log:
#2210: Jenkins config/job updates:
- Register ANT_HOME as a global env var
- Fix MG_TOOL_PATH env var
- Parameterize previously hard-coded paths in the Maestro 4.0.x and trunk jobs
- Update FDO x64 job for better failure granularity
Property changes on: trunk/Tools/JenkinsCI/home/slave_win
___________________________________________________________________
Modified: svn:ignore
- identity.key
plugins
secret.key
secret.key.not-so-secret
secrets
updates
war
+ identity.key
plugins
secret.key
secret.key.not-so-secret
secrets
updates
war
Workspace clean-up.log
.owner
Fingerprint cleanup.log
hudson.maven.MavenModuleSet.xml
hudson.tasks.Mailer.xml
Modified: trunk/Tools/JenkinsCI/home/slave_win/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/config.xml 2013-05-31 09:18:24 UTC (rev 7545)
+++ trunk/Tools/JenkinsCI/home/slave_win/config.xml 2013-05-31 09:37:40 UTC (rev 7546)
@@ -59,7 +59,9 @@
<default>
<comparator class="hudson.util.CaseInsensitiveComparator"/>
</default>
- <int>5</int>
+ <int>6</int>
+ <string>ANT_HOME</string>
+ <string>C:\apache-ant-1.9.1</string>
<string>MG_BUILD_AREA</string>
<string>C:\working\build_area</string>
<string>MG_BUILD_ARTIFACT_PATH</string>
@@ -67,7 +69,7 @@
<string>MG_LIB_ROOT</string>
<string>C:\working\libs</string>
<string>MG_TOOL_PATH</string>
- <string>C:\working\JenkinsCI</string>
+ <string>C:\working\JenkinsCI\tools</string>
<string>WINDOWS_SDK_71_ROOT</string>
<string>C:\Program Files\Microsoft SDKs\Windows\v7.1</string>
</tree-map>
Deleted: trunk/Tools/JenkinsCI/home/slave_win/hudson.scm.CVSSCM.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/hudson.scm.CVSSCM.xml 2013-05-31 09:18:24 UTC (rev 7545)
+++ trunk/Tools/JenkinsCI/home/slave_win/hudson.scm.CVSSCM.xml 2013-05-31 09:37:40 UTC (rev 7546)
@@ -1,10 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<hudson.scm.CVSSCM_-DescriptorImpl plugin="cvs at 2.8">
- <generation>1</generation>
- <compressionLevel>3</compressionLevel>
- <privateKeyLocation>C:\/.ssh/id_rsa</privateKeyLocation>
- <privateKeyPassword>UPk/of7GPKBpanq4xlQT3icsfYni+7d7z9HC4ddveYL2KZaLqMWcM6SfTU4jMrpt</privateKeyPassword>
- <knownHostsLocation>C:\/.ssh/known_hosts</knownHostsLocation>
- <authTokens/>
- <changelogEncoding>UTF-8</changelogEncoding>
-</hudson.scm.CVSSCM_-DescriptorImpl>
\ No newline at end of file
Deleted: trunk/Tools/JenkinsCI/home/slave_win/hudson.scm.SubversionSCM.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/hudson.scm.SubversionSCM.xml 2013-05-31 09:18:24 UTC (rev 7545)
+++ trunk/Tools/JenkinsCI/home/slave_win/hudson.scm.SubversionSCM.xml 2013-05-31 09:37:40 UTC (rev 7546)
@@ -1,8 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<hudson.scm.SubversionSCM_-DescriptorImpl plugin="subversion at 1.48">
- <generation>5</generation>
- <credentials class="hashtable"/>
- <workspaceFormat>10</workspaceFormat>
- <validateRemoteUpToVar>false</validateRemoteUpToVar>
- <storeAuthToDisk>true</storeAuthToDisk>
-</hudson.scm.SubversionSCM_-DescriptorImpl>
\ No newline at end of file
Property changes on: trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x64
___________________________________________________________________
Modified: svn:ignore
- builds
nextBuildNumber
+ builds
nextBuildNumber
workspace
lastStable
lastSuccessful
Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x64/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x64/config.xml 2013-05-31 09:18:24 UTC (rev 7545)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/FDO x64/config.xml 2013-05-31 09:37:40 UTC (rev 7546)
@@ -13,20 +13,15 @@
<hudson.model.ParametersDefinitionProperty>
<parameterDefinitions>
<hudson.model.StringParameterDefinition>
- <name>BUILD_SRC64</name>
+ <name>FDO_BUILD_SRC64</name>
<description>FDO Source directory</description>
<defaultValue>C:\working\sources\fdo-3.8</defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
- <name>FDO_VERSION_64</name>
+ <name>FDO_VERSION64</name>
<description>FDO Version Number (major.minor.rev)</description>
<defaultValue>3.8.0</defaultValue>
</hudson.model.StringParameterDefinition>
- <hudson.model.StringParameterDefinition>
- <name>REVNUM_FILE64</name>
- <description>Path to revnum.pl script</description>
- <defaultValue>C:\builds\revnum.pl</defaultValue>
- </hudson.model.StringParameterDefinition>
</parameterDefinitions>
</hudson.model.ParametersDefinitionProperty>
</properties>
@@ -41,53 +36,100 @@
<builders>
<hudson.tasks.BatchFile>
<command>@echo off
-SET FDOMYSQL=%MYSQL_SDK64%
-SET FDOORACLE=%ORACLE_SDK64%
-if exist %BUILD_OUTPUT64% rd /S /Q %BUILD_OUTPUT64%
-pushd %BUILD_SRC64%
+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 FDO_BUILD_OUTPUT64=%MG_BUILD_ARTIFACT_PATH%\fdo\%FDO_VERSION64%\x64_vc10
+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 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 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
+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
+
+REM Prepare for Windows SDK 7.1 C++ compiler
+echo [prepare]: Enabling build settings for compilation with Windows 7.1 SDK C++ compiler
+SET BUILD_ACTION=Enabling build settings for compilation with Windows 7.1 SDK C++ compiler
+call %MG_TOOL_PATH%\fdo_enable_vcexpress64.bat %FDO_WORKING_AREA64%
+if "%errorlevel%"=="1" goto error
+
+echo [prepare]: Noting SVN revision
+pushd %FDO_BUILD_SRC64%
REM If we ever do implement CI build triggers, remove this update command
-svn update .
svn info . | perl %REVNUM_FILE64% > revision.txt
set /p REVISION= < revision.txt
copy /Y revision.txt %FDO_STAMP_FILE64%
+popd
+
+pushd %FDO_WORKING_AREA64%
echo [build]: Set env vars
-call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /release /x64
+call "%WINDOWS_SDK_71_ROOT%\Bin\SetEnv.cmd" /release /x64
call setenvironment.bat x64 VC10
+
echo [build]: build thirdparty
-call build_thirdparty.bat -p=x64 -a=buildinstall -o=%BUILD_OUTPUT64%
+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
-call build.bat -p=x64 -a=buildinstall -o=%BUILD_OUTPUT64%
+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 *.* %BUILD_OUTPUT64%\Fdo\Bin
+copy /Y *.* %FDO_BUILD_OUTPUT64%\Fdo\Bin
popd
:pack
echo [build]: Pack files
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT64%\Fdo -o=%BUILD_OUTPUT64%\dist -w=fdo -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT64%\Fdo -o=%BUILD_OUTPUT64%\dist -w=shp -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT64%\Fdo -o=%BUILD_OUTPUT64%\dist -w=sdf -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT64%\Fdo -o=%BUILD_OUTPUT64%\dist -w=wfs -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT64%\Fdo -o=%BUILD_OUTPUT64%\dist -w=wms -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT64%\Fdo -o=%BUILD_OUTPUT64%\dist -w=rdbms -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT64%\Fdo -o=%BUILD_OUTPUT64%\dist -w=mysql -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT64%\Fdo -o=%BUILD_OUTPUT64%\dist -w=odbc -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT64%\Fdo -o=%BUILD_OUTPUT64%\dist -w=sqlspatial -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT64%\Fdo -o=%BUILD_OUTPUT64%\dist -w=gdal -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT64%\Fdo -o=%BUILD_OUTPUT64%\dist -w=kingoracle -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT64%\Fdo -o=%BUILD_OUTPUT64%\dist -w=ogr -b=%REVISION% -r=%FDO_VERSION_64%
-rem call createtarzipbinfiles.bat -i=%BUILD_OUTPUT64%\Fdo -o=%BUILD_OUTPUT64%\dist -w=sqlite -b=%REVISION% -r=%FDO_VERSION_64%
-popd</command>
+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
+goto end
+:error
+echo An error occurred while building FDO: %BUILD_ACTION%
+exit /b 1
+:end
+exit /b 0</command>
</hudson.tasks.BatchFile>
</builders>
- <publishers>
- <hudson.tasks.BuildTrigger>
- <childProjects>MapGuide Open Source x64</childProjects>
- <threshold>
- <name>SUCCESS</name>
- <ordinal>0</ordinal>
- <color>BLUE</color>
- </threshold>
- </hudson.tasks.BuildTrigger>
- </publishers>
+ <publishers/>
<buildWrappers/>
</project>
\ No newline at end of file
Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/Maestro 4.0.x/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/Maestro 4.0.x/config.xml 2013-05-31 09:18:24 UTC (rev 7545)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/Maestro 4.0.x/config.xml 2013-05-31 09:37:40 UTC (rev 7546)
@@ -83,7 +83,8 @@
makensis.exe /DSLN_CONFIG=Release /DCPU=x86 /DRELEASE_VERSION=%VersionLabel% "%WORKSPACE%\Install\Maestro.nsi"
pushd
pushd %WORKSPACE%\out
-move /Y *.exe C:\builds
+if not exist %MG_BUILD_ARTIFACT_PATH%\maestro mkdir %MG_BUILD_ARTIFACT_PATH%\maestro
+move /Y *.exe %MG_BUILD_ARTIFACT_PATH%\maestro
popd</command>
</hudson.tasks.BatchFile>
<hudson.tasks.BatchFile>
@@ -91,8 +92,9 @@
rd /S /Q Local
popd
pushd %WORKSPACE%\out\Release
-del LocalConfigure.*
-7z a -tzip -mx9 C:\builds\MapGuideMaestro-%VersionLabel%-Release.zip .
+del /Q LocalConfigure.*
+if not exist %MG_BUILD_ARTIFACT_PATH%\maestro mkdir %MG_BUILD_ARTIFACT_PATH%\maestro
+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.17">
@@ -107,7 +109,8 @@
move /Y MaestroAPI.chm "%WORKSPACE%\SDK"
popd
pushd %WORKSPACE%\SDK
-7z a -tzip -mx9 C:\builds\MaestroSDK_%VersionLabel%.zip .
+if not exist %MG_BUILD_ARTIFACT_PATH%\maestro mkdir %MG_BUILD_ARTIFACT_PATH%\maestro
+7z a -tzip -mx9 %MG_BUILD_ARTIFACT_PATH%\maestro\MaestroSDK_%VersionLabel%.zip .
popd</command>
</hudson.tasks.BatchFile>
</builders>
Modified: trunk/Tools/JenkinsCI/home/slave_win/jobs/Maestro trunk/config.xml
===================================================================
--- trunk/Tools/JenkinsCI/home/slave_win/jobs/Maestro trunk/config.xml 2013-05-31 09:18:24 UTC (rev 7545)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/Maestro trunk/config.xml 2013-05-31 09:37:40 UTC (rev 7546)
@@ -88,7 +88,8 @@
makensis.exe /DSLN_CONFIG=Release /DCPU=x86 /DRELEASE_VERSION=%VersionLabel% "%WORKSPACE%\Install\Maestro.nsi"
pushd
pushd %WORKSPACE%\out
-move /Y *.exe C:\builds
+if not exist %MG_BUILD_ARTIFACT_PATH%\maestro mkdir %MG_BUILD_ARTIFACT_PATH%\maestro
+move /Y *.exe %MG_BUILD_ARTIFACT_PATH%\maestro
popd</command>
</hudson.tasks.BatchFile>
<hudson.tasks.BatchFile>
@@ -97,8 +98,9 @@
rd /S /Q Scripting
popd
pushd %WORKSPACE%\out\Release
-del LocalConfigure.*
-7z a -tzip -mx9 C:\builds\MapGuideMaestro-%VersionLabel%-Release.zip .
+del /Q LocalConfigure.*
+if not exist %MG_BUILD_ARTIFACT_PATH%\maestro mkdir %MG_BUILD_ARTIFACT_PATH%\maestro
+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.17">
@@ -113,7 +115,8 @@
move /Y MaestroAPI.chm "%WORKSPACE%\SDK"
popd
pushd %WORKSPACE%\SDK
-7z a -tzip -mx9 C:\builds\MaestroSDK_%VersionLabel%.zip .
+if not exist %MG_BUILD_ARTIFACT_PATH%\maestro mkdir %MG_BUILD_ARTIFACT_PATH%\maestro
+7z a -tzip -mx9 %MG_BUILD_ARTIFACT_PATH%\maestro\MaestroSDK_%VersionLabel%.zip .
popd</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 2013-05-31 09:18:24 UTC (rev 7545)
+++ trunk/Tools/JenkinsCI/home/slave_win/jobs/MapGuide Open Source x64/config.xml 2013-05-31 09:37:40 UTC (rev 7546)
@@ -2,7 +2,7 @@
<project>
<actions/>
<description></description>
- <logRotator>
+ <logRotator class="hudson.tasks.LogRotator">
<daysToKeep>-1</daysToKeep>
<numToKeep>1</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
@@ -15,13 +15,38 @@
<hudson.model.StringParameterDefinition>
<name>RELEASE_LABEL64</name>
<description></description>
- <defaultValue>Beta1</defaultValue>
+ <defaultValue>Final</defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>WITH_ARCSDE</name>
<description></description>
<defaultValue>no</defaultValue>
</hudson.model.StringParameterDefinition>
+ <hudson.model.StringParameterDefinition>
+ <name>MG_MAJOR_VER</name>
+ <description></description>
+ <defaultValue>2</defaultValue>
+ </hudson.model.StringParameterDefinition>
+ <hudson.model.StringParameterDefinition>
+ <name>MG_VER_MINOR</name>
+ <description></description>
+ <defaultValue>5</defaultValue>
+ </hudson.model.StringParameterDefinition>
+ <hudson.model.StringParameterDefinition>
+ <name>MG_VER_BUILD</name>
+ <description></description>
+ <defaultValue>1</defaultValue>
+ </hudson.model.StringParameterDefinition>
+ <hudson.model.StringParameterDefinition>
+ <name>MG_BUILD_SRC64</name>
+ <description></description>
+ <defaultValue>C:\working\sources\mg-2.5</defaultValue>
+ </hudson.model.StringParameterDefinition>
+ <hudson.model.StringParameterDefinition>
+ <name>FDO_SRC64</name>
+ <description></description>
+ <defaultValue>C:\builds\fdo\3.8.0\x64_vc10\Fdo</defaultValue>
+ </hudson.model.StringParameterDefinition>
</parameterDefinitions>
</hudson.model.ParametersDefinitionProperty>
</properties>
@@ -30,7 +55,7 @@
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
- <jdk>(Default)</jdk>
+ <jdk>JDK6 64-bit</jdk>
<triggers class="vector"/>
<concurrentBuild>false</concurrentBuild>
<builders>
@@ -39,69 +64,143 @@
SET VCBEXTENSION=_vs10
SET VC_COMPILER=vc100
-call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /release /x64
+call "%WINDOWS_SDK_71_ROOT%\Bin\SetEnv.cmd" /release /x64
-SET MG_VER_MAJOR=2
-SET MG_VER_MINOR=5
-SET MG_VER_BUILD=0
SET MG_VER_MAJOR_MINOR=%MG_VER_MAJOR%.%MG_VER_MINOR%
SET MG_VER_MAJOR_MINOR_BUILD=%MG_VER_MAJOR_MINOR%.%MG_VER_BUILD%
-SET FDO_VER_MAJOR_MINOR=3.8
+SET MG_BUILD_OUTPUT_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 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=C:\builds\fdo\%FDO_VER_MAJOR_MINOR%\x64_vc10\Fdo
-SET BUILD_SRC64=C:\mg-%MG_VER_MAJOR_MINOR%-x64
-SET CURRENT_DIR=C:\builds\
-SET BUILD_OUTPUT64=C:\builds\mapguide\%MG_VER_MAJOR_MINOR%\x64\release
-SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_33
-SET ANT_HOME=C:\apache-ant-1.8.3
-SET DOXYGEN=C:\Program Files\doxygen\bin
-if exist %BUILD_OUTPUT64% rd /S /Q %BUILD_OUTPUT64%
-if exist "%BUILD_SRC64%\Output" rd /S /Q "%BUILD_SRC64%\Output"
-cd %BUILD_SRC64%\MgDev\Oem\FDO
+echo =================== Env Vars for MapGuide =============================
+echo MG_VER_MAJOR_MINOR = %MG_VER_MAJOR_MINOR%
+echo MG_VER_MAJOR_MINOR_BUILD = %MG_VER_MAJOR_MINOR_BUILD%
+echo MG_BUILD_OUTPUT_ROOT64 = %MG_BUILD_OUTPUT_ROOT64%
+echo MG_BUILD_OUTPUT64 = %MG_BUILD_OUTPUT64%
+echo MG_BUILD_AREA64 = %MG_BUILD_AREA64%
+echo REVNUM_FILE64 = %REVNUM_FILE64%
+echo MG_STAMP_FILE64 = %MG_STAMP_FILE64%
+echo =======================================================================
+
+echo [prepare]: Cleaning out build artifacts and build area
+if exist %MG_BUILD_OUTPUT64% rd /S /Q %MG_BUILD_OUTPUT64%
+if exist %MG_BUILD_AREA64% rd /S /Q %MG_BUILD_AREA64%
+if not exist %MG_BUILD_AREA64%\Installer mkdir %MG_BUILD_AREA64%\Installer
+if not exist %MG_BUILD_AREA64%\MgDev mkdir %MG_BUILD_AREA64%\MgDev
+if not exist %MG_BUILD_ARTIFACT_PATH%\mg-desktop mkdir %MG_BUILD_ARTIFACT_PATH%\mg-desktop
+
+echo [prepare]: Exporting SVN working copy to build area (Installer)
+SET BUILD_ACTION=Exporting SVN working copy to build area (Installer)
+svn export %MG_BUILD_SRC64%\Installer %MG_BUILD_AREA64%\Installer --force
+if "%errorlevel%"=="1" goto error
+
+REM Need to copy and not export as we need the SVN metadata for packaging with the installer
+echo [prepare]: Copying SVN working copy to build area (MgDev)
+SET BUILD_ACTION=Copying SVN working copy to build area (MgDev)
+robocopy %MG_BUILD_SRC64%\MgDev %MG_BUILD_AREA64%\MgDev /E /NFL /NDL /nc /ns /np
+if "%errorlevel%"=="1" goto error
+
+echo [prepare]: Setup FDO in Oem
+cd %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
-cd %BUILD_SRC64%\MgDev\Web
-rd /S /Q bin
-rd /S /Q lib
-rd /S /Q obj
-cd %BUILD_SRC64%\MgDev
-echo [build]: Updating to latest revision
-REM If we ever do implement CI build triggers, remove this update command
-svn cleanup
-svn update .
-svn info . | perl C:\builds\revnum.pl > revision.txt
-set /p REVISION64= < revision.txt
-copy /Y revision.txt C:\builds\last_mg_x64_revision.txt
-cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%REVISION64%
-call stampassemblies.bat %MG_VER_MAJOR_MINOR_BUILD%.%REVISION64%
+
+echo [prepare]: Pre-process for 64-bit compilation with Windows SDK 7.1
+sed -i "s/\%%MSBUILD\%% InstallerPreReq\%%VS_SLN_SUFFIX\%%.sln/REM \%%MSBUILD\%% InstallerPreReq\%%VS_SLN_SUFFIX\%%.sln/g" %MG_BUILD_AREA64%\Installer\build64.bat
+sed -i "s/REM call build64_vce.bat/call build64_vce.bat/g" %MG_BUILD_AREA64%\Installer\build64.bat
+echo Updated - %MG_BUILD_AREA64%\Installer\build64.bat
+
+cd %MG_BUILD_SRC64%\MgDev
+echo [prepare]: Noting SVN revision
+svn info . | perl %REVNUM_FILE64% > revision.txt
+set /p MG_REVISION64= < revision.txt
+copy /Y revision.txt %MG_STAMP_FILE64%
+
+cd %MG_BUILD_AREA64%\MgDev
+echo [build]: Stamp version numbers
+SET BUILD_ACTION=Stamp version numbers
+cscript updateversion.vbs /major:%MG_VER_MAJOR% /minor:%MG_VER_MINOR% /point:%MG_VER_BUILD% /build:%MG_REVISION64%
+call stampassemblies.bat %MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64%
+if "%errorlevel%"=="1" goto error
+
+REM ========================================= MapGuide ====================================================
+
echo [build]: Set env vars
call setenvironment64.bat vc10
+
echo [build]: build oem/server/web
-call build64.bat -o=%BUILD_OUTPUT64%
-echo [build]: install files
-call build64.bat -a=install -o=%BUILD_OUTPUT64%
-cd %BUILD_SRC64%\Installer
-echo [build]: Updating to latest revision
-svn update
+SET BUILD_ACTION=build oem/server/web
+call build64.bat -o=%MG_BUILD_OUTPUT64%
+if "%errorlevel%"=="1" goto error
+
+echo [build]: install files to build artifact directory
+SET BUILD_ACTION=install files to build artifact directory
+call build64.bat -a=install -o=%MG_BUILD_OUTPUT64%
+if "%errorlevel%"=="1" goto error
+
+pushd %MG_BUILD_AREA64%\Installer
+echo [build]: Prepare artifact directory
+SET BUILD_ACTION=Prepare artifact directory
+call build64.bat -a=prepare -source=%MG_BUILD_OUTPUT64%
+if "%errorlevel%"=="1" goto error
popd
-pushd %BUILD_SRC64%\Installer
-call build64.bat -a=prepare -source=%BUILD_OUTPUT64%
-call build64.bat -a=generate -source=%BUILD_OUTPUT64%
-call build64.bat -source=%BUILD_OUTPUT64% -version=%MG_VER_MAJOR_MINOR_BUILD%.%REVISION64% -name=MapGuideOpenSource-%MG_VER_MAJOR_MINOR_BUILD%.%REVISION64%-%RELEASE_LABEL64%-x64 -title="MapGuide Open Source %MG_VER_MAJOR_MINOR% %RELEASE_LABEL64%"
-move /Y Output\en-US\MapGuideOpenSource-%MG_VER_MAJOR_MINOR_BUILD%.%REVISION64%-%RELEASE_LABEL64%-x64.exe C:\builds\mapguide</command>
+
+REM ========================================= mg-desktop ====================================================
+
+pushd %MG_BUILD_AREA64%\MgDev
+echo [build]: mg-desktop
+call build_desktop.bat x64
+popd
+
+pushd %MG_BUILD_AREA64%\MgDev\nuget
+echo [clean]: Nuget package temp files
+call package_clean.bat
+popd
+
+pushd %MG_BUILD_AREA64%\MgDev
+echo [build]: Nuget packages
+call nuget_prepare.bat %MG_VER_MAJOR_MINOR_BUILD%.%REVISION64% x64
+call nuget_pack.bat x64
+popd
+
+pushd %MG_BUILD_AREA64%\MgDev\nuget
+echo [build]: Copy mg-desktop build artifacts (NuGet packages)
+move *.nupkg %MG_BUILD_ARTIFACT_PATH%\mg-desktop
+popd
+
+pushd %MG_BUILD_AREA64%\MgDev\Release64
+echo [build]: Copy mg-desktop build artifacts (zip dist)
+7z a -mx9 %MG_BUILD_ARTIFACT_PATH%\mg-desktop\mg-desktop-%MG_VER_MAJOR_MINOR_BUILD%.%REVISION64%-net40-vc10-x64.zip Desktop DesktopSamples
+popd
+
+REM ========================================= MapGuide Installer ====================================================
+
+pushd %MG_BUILD_AREA64%\Installer
+echo [build]: Generate installer file listings
+SET BUILD_ACTION=Generate installer file listings
+call build64.bat -a=generate -source=%MG_BUILD_OUTPUT64%
+if "%errorlevel%"=="1" goto error
+
+echo [build]: Build the installer
+SET BUILD_ACTION=Build the installer
+call build64.bat -source=%MG_BUILD_OUTPUT64% -version=%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64% -name=MapGuideOpenSource-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64%-%RELEASE_LABEL64%-x64 -title="MapGuide Open Source %MG_VER_MAJOR_MINOR% %RELEASE_LABEL64%"
+if "%errorlevel%"=="1" goto error
+
+move /Y Output\en-US\MapGuideOpenSource-%MG_VER_MAJOR_MINOR_BUILD%.%MG_REVISION64%-%RELEASE_LABEL64%-x64.exe %MG_BUILD_OUTPUT_ROOT64%
+popd
+goto end
+:error
+echo An error occurred while building MapGuide: %BUILD_ACTION%
+exit /b 1
+:end
+exit /b 0</command>
</hudson.tasks.BatchFile>
</builders>
- <publishers>
- <hudson.tasks.BuildTrigger>
- <childProjects>mg-desktop-net40-vc10-x64</childProjects>
- <threshold>
- <name>SUCCESS</name>
- <ordinal>0</ordinal>
- <color>BLUE</color>
- </threshold>
- </hudson.tasks.BuildTrigger>
- </publishers>
+ <publishers/>
<buildWrappers/>
</project>
\ No newline at end of file
Modified: trunk/Tools/JenkinsCI/readme.txt
===================================================================
--- trunk/Tools/JenkinsCI/readme.txt 2013-05-31 09:18:24 UTC (rev 7545)
+++ trunk/Tools/JenkinsCI/readme.txt 2013-05-31 09:37:40 UTC (rev 7546)
@@ -65,6 +65,7 @@
=================
* Currently configured for MGOS 2.5 and FDO 3.8, adjust these version numbers as necessary
+* Will need to revisit for MGOS 2.6 and FDO 3.9 as we'll be moving to VS2012. Fortunately, building with free MS tools is *much* simpler in VS2012.
C:\apache-ant-1.8.3 [extracted location of apache ant v1.8.3]
C:\builds [all build artifacts produced by Jenkins will be here]
@@ -76,6 +77,10 @@
mysql_x64 [extract/copy MySQL Connector C 64-bit headers/libs here]
oracle [extract 32-bit oracle 11.2 instant client sdk here]
oracle_x64 [extract 64-bit oracle 11.2 instant client sdk here]
+ fdo_extras [Optional files to overlay on top of build result]
+ 3.8.0
+ x64 [extract/copy ArcSDE dlls and providers.xml from FDO SDK]
+ x86 [extract/copy ArcSDE dlls and providers.xml from FDO SDK]
sources
fdo-3.8 [svn checkout of http://svn.osgeo.org/fdo/branches/3.8]
mg-2.5
@@ -99,6 +104,7 @@
* MG_LIB_ROOT = C:\working\libs
* MG_BUILD_AREA = C:\working\build_area
* WINDOWS_SDK_71_ROOT = C:\Program Files\Microsoft SDKs\Windows\v7.1
+ * ANT_HOME = C:\apache-ant-1.8.3
PATH environment variable
=========================
@@ -125,14 +131,18 @@
* 7z
* sphinx-build
-SVN Working Copy preparation
-============================
+Jenkins MapGuide/FDO build process
+==================================
-For FDO 3.8 64-bit, edit the root build.bat of thirdparty/core/providers and un-comment the SET EXTRA_MSBUILD_PROPERTIES call
-This is to ensure that the correct 64-bit VS compiler will be used (from the Windows 7.1 SDK)
+ * Clears out any existing build area and artifact directories
+ * Exports FDO/MapGuide from the working copy location to the build area
+ * 64-bit builds: Runs any pre-processing on the build area to support 64-bit compilation with Windows SDK 7.1 C++ compiler
+ * Runs the build and copies the build artifacts to the designated directory
+ * FDO only: Overlay any extra files (eg. ArcSDE provider) onto the build artifacts directory
-If setting up on a Windows with UAC, build the UpdateVersion executable under FDOROOT\Thirdparty\util\UpdateVersion and replace the
-existing binary to prevent UAC notifications.
+TODO
+====
-For MapGuide 64-bit modify setenvironment64.bat to ensure that the msbuild calls include /p:PlatformToolset=Windows7.1SDK
-This is to ensure that the correct 64-bit VS compiler will be used (from the Windows 7.1 SDK)
\ No newline at end of file
+ * Regularly scheduled job to auto svn update the working copies and to trigger new MapGuide/FDO builds off of that
+ * Equivalent Ubuntu/CentOS build/job configurations
+ * Aggregate all the Windows/Linux build environments into a master/slave configuration.
\ No newline at end of file
More information about the mapguide-commits
mailing list