|
1 <?xml version='1.0' encoding='UTF-8'?> |
|
2 <project> |
|
3 <actions/> |
|
4 <description><h3>Description</h3>
 |
|
5 <li>The project will (re)build a specified package against the Symbian^2 or Symbian^3 Platform from source.
 |
|
6 <li>The project will unzip any available source plus take source of the specified package from the web at the correct revision.
 |
|
7 <br><br>
 |
|
8 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>.
 |
|
9 
 |
|
10 <h3>Prerequisites</h3>
 |
|
11 <li>Installation of mandatory <a href="http://developer.symbian.org/wiki/index.php/How_to_Build_a_Package#Installing_Build_Tools"/>build tools</a>
 |
|
12 <li>Download of required (and recommended) <a href="
 |
|
13 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>
 |
|
14 
 |
|
15 <h3>Additional Information</h3>
 |
|
16 Source for the FBF can be downloaded from the following Mercurial Repositories -
 |
|
17 <br>
 |
|
18 <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>
 |
|
19 <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>
 |
|
20 <li>FBF Bootstrap - <a href="https://developer.symbian.org/oss/FCL/interim/fbf/bootstrap"/>https://developer.symbian.org/oss/FCL/interim/fbf/bootstrap</a>
 |
|
21 </description> |
|
22 <keepDependencies>false</keepDependencies> |
|
23 <properties> |
|
24 <hudson.model.ParametersDefinitionProperty> |
|
25 <parameterDefinitions> |
|
26 <hudson.model.StringParameterDefinition> |
|
27 <name>BUILD_DRIVE</name> |
|
28 <description>Physical Build Drive</description> |
|
29 <defaultValue>C:</defaultValue> |
|
30 </hudson.model.StringParameterDefinition> |
|
31 <hudson.model.StringParameterDefinition> |
|
32 <name>SUBST_DRIVE</name> |
|
33 <description>Subst'd EPOC drive</description> |
|
34 <defaultValue>M:</defaultValue> |
|
35 </hudson.model.StringParameterDefinition> |
|
36 <hudson.model.StringParameterDefinition> |
|
37 <name>RELEASE_ZIP_LOCATION</name> |
|
38 <description>Location of <a href="http://developer.symbian.org/main/tools_and_kits/">release zipfiles</a> |
|
39 <li>build_BOM.zip |
|
40 <li>tools_epoc.zip |
|
41 |
|
42 e.g. C:\downloads</description> |
|
43 <defaultValue></defaultValue> |
|
44 </hudson.model.StringParameterDefinition> |
|
45 <hudson.model.StringParameterDefinition> |
|
46 <name>HG_USERNAME</name> |
|
47 <description>Enter your symbian developer web username <i>(required for download of packages from BOM, not needed when using source zip packages)</i></description> |
|
48 <defaultValue></defaultValue> |
|
49 </hudson.model.StringParameterDefinition> |
|
50 <hudson.model.PasswordParameterDefinition> |
|
51 <name>HG_PASSWORD</name> |
|
52 <description>Enter your Mercurial symbian developer web password <i>(required for download of packages from BOM, not needed when using source zip packages)</i> |
|
53 <br></description> |
|
54 <defaultValue></defaultValue> |
|
55 </hudson.model.PasswordParameterDefinition> |
|
56 <hudson.model.ChoiceParameterDefinition> |
|
57 <name>FBF_REV</name> |
|
58 <description>The tagged version of the FBF (Helium) to use to build the Platform. |
|
59 <li>tip - is the latest revision from the web |
|
60 <br><br> |
|
61 <i>Unless you want the latest changes, its recommended to use the revision that matches the build_BOM.zip downloaded</i> |
|
62 </description> |
|
63 <choices class="java.util.Arrays$ArrayList"> |
|
64 <a class="string-array"> |
|
65 <string>tip</string> |
|
66 <string>PDK_2.0.2</string> |
|
67 <string>PDK_2.0.1</string> |
|
68 <string>PDK_2.0.0</string> |
|
69 <string>PDK_3.0.d</string> |
|
70 <string>PDK_3.0.c</string> |
|
71 <string>PDK_3.0.b</string> |
|
72 <string>PDK_3.0.a</string> |
|
73 </a> |
|
74 </choices> |
|
75 </hudson.model.ChoiceParameterDefinition> |
|
76 <hudson.model.ChoiceParameterDefinition> |
|
77 <name>CODELINE</name> |
|
78 <description></description> |
|
79 <choices class="java.util.Arrays$ArrayList"> |
|
80 <a class="string-array"> |
|
81 <string>Symbian2</string> |
|
82 <string>Symbian3</string> |
|
83 <string>CompilerCompatability</string> |
|
84 </a> |
|
85 </choices> |
|
86 </hudson.model.ChoiceParameterDefinition> |
|
87 <hudson.model.StringParameterDefinition> |
|
88 <name>PACKAGE</name> |
|
89 <description>Layer and name of package e.g. os/kernelhwsrv</description> |
|
90 <defaultValue></defaultValue> |
|
91 </hudson.model.StringParameterDefinition> |
|
92 <hudson.model.StringParameterDefinition> |
|
93 <name>TARGET</name> |
|
94 <description>Comma separated list of target(s) to build. Building armv5 targets requires RVCT arm compiler installed. e.g. |
|
95 <br><br> |
|
96 <li>tools.whatlog,tools2.whatlog,winscw_udeb.whatlog |
|
97 <li>winscw_udeb.whatlog, armv5_urel.whatlog |
|
98 <li>armv5.whatlog,winscw.whatlog</description> |
|
99 <defaultValue>winscw_udeb.whatlog</defaultValue> |
|
100 </hudson.model.StringParameterDefinition> |
|
101 <hudson.model.BooleanParameterDefinition> |
|
102 <name>COMPILE_ONLY</name> |
|
103 <description>Compile just the package. <b>Tick if -</b> |
|
104 |
|
105 <li> the build environment on the drive specified has been prepared already.</description> |
|
106 <defaultValue>false</defaultValue> |
|
107 </hudson.model.BooleanParameterDefinition> |
|
108 </parameterDefinitions> |
|
109 </hudson.model.ParametersDefinitionProperty> |
|
110 </properties> |
|
111 <scm class="hudson.scm.NullSCM"/> |
|
112 <canRoam>true</canRoam> |
|
113 <disabled>false</disabled> |
|
114 <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> |
|
115 <triggers class="vector"/> |
|
116 <concurrentBuild>true</concurrentBuild> |
|
117 <builders> |
|
118 <hudson.tasks.BatchFile> |
|
119 <command>IF "%COMPILE_ONLY%"=="true" exit 0 |
|
120 %BUILD_DRIVE% |
|
121 cd\ |
|
122 mkdir %TMP%\sf-bootstrap.%BUILD_NUMBER% |
|
123 cd /d %TMP%\sf-bootstrap.%BUILD_NUMBER% |
|
124 hg clone http://developer.symbian.org/oss/FCL/interim/fbf/bootstrap |
|
125 cd bootstrap |
|
126 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> |
|
127 </hudson.tasks.BatchFile> |
|
128 <hudson.tasks.BatchFile> |
|
129 <command>IF "%COMPILE_ONLY%"=="true" exit 0 |
|
130 %BUILD_DRIVE% |
|
131 set HG_PASSWORD= |
|
132 cd\ |
|
133 cd /d %TMP%\maintools_%JOB_NAME%.%BUILD_NUMBER%\sf-config |
|
134 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> |
|
135 </hudson.tasks.BatchFile> |
|
136 <hudson.tasks.BatchFile> |
|
137 <command>exit 0 |
|
138 IF "%COMPILE_ONLY%"=="true" exit 0 |
|
139 %BUILD_DRIVE% |
|
140 set HG_PASSWORD= |
|
141 cd\ |
|
142 cd /d %TMP%\maintools_%JOB_NAME%.%BUILD_NUMBER%\sf-config |
|
143 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" |
|
144 exit 0</command> |
|
145 </hudson.tasks.BatchFile> |
|
146 <hudson.tasks.BatchFile> |
|
147 <command>rem exit 0 |
|
148 IF "%COMPILE_ONLY%"=="true" exit 0 |
|
149 %SUBST_DRIVE% |
|
150 cd\ |
|
151 mkdir tmp |
|
152 copy %RELEASE_ZIP_LOCATION%\build_BOM.zip %SUBST_DRIVE%\tmp |
|
153 copy %RELEASE_ZIP_LOCATION%\*bin*.zip %SUBST_DRIVE%\tmp |
|
154 copy %RELEASE_ZIP_LOCATION%\src_*.zip %SUBST_DRIVE%\tmp |
|
155 copy %RELEASE_ZIP_LOCATION%\tools_*.zip %SUBST_DRIVE%\tmp |
|
156 %SUBST_DRIVE% |
|
157 cd %SUBST_DRIVE%\tmp |
|
158 dir |
|
159 @ECHO OFF |
|
160 7z x *.zip -o.. -y |
|
161 cd.. |
|
162 7z x *.zip -y |
|
163 del *.zip |
|
164 exit 0</command> |
|
165 </hudson.tasks.BatchFile> |
|
166 <hudson.tasks.BatchFile> |
|
167 <command>IF "%COMPILE_ONLY%"=="true" exit 0 |
|
168 %SUBST_DRIVE% |
|
169 cd \ |
|
170 @ECHO OFF |
|
171 IF NOT "%HG_USERNAME%" == "" GOTO USERNAME_OK |
|
172 echo "You must enter a UserName and Password " |
|
173 exit 1 |
|
174 :USERNAME_OK |
|
175 IF NOT "%HG_PASSWORD%" == "" GOTO HG_OK |
|
176 echo "You must enter a UserName and Password" |
|
177 exit 1 |
|
178 :HG_OK |
|
179 if exist sf\%PACKAGE% ( |
|
180 ECHO Moving zip source of %PACKAGE% to %PACKAGE%.PDK |
|
181 move sf\%PACKAGE% sf\%PACKAGE%.PDK |
|
182 ) |
|
183 cd \tmp |
|
184 hg clone http://developer.symbian.org/oss/MCL/utilities |
|
185 cd\ |
|
186 \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> |
|
187 </hudson.tasks.BatchFile> |
|
188 <hudson.tasks.BatchFile> |
|
189 <command>IF "%COMPILE_ONLY%"=="true" exit 0 |
|
190 %BUILD_DRIVE% |
|
191 set HG_PASSWORD= |
|
192 cd /d %TMP%\maintools_%JOB_NAME%.%BUILD_NUMBER%\sf-config |
|
193 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> |
|
194 </hudson.tasks.BatchFile> |
|
195 <hudson.tasks.BatchFile> |
|
196 <command>IF "%COMPILE_ONLY%"=="true" exit 0 |
|
197 ECHO Copying FBF tools to build drive, %SUBST_DRIVE% |
|
198 @ECHO OFF |
|
199 cd /d %TMP% |
|
200 xcopy /s /q maintools_%JOB_NAME%.%BUILD_NUMBER% %SUBST_DRIVE%\maintools\</command> |
|
201 </hudson.tasks.BatchFile> |
|
202 <hudson.tasks.BatchFile> |
|
203 <command>IF NOT "%COMPILE_ONLY%"=="true" exit 0 |
|
204 %SUBST_DRIVE% |
|
205 set HG_PASSWORD= |
|
206 cd maintools\sf-config |
|
207 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> |
|
208 </hudson.tasks.BatchFile> |
|
209 </builders> |
|
210 <publishers/> |
|
211 <buildWrappers/> |
|
212 <customWorkspace>D:\</customWorkspace> |
|
213 </project> |