[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