Update and simplify PDK_Helium job for latest PDK updates PDK_3.0.i
authorShabe Razvi <shaber@symbian.org>
Mon, 17 May 2010 11:31:10 +0100
changeset 19 1aa526b5b90b
parent 18 58a997e8d91d
child 20 c4be77d8d002
Update and simplify PDK_Helium job for latest PDK updates
PDK_Helium/config.xml
--- a/PDK_Helium/config.xml	Wed Mar 17 10:13:00 2010 +0000
+++ b/PDK_Helium/config.xml	Mon May 17 11:31:10 2010 +0100
@@ -2,7 +2,7 @@
 <project>
   <actions/>
   <description>&lt;h3&gt;Description&lt;/h3&gt;&#xd;
-&lt;li&gt;This project will rebuild the Symbian^2 and Symbian^3 Platform from source using a Bill Of Materials that can either be downloaded from the &lt;a href=&quot;http://developer.symbian.org/main/tools_and_kits/&quot;&gt;kits page&lt;/a&gt; or from within the job itself.&#xd;
+&lt;li&gt;This project will rebuild the Symbian^3 Platform from source using a Bill Of Materials that can either be downloaded from the &lt;a href=&quot;http://developer.symbian.org/main/tools_and_kits/&quot;&gt;kits page&lt;/a&gt; or from within the job itself.&#xd;
 &lt;li&gt;It encapsulates the steps as defined in the &lt;a href=&quot;http://developer.symbian.org/wiki/index.php/How_to_perform_a_platform_build_of_PDK_3.0.b_using_helium&quot;/&gt;manual build process &lt;/a&gt;for Helium and is a simple way to start building using the Foundation Build Framework.&#xd;
 &lt;br&gt;&lt;br&gt;&#xd;
 The Foundation Build Framework (FBF) is an Apache ANT-like configuration that can be used with the Helium tool, delivered in the &lt;a href=&quot;https://developer.symbian.org/main/tools_and_kits/downloads/view.php?id=4&quot;/&gt;PDT&lt;/a&gt;.&#xd;
@@ -13,20 +13,20 @@
 &lt;h3&gt;Additional Information&lt;/h3&gt;&#xd;
 Source for the FBF can be downloaded from the following Mercurial Repositories -&#xd;
 &lt;br&gt;&#xd;
-&lt;li&gt;FBF Configuration - &lt;a href=&quot;https://developer.symbian.org/oss/FCL/interim/fbf/configs/default/&quot;/&gt;https://developer.symbian.org/oss/FCL/interim/fbf/configs/default/&lt;/a&gt;&#xd;
-&lt;li&gt;FBF Platform Project - &lt;a href=&quot;https://developer.symbian.org/oss/FCL/interim/fbf/projects/platforms&quot;/&gt;https://developer.symbian.org/oss/FCL/interim/fbf/projects/platforms&lt;/a&gt;&#xd;
-&lt;li&gt;FBF Bootstrap - &lt;a href=&quot;https://developer.symbian.org/oss/FCL/interim/fbf/bootstrap&quot;/&gt;https://developer.symbian.org/oss/FCL/interim/fbf/bootstrap&lt;/a&gt;&#xd;
+&lt;li&gt;FBF Configuration - &lt;a href=&quot;http://developer.symbian.org/oss/MCL/sftools/fbf/configs/default&quot;/&gt;http://developer.symbian.org/oss/MCL/sftools/fbf/configs/default/&lt;/a&gt;&#xd;
+&lt;li&gt;FBF Platform Project - &lt;a href=&quot;http://developer.symbian.org/oss/MCL/sftools/fbf/projects/platforms&quot;/&gt;http://developer.symbian.org/oss/MCL/sftools/fbf/projects/platforms&lt;/a&gt;&#xd;
+&lt;li&gt;FBF Bootstrap - &lt;a href=&quot;http://developer.symbian.org/oss/MCL/sftools/fbf/bootstrap&quot;/&gt;http://developer.symbian.org/oss/MCL/sftools/fbf/bootstrap&lt;/a&gt;&#xd;
 </description>
   <keepDependencies>false</keepDependencies>
   <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <useProjectSecurity>false</useProjectSecurity>
