PDK_Helium/config.xml
author Shabe Razvi <shaber@symbian.org>
Tue, 16 Feb 2010 14:02:29 +0000
changeset 15 0b38a15ba03b
parent 13 0760f87d90d6
child 18 58a997e8d91d
permissions -rw-r--r--
Use 'default' revision rather than 'tip' for FBF. Tip is useless now that the TAGS branch exists.

<?xml version='1.0' encoding='UTF-8'?>
<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 be downloaded from the &lt;a href=&quot;http://developer.symbian.org/main/tools_and_kits/&quot;&gt;kits page.&lt;/a&gt;&#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;
&#xd;
&lt;h3&gt;Prerequisites&lt;/h3&gt;&#xd;
&lt;li&gt;Installation of mandatory &lt;a href=&quot;http://developer.symbian.org/wiki/index.php/How_to_perform_a_platform_build_of_PDK_3.0.b_using_helium#Installing_Build_Tools&quot;/&gt;build tools&lt;/a&gt;&#xd;
&lt;li&gt;Download of required (and recommended) &lt;a href=&quot;&#xd;
http://developer.symbian.org/wiki/index.php/How_to_perform_a_platform_build_of_PDK_3.0.b_using_helium#Getting_the_Baseline&quot;/&gt;zips &lt;/a&gt; from the &lt;a href=&quot;http://developer.symbian.org/main/tools_and_kits/&quot;&gt;kits page.&lt;/a&gt;&#xd;
&#xd;
&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;
</description>
  <keepDependencies>false</keepDependencies>
  <properties>
    <hudson.model.ParametersDefinitionProperty>
      <parameterDefinitions>
        <hudson.model.StringParameterDefinition>
          <name>BUILD_DRIVE</name>
          <description>Physical Build Drive</description>
          <defaultValue>C:</defaultValue>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>SUBST_DRIVE</name>
          <description>Subst&apos;d EPOC drive</description>
          <defaultValue>M:</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

</description>
          <defaultValue></defaultValue>
        </hudson.model.StringParameterDefinition>
        <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>
          <defaultValue>false</defaultValue>
        </hudson.model.BooleanParameterDefinition>
        <hudson.model.ChoiceParameterDefinition>
          <name>LOCALISATION</name>
          <description>Select whether to build more than one set of localised resources
&lt;li&gt;engineering - just r01, results in quicker build
&lt;li&gt;western - all defined language ids, build takes longer, but localised resources are created</description>
          <choices class="java.util.Arrays$ArrayList">
            <a class="string-array">
              <string>engineering</string>
              <string>western</string>
            </a>
          </choices>
        </hudson.model.ChoiceParameterDefinition>
        <hudson.model.ChoiceParameterDefinition>
          <name>SRC_LOCATION</name>
          <description>How to get src 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>
          <choices class="java.util.Arrays$ArrayList">
            <a class="string-array">
              <string>BOM</string>
              <string>ZIPFILES</string>
            </a>
          </choices>
        </hudson.model.ChoiceParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>HG_USERNAME</name>
          <description>Enter your symbian developer web username &lt;i&gt;(required for download of packages from BOM, not needed when using source zip packages)&lt;/i&gt;</description>
          <defaultValue></defaultValue>
        </hudson.model.StringParameterDefinition>
        <hudson.model.PasswordParameterDefinition>
          <name>HG_PASSWORD</name>
          <description>Enter your Mercurial symbian developer web password  &lt;i&gt;(required for download of packages from BOM, not needed when using source zip packages)&lt;/i&gt;
&lt;br&gt;</description>
          <defaultValue></defaultValue>
        </hudson.model.PasswordParameterDefinition>
        <hudson.model.ChoiceParameterDefinition>
          <name>PLATFORM</name>
          <description></description>
          <choices class="java.util.Arrays$ArrayList">
            <a class="string-array">
              <string>symbian3</string>
              <string>symbian2</string>
            </a>
          </choices>
        </hudson.model.ChoiceParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>TARGET</name>
          <description>Comma separated list of target(s) to build. Building armv5 targets requires RVCT arm compiler installed.
&lt;br&gt;&lt;br&gt;
&lt;li&gt;winscw_udeb.whatlog
&lt;li&gt;winscw_udeb.whatlog, armv5_urel.whatlog
&lt;li&gt;armv5.whatlog,winscw.whatlog</description>
          <defaultValue>winscw_udeb.whatlog</defaultValue>
        </hudson.model.StringParameterDefinition>
        <hudson.model.ChoiceParameterDefinition>
          <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;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.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>
      </parameterDefinitions>
    </hudson.model.ParametersDefinitionProperty>
  </properties>
  <scm class="hudson.scm.NullSCM"/>
  <canRoam>true</canRoam>
  <disabled>false</disabled>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <triggers class="vector"/>
  <concurrentBuild>true</concurrentBuild>
  <builders>
    <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
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>
    </hudson.tasks.BatchFile>
    <hudson.tasks.BatchFile>
      <command>%BUILD_DRIVE%
cd\
set HG_PASSWORD=
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>
    </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 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
IF %SRC_LOCATION% == BOM goto TOOLSZIP
copy %RELEASE_ZIP_LOCATION%\src_*.zip %SUBST_DRIVE%\tmp
:TOOLSZIP
IF %REBUILD_TOOLS% == true goto UNZIP
copy %RELEASE_ZIP_LOCATION%\binaries_epoc32_stlport.zip %SUBST_DRIVE%\tmp
copy %RELEASE_ZIP_LOCATION%\tools_*.zip %SUBST_DRIVE%\tmp
:UNZIP
%SUBST_DRIVE%
cd %SUBST_DRIVE%\tmp
7z x *.zip -o.. -y
cd..
7z x *.zip -y
del *.zip
exit 0</command>
    </hudson.tasks.BatchFile>
    <hudson.tasks.BatchFile>
      <command>IF NOT %SRC_LOCATION% == BOM exit
%SUBST_DRIVE%
cd \
@ECHO OFF
IF NOT &quot;%HG_USERNAME%&quot; == &quot;&quot; GOTO USERNAME_OK
echo &quot;You must enter a UserName and Password when using the BOM option&quot;
exit 1
:USERNAME_OK
IF NOT &quot;%HG_PASSWORD%&quot; == &quot;&quot; GOTO HG_OK
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>
    </hudson.tasks.BatchFile>
    <hudson.tasks.BatchFile>
      <command>%BUILD_DRIVE%
cd\
set HG_PASSWORD=
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>
    </hudson.tasks.BatchFile>
  </builders>
  <publishers/>
  <buildWrappers/>
</project>