|
1 <?xml version='1.0' encoding='UTF-8'?> |
|
2 <project> |
|
3 <actions/> |
|
4 <description><img align="center" src="http://developer.symbian.org/img/skin1209/header_bg.gif" />
 |
|
5 <h3>Description</h3>
 |
|
6 <p>This project builds a specified package against a build environment created using the <b>FBF_PrepareEnvironment</b> project (using the <a href="http://developer.symbian.org/wiki/index.php/Build_machinery#Helium_.2F_Foundation_Build_Framework"/>Foundation Build Framework (Helium)</a>). 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)</p>
 |
|
7 
 |
|
8 <h3>Prerequisites</h3>
 |
|
9 <ol>
 |
|
10 <li>Run the <b>FBF_PrepareEnvironment</b> project to prepare a build drive (your PC must satisfy all the FBF_PrepareEnvironment project preconditions). The build drive should have a 'maintools' folder in the root as a result of running FBF_PrepareEnvironment</li>
 |
|
11 <li>If you wish to use a pre-prepared build that is no longer mapped to a drive, then you will need to <tt>subst</tt> the build folder on the physical build drive - for example to <tt>subst</tt> a folder on C: drive to M:
 |
|
12 <pre>cd C:\unique_build_directory_created_by_FBF_PrepareEnvironment\
 |
|
13 subst M: .
 |
|
14 </pre></li> 
 |
|
15 </ol>
 |
|
16 
 |
|
17 <h3>Operation</h3>
 |
|
18 <p>The project will perform the following operations on the specified <tt>subst</tt> drive:</p>
 |
|
19 <ol>
 |
|
20 <li>(If requested) clone the source for the specified package from the web, at the revision in the BOM if GET_PACKAGE_SOURCE is specified.</li>
 |
|
21 <li>Compile the specified package (on cloned or pre-extracted source)</li>
 |
|
22 <li>Run post build reporting.</li>
 |
|
23 </ol>
 |
|
24 
 |
|
25 <h3>Results</h3>
 |
|
26 <p>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:</p>
 |
|
27 <ol>
 |
|
28 <li>\output\logs\html\index.html
 |
|
29 <li>\output\logs\analysis\
 |
|
30 </ol></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'd EPOC drive, containing |
|
38 <li>epoc32 folder |
|
39 <li>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 <li>Replaces any existing source folder for this package |
|
46 <li>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 <i>(required for download of packages from BOM)</i></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 <i>(required for download of packages from BOM</i> |
|
57 <br></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 <br><br> |
|
80 <li>tools.whatlog,tools2.whatlog,winscw_udeb.whatlog |
|
81 <li>winscw_udeb.whatlog, armv5_urel.whatlog |
|
82 <li>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 "%GET_PACKAGE_SOURCE%"=="true" exit 0 |
|
97 %SUBST_DRIVE% |
|
98 cd \ |
|
99 @ECHO OFF |
|
100 IF NOT "%HG_USERNAME%" == "" GOTO USERNAME_OK |
|
101 @echo "You must enter a UserName and Password " |
|
102 exit 1 |
|
103 :USERNAME_OK |
|
104 IF NOT "%HG_PASSWORD%" == "" GOTO HG_OK |
|
105 @echo "You must enter a UserName and Password" |
|
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="%TARGET%" -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> |