-    </hudson.security.AuthorizationMatrixProperty>
     <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
         <hudson.model.StringParameterDefinition>
           <name>BUILD_DRIVE</name>
-          <description>Physical Build Drive</description>
+          <description>Physical Build Drive to perform the build on. Please ensure that there is -
+&lt;br&gt;
+&lt;li&gt;50gb free if you&apos;re building 1 target, e.g. winscw debug
+&lt;li&gt;150gb free if you&apos;re building all 4 targets e.g. armv5 + winscw debug + release</description>
           <defaultValue>C:</defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.StringParameterDefinition>
@@ -34,34 +34,39 @@
           <description>Subst&apos;d EPOC drive</description>
           <defaultValue>M:</defaultValue>
         </hudson.model.StringParameterDefinition>
-        <hudson.model.StringParameterDefinition>
-          <name>KIT_VERSION</name>
-          <description>Version of the kit to download. e.g.
-&lt;li&gt;2.0.2
-&lt;li&gt;3.0.h</description>
-          <defaultValue></defaultValue>
-        </hudson.model.StringParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>DOWNLOAD_KIT</name>
           <description>This will download the Bill of Materials (BOM), tools and prebuilt binaries from the web. Select if -
+&lt;br&gt;
 &lt;li&gt;You havnt downloaded these archives already
 &lt;li&gt;You&apos;re not sure if you have the correct archives</description>
           <defaultValue>false</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.StringParameterDefinition>
+          <name>KIT_VERSION</name>
+          <description>Version of the BOM to download. e.g.
+&lt;li&gt;2.0.2
+&lt;li&gt;3.0.h
+&lt;br&gt;
+&lt;b&gt;Mandatory&lt;/b&gt; if downloading the BOM from the web.</description>
+          <defaultValue></defaultValue>
+        </hudson.model.StringParameterDefinition>
+        <hudson.model.StringParameterDefinition>
           <name>RELEASE_ZIP_LOCATION</name>
           <description>Location of &lt;a href=&quot;http://developer.symbian.org/main/tools_and_kits/&quot;&gt;release zipfiles&lt;/a&gt; e.g.
 &lt;li&gt;build_BOM.zip
 &lt;li&gt;tools_epoc.zip
-
+&lt;br&gt;
+If downloading the kit from the web, then this is the &lt;b&gt;target directory&lt;/b&gt; and can be reused again later&lt;br&gt;
+If building a BOM that you have already downloaded, then this is the &lt;b&gt;existing location&lt;/b&gt; of that build_BOM.zip etc.
 </description>
           <defaultValue></defaultValue>
         </hudson.model.StringParameterDefinition>
         <hudson.model.ChoiceParameterDefinition>
           <name>SRC_LOCATION</name>
           <description>How to get source for building the Platform -
-&lt;li&gt;BOM - download source direct from &lt;a href=&quot;https://developer.symbian.org/oss&quot;&gt;web&lt;/a&gt; using downloaded Bill Of Materials 
-&lt;li&gt;ZIPFILES - unpack source zips such as src_oss_os.zip from specified location on disk</description>
+&lt;li&gt;BOM - download source direct from &lt;a href=&quot;https://developer.symbian.org/oss&quot;&gt;web&lt;/a&gt; as described in downloaded Bill Of Materials 
+&lt;li&gt;ZIPFILES - unpack source zips such as src_oss_os.zip from specified (RELEASE_ZIP_LOCATION) location on disk. If selecting DOWNLOAD_KIT option, then it will unpack the source zips that have just been downloaded.</description>
           <choices class="java.util.Arrays$ArrayList">
             <a class="string-array">
               <string>BOM</string>
@@ -71,16 +76,8 @@
         </hudson.model.ChoiceParameterDefinition>
         <hudson.model.BooleanParameterDefinition>
           <name>REBUILD_TOOLS</name>
