FBF_PrepareEnvironment/config.xml
changeset 10 6605a601cc77
equal deleted inserted replaced
9:eb11a5189bd4 10:6605a601cc77
       
     1 <?xml version='1.0' encoding='UTF-8'?>
       
     2 <project>
       
     3   <actions/>
       
     4   <description>&lt;img align=&quot;center&quot; src=&quot;http://developer.symbian.org/img/skin1209/header_bg.gif&quot; /&gt;&#xd;
       
     5 &lt;h3&gt;Description&lt;/h3&gt;&#xd;
       
     6 &lt;p&gt;&#xd;
       
     7 This project prepares a build environment that can be used by the &lt;b&gt;FBF_BuildPackage&lt;/b&gt; job for building packages (using the &lt;a href=&quot;http://developer.symbian.org/wiki/index.php/Build_machinery#Helium_.2F_Foundation_Build_Framework&quot;/&gt;Foundation Build Framework (Helium)&lt;/a&gt;). It has been tested against the Symbian^2 and Symbian^3 PDK.&#xd;
       
     8 &lt;/p&gt; &#xd;
       
     9 &#xd;
       
    10 &lt;h3&gt;Prerequisites&lt;/h3&gt;&#xd;
       
    11 &lt;ol&gt;&#xd;
       
    12 &lt;li&gt;Install the &lt;a href=&quot;http://developer.symbian.org/wiki/index.php/Product_Development_Toolkit_Quick_Start&quot;/&gt;PDT&lt;/a&gt; (build tools) and &lt;a href=&quot;http://downloads.sourceforge.net/sevenzip/7z465.exe&quot;/&gt;7-zip&lt;/a&gt;&lt;/li&gt;&#xd;
       
    13 &lt;li&gt;Download of &lt;a href=&quot;&#xd;
       
    14 http://developer.symbian.org/wiki/index.php/How_to_Build_a_Package#Getting_the_Baseline&quot;/&gt;required (and recommended) zips&lt;/a&gt; from the &#xd;
       
    15 &lt;a href=&quot;http://developer.symbian.org/main/tools_and_kits/downloads/view.php?id=1/&quot;&gt;Symbian^2&lt;/a&gt;, &lt;a href=&quot;http://developer.symbian.org/main/tools_and_kits/downloads/view.php?id=5/&quot;&gt;Symbian^3&lt;/a&gt; (or &lt;a href=&quot;http://developer.symbian.org/main/tools_and_kits/&quot;&gt;other&lt;/a&gt;) kits page.  &lt;/li&gt;&#xd;
       
    16 &lt;li&gt;If the package you are building is dependent on other source zips, then the corresponding source zip should also be downloaded. For example, if you want to build &lt;i&gt;os\emulatorbsp&lt;/i&gt; then you&apos;ll also need to have the &lt;i&gt;os\kernel&lt;/i&gt; source too, so you&apos;d copy &lt;i&gt;src_oss_os.zip&lt;/i&gt; into RELEASE_ZIP_LOCATION&lt;/li&gt;&#xd;
       
    17 &lt;/ol&gt;&#xd;
       
    18 &#xd;
       
    19 &#xd;
       
    20 &lt;h3&gt;Operation&lt;/h3&gt;&#xd;
       
    21 &lt;p&gt;The project:&lt;/p&gt;&#xd;
       
    22 &lt;ol&gt;&#xd;
       
    23 &lt;li&gt; Creates a unique folder in the specified physical BUILD_DRIVE, then subst it to the SUBST_DRIVE.&lt;/li&gt;&#xd;
       
    24 &lt;li&gt;Unpack zips provided in RELEASE_ZIP_LOCATION (including the binaries, tools, bill of materials (BOM), additional binaries (stuff that cant be re-built) and any available source into the root of SUBST_DRIVE drive. &lt;/li&gt;&#xd;
       
    25 &lt;li&gt;Copies the Foundation Build Framework (FBF) &apos;maintools&apos; folder into the subst&apos;d drive for later re-use.&lt;/li&gt;&#xd;
       
    26 &lt;/ol&gt;&#xd;
       
    27 </description>
       
    28   <keepDependencies>false</keepDependencies>
       
    29   <properties>
       
    30     <hudson.model.ParametersDefinitionProperty>
       
    31       <parameterDefinitions>
       
    32         <hudson.model.StringParameterDefinition>
       
    33           <name>BUILD_DRIVE</name>
       
    34           <description>Physical Build Drive</description>
       
    35           <defaultValue>C:</defaultValue>
       
    36         </hudson.model.StringParameterDefinition>
       
    37         <hudson.model.StringParameterDefinition>
       
    38           <name>SUBST_DRIVE</name>
       
    39           <description>SUBST drive to be used for the build area</description>
       
    40           <defaultValue>M:</defaultValue>
       
    41         </hudson.model.StringParameterDefinition>
       
    42         <hudson.model.StringParameterDefinition>
       
    43           <name>RELEASE_ZIP_LOCATION</name>
       
    44           <description>Location where you&apos;ve stored the &lt;a href=&quot;
       
    45 http://developer.symbian.org/wiki/index.php/How_to_Build_a_Package#Getting_the_Baseline&quot;/&gt;release zipfiles&lt;/a&gt; (bin*.zip, build_BOM.zip, tools_epoc.zip)
       
    46 
       
    47 e.g. C:\downloads</description>
       
    48           <defaultValue></defaultValue>
       
    49         </hudson.model.StringParameterDefinition>
       
    50         <hudson.model.ChoiceParameterDefinition>
       
    51           <name>FBF_REV</name>
       
    52           <description>The tagged version of the FBF (Helium) to use to build the Platform.
       
    53 &lt;li&gt;tip - is the latest revision from the web
       
    54 &lt;br&gt;&lt;br&gt;
       
    55 &lt;i&gt;Its recommended to use the tip revision, however allows a specific revision if needed&lt;/i&gt;
       
    56 </description>
       
    57           <choices class="java.util.Arrays$ArrayList">
       
    58             <a class="string-array">
       
    59               <string>tip</string>
       
    60               <string>PDK_2.0.2</string>
       
    61               <string>PDK_2.0.1</string>
       
    62               <string>PDK_2.0.0</string>
       
    63               <string>PDK_3.0.e</string>
       
    64               <string>PDK_3.0.d</string>
       
    65               <string>PDK_3.0.c</string>
       
    66               <string>PDK_3.0.b</string>
       
    67               <string>PDK_3.0.a</string>
       
    68             </a>
       
    69           </choices>
       
    70         </hudson.model.ChoiceParameterDefinition>
       
    71       </parameterDefinitions>
       
    72     </hudson.model.ParametersDefinitionProperty>
       
    73   </properties>
       
    74   <scm class="hudson.scm.NullSCM"/>
       
    75   <canRoam>true</canRoam>
       
    76   <disabled>false</disabled>
       
    77   <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
       
    78   <triggers class="vector"/>
       
    79   <concurrentBuild>true</concurrentBuild>
       
    80   <builders>
       
    81     <hudson.tasks.BatchFile>
       
    82       <command>%BUILD_DRIVE%
       
    83 cd\
       
    84 mkdir %TMP%\sf-bootstrap.%BUILD_NUMBER%
       
    85 cd /d %TMP%\sf-bootstrap.%BUILD_NUMBER%
       
    86 hg clone http://developer.symbian.org/oss/FCL/interim/fbf/bootstrap
       
    87 cd bootstrap
       
    88 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_%BUILD_NUMBER% -Dsf.config.rev=%FBF_REV% -Dsf.project.rev=%FBF_REV%</command>
       
    89     </hudson.tasks.BatchFile>
       
    90     <hudson.tasks.BatchFile>
       
    91       <command>%BUILD_DRIVE%
       
    92 cd\
       
    93 cd /d %TMP%\maintools_%BUILD_NUMBER%\sf-config
       
    94 hlm sf-prep -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%BUILD_NUMBER% -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=build -Dsf.spec.publish.enable=false</command>
       
    95     </hudson.tasks.BatchFile>
       
    96     <hudson.tasks.BatchFile>
       
    97       <command>%SUBST_DRIVE%
       
    98 cd\
       
    99 mkdir tmp
       
   100 copy %RELEASE_ZIP_LOCATION%\build_BOM.zip %SUBST_DRIVE%\tmp
       
   101 copy %RELEASE_ZIP_LOCATION%\*bin*.zip %SUBST_DRIVE%\tmp
       
   102 copy %RELEASE_ZIP_LOCATION%\src_*.zip %SUBST_DRIVE%\tmp
       
   103 copy %RELEASE_ZIP_LOCATION%\tools_*.zip %SUBST_DRIVE%\tmp
       
   104 %SUBST_DRIVE%
       
   105 cd %SUBST_DRIVE%\tmp
       
   106 @ECHO ** Zip files available to unpack -
       
   107 dir
       
   108 @ECHO OFF
       
   109 7z x *.zip -o.. -y
       
   110 cd..
       
   111 7z x *.zip -y
       
   112 del *.zip
       
   113 exit 0</command>
       
   114     </hudson.tasks.BatchFile>
       
   115     <hudson.tasks.BatchFile>
       
   116       <command>@ECHO Copying FBF tools to build drive, %SUBST_DRIVE%
       
   117 @ECHO OFF
       
   118 cd /d %TMP%
       
   119 xcopy /s /q maintools_%BUILD_NUMBER% %SUBST_DRIVE%\maintools\
       
   120 @ECHO ** Drive %SUBST_DRIVE% has been prepared. To reuse this area later, just re-subst it.</command>
       
   121     </hudson.tasks.BatchFile>
       
   122   </builders>
       
   123   <publishers/>
       
   124   <buildWrappers/>
       
   125   <customWorkspace>D:\</customWorkspace>
       
   126 </project>