FBF_BuildPackage/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;This project builds a specified package against a build environment created using the &lt;b&gt;FBF_PrepareEnvironment&lt;/b&gt; project (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;). The project can build the specified package from source already unzipped in the environment, or you can specify that you want the source cloned from Mercurial (this will be done at the correct revision as specified in the BOM)&lt;/p&gt;&#xd;
       
     7 &#xd;
       
     8 &lt;h3&gt;Prerequisites&lt;/h3&gt;&#xd;
       
     9 &lt;ol&gt;&#xd;
       
    10 &lt;li&gt;Run the &lt;b&gt;FBF_PrepareEnvironment&lt;/b&gt; project to prepare a build drive (your PC must satisfy all the FBF_PrepareEnvironment project preconditions). The build drive should have a &apos;maintools&apos; folder in the root as a result of running FBF_PrepareEnvironment&lt;/li&gt;&#xd;
       
    11 &lt;li&gt;If you wish to use a pre-prepared build that is no longer mapped to a drive, then you will need to &lt;tt&gt;subst&lt;/tt&gt; the build folder on the physical build drive - for example to &lt;tt&gt;subst&lt;/tt&gt; a folder on C: drive to M:&#xd;
       
    12 &lt;pre&gt;cd C:\unique_build_directory_created_by_FBF_PrepareEnvironment\&#xd;
       
    13 subst M: .&#xd;
       
    14 &lt;/pre&gt;&lt;/li&gt; &#xd;
       
    15 &lt;/ol&gt;&#xd;
       
    16 &#xd;
       
    17 &lt;h3&gt;Operation&lt;/h3&gt;&#xd;
       
    18 &lt;p&gt;The project will perform the following operations on the specified &lt;tt&gt;subst&lt;/tt&gt; drive:&lt;/p&gt;&#xd;
       
    19 &lt;ol&gt;&#xd;
       
    20 &lt;li&gt;(If requested) clone the source for the specified package from the web, at the revision in the BOM if GET_PACKAGE_SOURCE is specified.&lt;/li&gt;&#xd;
       
    21 &lt;li&gt;Compile the specified package (on cloned or pre-extracted source)&lt;/li&gt;&#xd;
       
    22 &lt;li&gt;Run post build reporting.&lt;/li&gt;&#xd;
       
    23 &lt;/ol&gt;&#xd;
       
    24 &#xd;
       
    25 &lt;h3&gt;Results&lt;/h3&gt;&#xd;
       
    26 &lt;p&gt;When Hudson reports success, this means that it ran to completion. You still need to look at build reports to identify if there are issues in your build. Post build reporting output is available in the following locations:&lt;/p&gt;&#xd;
       
    27 &lt;ol&gt;&#xd;
       
    28 &lt;li&gt;\output\logs\html\index.html&#xd;
       
    29 &lt;li&gt;\output\logs\analysis\&#xd;
       
    30 &lt;/ol&gt;</description>
       
    31   <keepDependencies>false</keepDependencies>
       
    32   <properties>
       
    33     <hudson.model.ParametersDefinitionProperty>
       
    34       <parameterDefinitions>
       
    35         <hudson.model.StringParameterDefinition>
       
    36           <name>SUBST_DRIVE</name>
       
    37           <description>Subst&apos;d EPOC drive, containing
       
    38 &lt;li&gt;epoc32 folder
       
    39 &lt;li&gt;FBF maintools folder</description>
       
    40           <defaultValue>M:</defaultValue>
       
    41         </hudson.model.StringParameterDefinition>
       
    42         <hudson.model.BooleanParameterDefinition>
       
    43           <name>GET_PACKAGE_SOURCE</name>
       
    44           <description>Clone the package from the web.
       
    45 &lt;li&gt;Replaces any existing source folder for this package
       
    46 &lt;li&gt;Requires HG_USERNAME and HG_PASSWORD</description>
       
    47           <defaultValue>false</defaultValue>
       
    48         </hudson.model.BooleanParameterDefinition>
       
    49         <hudson.model.StringParameterDefinition>
       
    50           <name>HG_USERNAME</name>
       
    51           <description>Enter your symbian developer web username &lt;i&gt;(required for download of packages from BOM)&lt;/i&gt;</description>
       
    52           <defaultValue></defaultValue>
       
    53         </hudson.model.StringParameterDefinition>
       
    54         <hudson.model.PasswordParameterDefinition>
       
    55           <name>HG_PASSWORD</name>
       
    56           <description>Enter your Mercurial symbian developer web password  &lt;i&gt;(required for download of packages from BOM&lt;/i&gt;
       
    57 &lt;br&gt;</description>
       
    58           <defaultValue></defaultValue>
       
    59         </hudson.model.PasswordParameterDefinition>
       
    60         <hudson.model.ChoiceParameterDefinition>
       
    61           <name>CODELINE</name>
       
    62           <description></description>
       
    63           <choices class="java.util.Arrays$ArrayList">
       
    64             <a class="string-array">
       
    65               <string>Symbian2</string>
       
    66               <string>Symbian3</string>
       
    67               <string>CompilerCompatability</string>
       
    68             </a>
       
    69           </choices>
       
    70         </hudson.model.ChoiceParameterDefinition>
       
    71         <hudson.model.StringParameterDefinition>
       
    72           <name>PACKAGE</name>
       
    73           <description>Layer and name of package e.g. os/kernelhwsrv</description>
       
    74           <defaultValue></defaultValue>
       
    75         </hudson.model.StringParameterDefinition>
       
    76         <hudson.model.StringParameterDefinition>
       
    77           <name>TARGET</name>
       
    78           <description>Comma separated list of target(s) to build. Building armv5 targets requires RVCT arm compiler installed. e.g.
       
    79 &lt;br&gt;&lt;br&gt;
       
    80 &lt;li&gt;tools.whatlog,tools2.whatlog,winscw_udeb.whatlog
       
    81 &lt;li&gt;winscw_udeb.whatlog, armv5_urel.whatlog
       
    82 &lt;li&gt;armv5.whatlog,winscw.whatlog</description>
       
    83           <defaultValue>winscw_udeb.whatlog</defaultValue>
       
    84         </hudson.model.StringParameterDefinition>
       
    85       </parameterDefinitions>
       
    86     </hudson.model.ParametersDefinitionProperty>
       
    87   </properties>
       
    88   <scm class="hudson.scm.NullSCM"/>
       
    89   <canRoam>true</canRoam>
       
    90   <disabled>false</disabled>
       
    91   <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
       
    92   <triggers class="vector"/>
       
    93   <concurrentBuild>true</concurrentBuild>
       
    94   <builders>
       
    95     <hudson.tasks.BatchFile>
       
    96       <command>IF NOT &quot;%GET_PACKAGE_SOURCE%&quot;==&quot;true&quot; exit 0
       
    97 %SUBST_DRIVE%
       
    98 cd \
       
    99 @ECHO OFF
       
   100 IF NOT &quot;%HG_USERNAME%&quot; == &quot;&quot; GOTO USERNAME_OK
       
   101 @echo &quot;You must enter a UserName and Password &quot;
       
   102 exit 1
       
   103 :USERNAME_OK
       
   104 IF NOT &quot;%HG_PASSWORD%&quot; == &quot;&quot; GOTO HG_OK
       
   105 @echo &quot;You must enter a UserName and Password&quot;
       
   106 exit 1
       
   107 :HG_OK
       
   108 if exist sf\%PACKAGE% (
       
   109     @ECHO ** Moving existing source for %PACKAGE% to %PACKAGE%.%BUILD_NUMBER%
       
   110     move sf\%PACKAGE% sf\%PACKAGE%.%BUILD_NUMBER%
       
   111 )
       
   112 cd \tmp
       
   113 hg clone http://developer.symbian.org/oss/MCL/utilities
       
   114 cd\
       
   115 \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>
       
   116     </hudson.tasks.BatchFile>
       
   117     <hudson.tasks.BatchFile>
       
   118       <command>%SUBST_DRIVE%
       
   119 set HG_PASSWORD=
       
   120 cd maintools\sf-config
       
   121 hlm sf-build-noprep -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.spec.sbs.config=&quot;%TARGET%&quot; -Dsf.project.type=package -Dsf.subproject.path=%CODELINE%/%PACKAGE% -Dsf.spec.publish.enable=false </command>
       
   122     </hudson.tasks.BatchFile>
       
   123     <hudson.tasks.BatchFile>
       
   124       <command>@ECHO **
       
   125 @ECHO ** Compile logs can be found in %SUBST_DRIVE%\output\logs\                          
       
   126 @ECHO ** Build summary can be found at %SUBST_DRIVE%\output\logs\html\index.htm 
       
   127 @ECHO **</command>
       
   128     </hudson.tasks.BatchFile>
       
   129   </builders>
       
   130   <publishers/>
       
   131   <buildWrappers/>
       
   132   <customWorkspace>D:\</customWorkspace>
       
   133 </project>