-          <description>Tick this if you want to rebuild &quot;TOOLS&quot; target as well
-&lt;li&gt; Requires comercial VC++ 6.0 installed plus -
-&lt;li&gt; Requires binaries_epoc32_stlport.zip from &lt;a href=&quot;http://developer.symbian.org/main/tools_and_kits/&quot;&gt;release zipfiles&lt;/a&gt;</description>
-          <defaultValue>false</defaultValue>
-        </hudson.model.BooleanParameterDefinition>
-        <hudson.model.BooleanParameterDefinition>
-          <name>SPLIT_BUILD</name>
-          <description>Is the baseline run in two distinct steps (GT+S60)? Tick this if -
-&lt;li&gt; Building older Symbian^2 PDKs. e.g. 2.0.d or earlier.
-&lt;li&gt; Building older Symbian^3 PDKs. e.g. 3.0.f or earlier</description>
+          <description>Tick this if you want to rebuild &quot;TOOLS&quot;
+&lt;li&gt; Requires comercial VC++ 6.0 installed</description>
           <defaultValue>false</defaultValue>
         </hudson.model.BooleanParameterDefinition>
         <hudson.model.ChoiceParameterDefinition>
@@ -126,34 +123,17 @@
 &lt;li&gt;armv5.whatlog,winscw.whatlog</description>
           <defaultValue>winscw_udeb.whatlog</defaultValue>
         </hudson.model.StringParameterDefinition>
-        <hudson.model.ChoiceParameterDefinition>
+        <hudson.model.StringParameterDefinition>
           <name>FBF_REV</name>
           <description>The tagged version of the FBF (Helium) to use to build the Platform.
 &lt;li&gt;default - is the latest revision from the web
+&lt;li&gt;PDK_3.0.h - for 3.0.h revision etc.
 &lt;br&gt;&lt;br&gt;
-&lt;i&gt;Unless you want a specific revision, its recommended to use the &apos;default&apos; revision of the FBF&lt;/i&gt;
-</description>
-          <choices class="java.util.Arrays$ArrayList">
-            <a class="string-array">
-              <string>default</string>
-              <string>PDK_2.0.2</string>
-              <string>PDK_2.0.1</string>
-              <string>PDK_2.0.0</string>
-              <string>PDK_3.0.h</string>
-              <string>PDK_3.0.g</string>
-              <string>PDK_3.0.f</string>
-              <string>PDK_3.0.e</string>
-              <string>PDK_3.0.d</string>
-              <string>PDK_3.0.c</string>
-              <string>PDK_3.0.b</string>
-              <string>PDK_3.0.a</string>
-            </a>
-          </choices>
-        </hudson.model.ChoiceParameterDefinition>
+&lt;i&gt;Unless you want a specific revision, its recommended to use the &apos;default&apos; revision of the FBF&lt;/i&gt;</description>
+          <defaultValue>default</defaultValue>
+        </hudson.model.StringParameterDefinition>
       </parameterDefinitions>
     </hudson.model.ParametersDefinitionProperty>
-    <hudson.plugins.disk__usage.DiskUsageProperty/>
-    <hudson.plugins.descriptionsetter.JobByDescription/>
   </properties>
   <scm class="hudson.scm.NullSCM"/>
   <canRoam>true</canRoam>
@@ -175,18 +155,18 @@
 mkdir %RELEASE_ZIP_LOCATION%
 cd /d %RELEASE_ZIP_LOCATION%
 @ECHO ON
-C:\Symbian\utilities\downloadkit\downloadkit.py --nounzip --nowinscw --noarmv5 --progress %DO_SRC_DOWNLOAD% %KIT_VERSION% --username=%HG_USERNAME% --password=%HG_PASSWORD%
+C:\Symbian\utilities\downloadkit\downloadkit.py --nounzip --nowinscw --noarmv5 --progress %DO_SRC_DOWNLOAD% %KIT_VERSION% --username=%HG_USERNAME% --password=%HG_PASSWORD% 
 exit 0</command>
     </hudson.tasks.BatchFile>
     <hudson.tasks.BatchFile>
       <command>%BUILD_DRIVE%
 cd\
