PDK_Helium/config.xml
author Shabe Razvi <shaber@symbian.org>
Tue, 06 Jul 2010 15:38:10 +0100
changeset 21 3291c6ed4a3b
parent 19 1aa526b5b90b
permissions -rw-r--r--
Update PDK_Helium to reflect supported build process as of PDK_3.0.0

<?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^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 using the &lt;a href=&quot;http://developer.symbian.org/wiki/index.php/Foundation_Build_Framework&quot;/&gt; Foundation Build Framework (FBF)&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/Foundation_Build_Framework/How_to_build_the_Platform&quot;/&gt;manual build process &lt;/a&gt;for Helium and is a simple way to start building using the &lt;a href=&quot;http://developer.symbian.org/wiki/index.php/Foundation_Build_Framework&quot;/&gt; Foundation Build Framework (FBF)&lt;/a&gt;&#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/Foundation_Build_Framework/How_to_build_the_Platform#Step_1:_Setup_your_Environment&quot;/&gt;build tools&lt;/a&gt;&#xd;
&#xd;
&lt;h3&gt;Additional Information&lt;/h3&gt;&#xd;
&lt;li&gt;Foundation Build Framework &lt;a href=&quot;http://developer.symbian.org/wiki/index.php/Foundation_Build_Framework/Frequently_Asked_Questions&quot;/&gt;FAQ&lt;/a&gt;&#xd;
&lt;li&gt;Foundation Build Framework &lt;a href=&quot;http://developer.symbian.org/wiki/index.php/Foundation_Build_Framework/Troubleshooting&quot;/&gt;Troubleshooting guide&lt;/a&gt;&#xd;
&lt;br&gt;&lt;br&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;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 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>
          <name>SUBST_DRIVE</name>
          <description>Subst&apos;d EPOC drive</description>
          <defaultValue>M:</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;3.0.0
&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>HG_USERNAME</name>
          <description>Enter your symbian developer web username &lt;i&gt;(required for any downloading of packages from BOM)&lt;/i&gt;</description>
          <defaultValue></defaultValue>
        </hudson.model.StringParameterDefinition>
        <hudson.model.PasswordParameterDefinition>
          <name>HG_PASSWORD</name>
          <description>Enter your symbian developer web password  &lt;i&gt;(required for downloading of prebuilt binaries, tools and BOM)&lt;/i&gt;</description>
          <defaultValue></defaultValue>
        </hudson.model.PasswordParameterDefinition>
        <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>SUB_PROJECT</name>
          <description></description>
          <choices class="java.util.Arrays$ArrayList">
            <a class="string-array">
              <string>symbian3/single</string>
            </a>
          </choices>
        </hudson.model.ChoiceParameterDefinition>
        <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.BooleanParameterDefinition>
          <name>USE_PREBUILT_TOOLS</name>
          <description>Select this if you want to use the prebuilt tools. Only unselect this if you want to rebuild tools -
&lt;li&gt; Note: Rebuild requires comercial VC++ 6.0 to be installed</description>
          <defaultValue>true</defaultValue>
        </hudson.model.BooleanParameterDefinition>
        <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.StringParameterDefinition>
          <name>FBF_REV</name>
          <description>The tagged version of the FBF (Helium) to use to build the Platform.
&lt;li&gt;default - for the latest development revision from the web (may be unstable)
&lt;li&gt;PDK_3.0.0 - for 3.0.0 revision
&lt;li&gt;S3_LATESTGOOD - for the latest Symbian^3 stable revision
&lt;br&gt;&lt;br&gt;
&lt;i&gt;Unless you want a specific revision, its recommended to use the &apos;S3_LATESTGOOD&apos; revision of the FBF, as this will be a stable version&lt;/i&gt;</description>
          <defaultValue>S3_LATESTGOOD</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>
  <disabled>false</disabled>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <triggers class="vector"/>
  <concurrentBuild>true</concurrentBuild>
  <builders>
    <hudson.tasks.BatchFile>
      <command>@ECHO OFF
IF &quot;%DOWNLOAD_KIT%&quot;==&quot;false&quot; EXIT 0
IF NOT EXIST C:\Symbian\utilities\.hg GOTO CLONE
hg pull --update -R C:\Symbian\utilities
GOTO DOWNLOADKIT
:CLONE
hg clone https://developer.symbian.org/oss/MCL/utilities/ C:\Symbian\utilities
:DOWNLOADKIT
mkdir %RELEASE_ZIP_LOCATION%
cd /d %RELEASE_ZIP_LOCATION%
C:\Symbian\utilities\downloadkit\downloadkit.py --nounzip --nowinscw --noarmv5 --progress --nosrc %KIT_VERSION% --username=%HG_USERNAME% --password=%HG_PASSWORD% &gt; %TMP%\downloadkit.out.%BUILD_NUMBER%
@ECHO ON
type %TMP%\downloadkit.out.%BUILD_NUMBER%
@ECHO OFF
del %TMP%\downloadkit.out.%BUILD_NUMBER%
exit 0</command>
    </hudson.tasks.BatchFile>
    <hudson.tasks.BatchFile>
      <command>%BUILD_DRIVE%
cd\
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/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%
cd\
cd %BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER%\sf-config
hlm sf-build -Dsf.spec.job.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.subproject.path=%SUB_PROJECT% -Dsf.spec.toolsbaseline.enable=%USE_PREBUILT_TOOLS% -Dsf.spec.sbs.config=&quot;%TARGET%&quot; -Dsf.spec.sbs.tools.config=&quot;tools.whatlog,tools2.whatlog&quot;  -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.suppress.buildenv.check=true -Dsf.suppress.drive.space.check=true -Dsf.spec.bldmefirst.s60.variant=%LOCALISATION% -Dsf.spec.baseline.location=&quot;%RELEASE_ZIP_LOCATION%&quot;</command>
    </hudson.tasks.BatchFile>
  </builders>
  <publishers/>
  <buildWrappers/>
</project>