Add PKG_Helium Package Build config to allow (re)build against Symbian^2 or Symbian^3 PDKs
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description><h3>Description</h3>
<li>The project will (re)build a specified package against the Symbian^2 or Symbian^3 Platform from source.
<li>The project will unzip any available source plus take source of the specified package from the web at the correct revision.
<br><br>
The Foundation Build Framework (FBF) is an Apache ANT-like configuration that can be used with the Helium tool, delivered in the <a href="https://developer.symbian.org/main/tools_and_kits/downloads/view.php?id=4"/>PDT</a>.

<h3>Prerequisites</h3>
<li>Installation of mandatory <a href="http://developer.symbian.org/wiki/index.php/How_to_Build_a_Package#Installing_Build_Tools"/>build tools</a>
<li>Download of required (and recommended) <a href="
http://developer.symbian.org/wiki/index.php/How_to_Build_a_Package#Getting_the_Baseline"/>zips </a> from the <a href="http://developer.symbian.org/main/tools_and_kits/">kits page.</a>

<h3>Additional Information</h3>
Source for the FBF can be downloaded from the following Mercurial Repositories -
<br>
<li>FBF Configuration - <a href="https://developer.symbian.org/oss/FCL/interim/fbf/configs/default/"/>https://developer.symbian.org/oss/FCL/interim/fbf/configs/default/</a>
<li>FBF Package Projects - <a href="https://developer.symbian.org/oss/FCL/interim/fbf/projects/packages"/>https://developer.symbian.org/oss/FCL/interim/fbf/projects/packages</a>
<li>FBF Bootstrap - <a href="https://developer.symbian.org/oss/FCL/interim/fbf/bootstrap"/>https://developer.symbian.org/oss/FCL/interim/fbf/bootstrap</a>
</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'd EPOC drive</description>
<defaultValue>M:</defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>RELEASE_ZIP_LOCATION</name>
<description>Location of <a href="http://developer.symbian.org/main/tools_and_kits/">release zipfiles</a>
<li>build_BOM.zip
<li>tools_epoc.zip
e.g. C:\downloads</description>
<defaultValue></defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>HG_USERNAME</name>
<description>Enter your symbian developer web username <i>(required for download of packages from BOM, not needed when using source zip packages)</i></description>
<defaultValue></defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.PasswordParameterDefinition>
<name>HG_PASSWORD</name>
<description>Enter your Mercurial symbian developer web password <i>(required for download of packages from BOM, not needed when using source zip packages)</i>
<br></description>
<defaultValue></defaultValue>
</hudson.model.PasswordParameterDefinition>
<hudson.model.ChoiceParameterDefinition>
<name>FBF_REV</name>
<description>The tagged version of the FBF (Helium) to use to build the Platform.
<li>tip - is the latest revision from the web
<br><br>
<i>Unless you want the latest changes, its recommended to use the revision that matches the build_BOM.zip downloaded</i>
</description>
<choices class="java.util.Arrays$ArrayList">
<a class="string-array">
<string>tip</string>
<string>PDK_2.0.2</string>
<string>PDK_2.0.1</string>
<string>PDK_2.0.0</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>
<hudson.model.ChoiceParameterDefinition>
<name>CODELINE</name>
<description></description>
<choices class="java.util.Arrays$ArrayList">
<a class="string-array">
<string>Symbian2</string>
<string>Symbian3</string>
<string>CompilerCompatability</string>
</a>
</choices>
</hudson.model.ChoiceParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>PACKAGE</name>
<description>Layer and name of package e.g. os/kernelhwsrv</description>
<defaultValue></defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>TARGET</name>
<description>Comma separated list of target(s) to build. Building armv5 targets requires RVCT arm compiler installed. e.g.
<br><br>
<li>tools.whatlog,tools2.whatlog,winscw_udeb.whatlog
<li>winscw_udeb.whatlog, armv5_urel.whatlog
<li>armv5.whatlog,winscw.whatlog</description>
<defaultValue>winscw_udeb.whatlog</defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.BooleanParameterDefinition>
<name>COMPILE_ONLY</name>
<description>Compile just the package. <b>Tick if -</b>
<li> the build environment on the drive specified has been prepared already.</description>
<defaultValue>false</defaultValue>
</hudson.model.BooleanParameterDefinition>
</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>IF "%COMPILE_ONLY%"=="true" exit 0
%BUILD_DRIVE%
cd\
mkdir %TMP%\sf-bootstrap.%BUILD_NUMBER%
cd /d %TMP%\sf-bootstrap.%BUILD_NUMBER%
hg clone http://developer.symbian.org/oss/FCL/interim/fbf/bootstrap
cd bootstrap
hlm -f bootstrap.xml -Dsf.project.repo=https://developer.symbian.org/oss/FCL/interim/fbf/projects/packages/ -Dsf.config.repo=http://developer.symbian.org/oss/FCL/interim/fbf/configs/default -Dsf.target.dir=%TMP%\maintools_%JOB_NAME%.%BUILD_NUMBER% -Dsf.config.rev=%FBF_REV% -Dsf.project.rev=%FBF_REV%</command>
</hudson.tasks.BatchFile>
<hudson.tasks.BatchFile>
<command>IF "%COMPILE_ONLY%"=="true" exit 0
%BUILD_DRIVE%
set HG_PASSWORD=
cd\
cd /d %TMP%\maintools_%JOB_NAME%.%BUILD_NUMBER%\sf-config
hlm sf-prep -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.spec.sbs.config="%TARGET%" -Dsf.spec.baseline.location=%RELEASE_ZIP_LOCATION% -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.suppress.buildenv.check=true -Dsf.suppress.drive.space.check=true -Dsf.project.type=package -Dsf.subproject.path=%CODELINE%/%PACKAGE% -Dsf.spec.publish.enable=false</command>
</hudson.tasks.BatchFile>
<hudson.tasks.BatchFile>
<command>exit 0
IF "%COMPILE_ONLY%"=="true" exit 0
%BUILD_DRIVE%
set HG_PASSWORD=
cd\
cd /d %TMP%\maintools_%JOB_NAME%.%BUILD_NUMBER%\sf-config
hlm sf-getenvs -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.spec.sbs.config="%TARGET%" -Dsf.spec.baseline.location=%RELEASE_ZIP_LOCATION% -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.suppress.buildenv.check=true -Dsf.suppress.drive.space.check=true -Dsf.project.type=package -Dsf.subproject.path=%CODELINE%/%PACKAGE% -Dsf.spec.publish.enable=false -Dsf.spec.baseline.getenv_options="-I rnd -I info -k"
exit 0</command>
</hudson.tasks.BatchFile>
<hudson.tasks.BatchFile>
<command>rem exit 0
IF "%COMPILE_ONLY%"=="true" exit 0
%SUBST_DRIVE%
cd\
mkdir tmp
copy %RELEASE_ZIP_LOCATION%\build_BOM.zip %SUBST_DRIVE%\tmp
copy %RELEASE_ZIP_LOCATION%\*bin*.zip %SUBST_DRIVE%\tmp
copy %RELEASE_ZIP_LOCATION%\src_*.zip %SUBST_DRIVE%\tmp
copy %RELEASE_ZIP_LOCATION%\tools_*.zip %SUBST_DRIVE%\tmp
%SUBST_DRIVE%
cd %SUBST_DRIVE%\tmp
dir
@ECHO OFF
7z x *.zip -o.. -y
cd..
7z x *.zip -y
del *.zip
exit 0</command>
</hudson.tasks.BatchFile>
<hudson.tasks.BatchFile>
<command>IF "%COMPILE_ONLY%"=="true" exit 0
%SUBST_DRIVE%
cd \
@ECHO OFF
IF NOT "%HG_USERNAME%" == "" GOTO USERNAME_OK
echo "You must enter a UserName and Password "
exit 1
:USERNAME_OK
IF NOT "%HG_PASSWORD%" == "" GOTO HG_OK
echo "You must enter a UserName and Password"
exit 1
:HG_OK
if exist sf\%PACKAGE% (
ECHO Moving zip source of %PACKAGE% to %PACKAGE%.PDK
move sf\%PACKAGE% sf\%PACKAGE%.PDK
)
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 -filter %PACKAGE%</command>
</hudson.tasks.BatchFile>
<hudson.tasks.BatchFile>
<command>IF "%COMPILE_ONLY%"=="true" exit 0
%BUILD_DRIVE%
set HG_PASSWORD=
cd /d %TMP%\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.sbs.config="%TARGET%" -Dsf.spec.baseline.location=%RELEASE_ZIP_LOCATION% -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.suppress.buildenv.check=true -Dsf.suppress.drive.space.check=true -Dsf.project.type=package -Dsf.subproject.path=%CODELINE%/%PACKAGE% -Dsf.spec.publish.enable=false </command>
</hudson.tasks.BatchFile>
<hudson.tasks.BatchFile>
<command>IF "%COMPILE_ONLY%"=="true" exit 0
ECHO Copying FBF tools to build drive, %SUBST_DRIVE%
@ECHO OFF
cd /d %TMP%
xcopy /s /q maintools_%JOB_NAME%.%BUILD_NUMBER% %SUBST_DRIVE%\maintools\</command>
</hudson.tasks.BatchFile>
<hudson.tasks.BatchFile>
<command>IF NOT "%COMPILE_ONLY%"=="true" exit 0
%SUBST_DRIVE%
set HG_PASSWORD=
cd maintools\sf-config
hlm sf-build-noprep -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.spec.sbs.config="%TARGET%" -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.project.type=package -Dsf.subproject.path=%CODELINE%/%PACKAGE% -Dsf.spec.publish.enable=false </command>
</hudson.tasks.BatchFile>
</builders>
<publishers/>
<buildWrappers/>
<customWorkspace>D:\</customWorkspace>
</project>