-rmdir /q/s sf-bootstrap
-mkdir sf-bootstrap
-cd sf-bootstrap
-hg clone http://developer.symbian.org/oss/FCL/interim/fbf/bootstrap
+mkdir %TMP%\sf-bootstrap.%BUILD_NUMBER%
+cd /d %TMP%\sf-bootstrap.%BUILD_NUMBER%
+hg clone http://developer.symbian.org/oss/MCL/sftools/fbf/bootstrap
 cd bootstrap
-hlm -f bootstrap.xml -Dsf.project.repo=http://developer.symbian.org/oss/FCL/interim/fbf/projects/platforms -Dsf.config.repo=http://developer.symbian.org/oss/FCL/interim/fbf/configs/default -Dsf.target.dir=%BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER% -Dsf.config.rev=%FBF_REV% -Dsf.project.rev=%FBF_REV%</command>
+hlm -f bootstrap.xml -Dsf.project.repo=http://developer.symbian.org/oss/MCL/sftools/fbf/projects/platforms -Dsf.config.repo=http://developer.symbian.org/oss/MCL/sftools/fbf/configs/default -Dsf.target.dir=%BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER% -Dsf.config.rev=%FBF_REV% -Dsf.project.rev=%FBF_REV%
+rd %TMP%\sf-bootstrap.%BUILD_NUMBER% /q/s</command>
     </hudson.tasks.BatchFile>
     <hudson.tasks.BatchFile>
       <command>%BUILD_DRIVE%
@@ -195,18 +175,20 @@
 set PROJECT=single
 set TOOLS_BASELINE_ENABLE=true
 set TOOLS_CONFIG=tools_rel.whatlog,tools2_rel.whatlog
-IF %SPLIT_BUILD% == true set PROJECT=split
 IF %REBUILD_TOOLS% == true set TOOLS_BASELINE_ENABLE=false
 IF %REBUILD_TOOLS% == false set TOOLS_CONFIG=tools2_rel.whatlog
 cd %BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER%\sf-config
-hlm sf-prep -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.spec.job.codeline=&quot;%SRC_LOCATION%&quot; -Dsf.project.location=%BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER%\build\config\%PLATFORM%\%PROJECT% -Dsf.spec.splitbuild=%SPLIT_BUILD% -Dsf.spec.sbs.config=&quot;%TARGET%&quot; -Dsf.spec.baseline.enable=%TOOLS_BASELINE_ENABLE% -Dsf.spec.sbs.tools.config=&quot;%TOOLS_CONFIG%&quot; -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.suppress.buildenv.check=true -Dsf.suppress.drive.space.check=true -Dsf.spec.logs.raptorfilter.enable=false</command>
+hlm sf-prep -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.spec.job.codeline=&quot;%SRC_LOCATION%&quot; -Dsf.project.location=%BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER%\build\config\%PLATFORM%\%PROJECT% -Dsf.spec.splitbuild=false -Dsf.spec.sbs.config=&quot;%TARGET%&quot; -Dsf.spec.baseline.enable=%TOOLS_BASELINE_ENABLE% -Dsf.spec.sbs.tools.config=&quot;%TOOLS_CONFIG%&quot; -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.suppress.buildenv.check=true -Dsf.suppress.drive.space.check=true -Dsf.spec.logs.raptorfilter.enable=false -Dsf.spec.publish.enable=false -Dsf.spec.package.bin.enable=false -Dsf.spec.test.sendpkg.enable=false -Dskip.sbs.layer.generation=true -Dsf.spec.bldmefirst.s60.variant=%LOCALISATION%</command>
     </hudson.tasks.BatchFile>
     <hudson.tasks.BatchFile>
       <command>%SUBST_DRIVE%
 cd\
 mkdir tmp
 copy %RELEASE_ZIP_LOCATION%\build_BOM.zip %SUBST_DRIVE%\tmp
-copy %RELEASE_ZIP_LOCATION%\binaries_epoc_additional.zip %SUBST_DRIVE%\tmp
+
+REM for releases prior to 3.0.i replace binaries_prebuilt.zip with binaries_epoc_additional.zip 
+copy %RELEASE_ZIP_LOCATION%\binaries_prebuilt.zip %SUBST_DRIVE%\tmp
+
 rem copy %RELEASE_ZIP_LOCATION%\binaries_bldmefirst.zip %SUBST_DRIVE%\tmp
 copy %RELEASE_ZIP_LOCATION%\*_rndonly*.zip %SUBST_DRIVE%\tmp
 copy %RELEASE_ZIP_LOCATION%\bin_redist*.zip %SUBST_DRIVE%\tmp
@@ -226,8 +208,10 @@
 exit 0</command>
     </hudson.tasks.BatchFile>
     <hudson.tasks.BatchFile>
-      <command>IF NOT %SRC_LOCATION% == BOM exit
-%SUBST_DRIVE%
+      <command>%SUBST_DRIVE%
+cd \
+hg clone http://developer.symbian.org/oss/MCL/sftools/fbf/utilities/
+IF NOT %SRC_LOCATION% == BOM exit
 cd \
 @ECHO OFF
 IF NOT &quot;%HG_USERNAME%&quot; == &quot;&quot; GOTO USERNAME_OK
@@ -238,10 +222,8 @@
 echo &quot;You must enter a UserName and Password when using the BOM option&quot;
 exit 1
 :HG_OK
-cd \tmp
-hg clone http://developer.symbian.org/oss/MCL/utilities
 cd\
-\tmp\utilities\clone_packages\clone_all_packages.pl -packagelist \build_info\logs\BOM\build-info.xml -username %HG_USERNAME% -password %HG_PASSWORD% -retries=7</command>
+perl \utilities\clone_packages\clone_all_packages.pl -packagelist \build_info\logs\BOM\build-info.xml -username %HG_USERNAME% -password %HG_PASSWORD% -retries=7</command>
     </hudson.tasks.BatchFile>
     <hudson.tasks.BatchFile>
       <command>%BUILD_DRIVE%
@@ -250,11 +232,10 @@
 set PROJECT=single
 set TOOLS_BASELINE_ENABLE=true
 set TOOLS_CONFIG=tools_rel.whatlog,tools2_rel.whatlog
-IF %SPLIT_BUILD% == true set PROJECT=split
 IF %REBUILD_TOOLS% == true set TOOLS_BASELINE_ENABLE=false
 IF %REBUILD_TOOLS% == false set TOOLS_CONFIG=tools2_rel.whatlog
 cd %BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER%\sf-config
-hlm sf-build-noprep -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.spec.job.codeline=&quot;%SRC_LOCATION%&quot; -Dsf.project.location=%BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER%\build\config\%PLATFORM%\%PROJECT% -Dsf.spec.splitbuild=%SPLIT_BUILD% -Dsf.spec.sbs.config=&quot;%TARGET%&quot; -Dsf.spec.baseline.enable=%TOOLS_BASELINE_ENABLE% -Dsf.spec.sbs.tools.config=&quot;%TOOLS_CONFIG%&quot; -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.suppress.buildenv.check=true -Dsf.suppress.drive.space.check=true -Dsf.spec.logs.raptorfilter.enable=false -Dsf.spec.publish.enable=false -Dsf.spec.package.bin.enable=false -Dsf.spec.test.sendpkg.enable=false -Dskip.sbs.layer.generation=true</command>
+hlm sf-build-noprep -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.spec.job.codeline=&quot;%SRC_LOCATION%&quot; -Dsf.project.location=%BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER%\build\config\%PLATFORM%\%PROJECT% -Dsf.spec.splitbuild=false -Dsf.spec.sbs.config=&quot;%TARGET%&quot; -Dsf.spec.baseline.enable=%TOOLS_BASELINE_ENABLE% -Dsf.spec.sbs.tools.config=&quot;%TOOLS_CONFIG%&quot; -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.suppress.buildenv.check=true -Dsf.suppress.drive.space.check=true -Dsf.spec.logs.raptorfilter.enable=false -Dsf.spec.publish.enable=false -Dsf.spec.package.bin.enable=false -Dsf.spec.test.sendpkg.enable=false -Dskip.sbs.layer.generation=true -Dsf.spec.bldmefirst.s60.variant=%LOCALISATION%</command>
     </hudson.tasks.BatchFile>
   </builders>
   <publishers/>