1 <?xml version="1.0" encoding="UTF-8"?> |
1 <?xml version="1.0" encoding="UTF-8"?> |
2 <project name="SF-BOOTSTRAP" default="bootstrap" xmlns:hlm="http://www.nokia.com/helium"> |
2 <project name="SF-BOOTSTRAP" default="bootstrap" xmlns:hlm="http://www.nokia.com/helium"> |
3 |
3 |
4 |
4 <dirname property="sf.bootstrap.dir" file="${ant.file.SF-CONFIG}"/> |
5 <property name="sbs.tools.src.path" value="e:\build_e\varamana\sbs-source-dir"/> |
|
6 <property name="sbs.zip.file" value="sbs_2.4.0_with_nokia_cfgs.zip"/> |
|
7 |
5 |
8 <!-- location of Hg bootstrap repositories --> |
6 <import file="bootstrap.properties.ant.xml" /> |
9 <property name="sf.config.repository" value="d:\TB91_releases\sf-new\hg-sf-helium-config" /> |
|
10 |
|
11 <!-- call this project --> |
|
12 <property name="platform.config.repository" value="d:\TB91_releases\sf-new\hg-platform-config" /> |
|
13 |
|
14 <!-- the build dir to put bootstrap files into --> |
|
15 <property name="bootstrap.base.dir" value="d:\TB91_releases\sf-new\build\" /> |
|
16 |
|
17 <import file="${helium.dir}/helium.ant.xml" /> |
7 <import file="${helium.dir}/helium.ant.xml" /> |
18 <!-- <target name="bootstrap" depends="init,get-sf-config,get-sbs-tools,get-platform-config" />--> |
8 <!-- <target name="bootstrap" depends="init,get-sf-config,get-sbs-tools,get-platform-config" />--> |
19 |
9 |
20 <target name="bootstrap" depends="init,get-sf-config,get-platform-config" /> |
10 <target name="bootstrap" depends="init,get-sf-config,get-platform-config, parse-platform-config, |
|
11 generate-pkg-build-xml" /> |
21 |
12 |
22 <target name="init"> |
13 <target name="init"> |
23 <mkdir dir="${bootstrap.base.dir}" /> |
14 <mkdir dir="${bootstrap.base.dir}" /> |
24 <mkdir dir="${bootstrap.base.dir}/build" /> |
15 <mkdir dir="${bootstrap.base.dir}/build" /> |
25 <mkdir dir="${bootstrap.base.dir}/build/config" /> |
16 <mkdir dir="${bootstrap.base.dir}/build/config" /> |
28 <echo message="cleaning up the environment" /> |
19 <echo message="cleaning up the environment" /> |
29 <delete dir="${bootstrap.base.dir}/" /> |
20 <delete dir="${bootstrap.base.dir}/" /> |
30 </target> |
21 </target> |
31 |
22 |
32 <target name="get-sf-config"> |
23 <target name="get-sf-config"> |
33 <!-- remove jars once cleared for subcon |
|
34 <classpath> |
|
35 <pathelement location="D:/helium-3.44/helium-3.44.x/helium/external/antlibs/internal/maven-scm-api-1.1.jar"/> |
|
36 <pathelement location="D:/helium-3.44/helium-3.44.x/helium/external/antlibs/internal/maven-scm-provider-svn-commons-1.1.jar"/> |
|
37 <pathelement location="D:/helium-3.44/helium-3.44.x/helium/external/antlibs/internal/maven-scm-provider-synergy-1.1.jar"/> |
|
38 <pathelement location="D:/helium-3.44/helium-3.44.x/helium/external/antlibs/internal/maven-scm-provider-hg-1.1.jar"/> |
|
39 </classpath> |
|
40 --> |
|
41 <echo message="Getting sf helium configuration from repository ${sf.config.repository}" /> |
24 <echo message="Getting sf helium configuration from repository ${sf.config.repository}" /> |
42 <hlm:scm verbose="true" scmUrl="scm:hg:${sf.config.repository}"> |
25 <hlm:scm verbose="true" scmUrl="scm:hg:${sf.config.repository}"> |
43 <hlm:checkout basedir="${bootstrap.base.dir}/sf-config"/> |
26 <hlm:checkout basedir="${bootstrap.base.dir}/sf-config"/> |
44 </hlm:scm> |
27 </hlm:scm> |
45 </target> |
28 </target> |
46 |
29 |
47 <target name="get-sbs-tools"> |
30 <target name="get-sbs-tools"> |
|
31 <!-- Todo: Move this to helium config or after parsing platform build configuration |
|
32 to install the tools from there --> |
48 <if> |
33 <if> |
49 <not><available file="${bootstrap.base.dir}/sbs"/></not> |
34 <not><available file="${bootstrap.base.dir}/sbs"/></not> |
50 <then> |
35 <then> |
51 <echo message="Extracting sbs tools ${sbs.tools.src.path}/${sbs.zip.file}" /> |
36 <echo message="Extracting sbs tools ${sbs.tools.src.path}/${sbs.zip.file}" /> |
52 <unzip src="${sbs.tools.src.path}/${sbs.zip.file}" dest="${bootstrap.base.dir}" /> |
37 <unzip src="${sbs.tools.src.path}/${sbs.zip.file}" dest="${bootstrap.base.dir}" /> |
57 </then> |
42 </then> |
58 </if> |
43 </if> |
59 </target> |
44 </target> |
60 |
45 |
61 <target name="get-platform-config"> |
46 <target name="get-platform-config"> |
62 |
|
63 |
|
64 |
|
65 <echo message="Getting platform configuration${platform.config.repository}" /> |
47 <echo message="Getting platform configuration${platform.config.repository}" /> |
66 <hlm:scm verbose="true" scmUrl="scm:hg:${platform.config.repository}"> |
48 <hlm:scm verbose="true" scmUrl="scm:hg:${platform.config.repository}"> |
67 <hlm:checkout basedir="${bootstrap.base.dir}/build/config"/> |
49 <hlm:checkout basedir="${bootstrap.base.dir}/build/config"/> |
68 </hlm:scm> |
50 </hlm:scm> |
69 </target> |
51 </target> |
|
52 |
|
53 <target name="parse-platform-config"> |
|
54 <!-- Todo: Parse the platform config and generate properties and csv file to be |
|
55 used by the builds. --> |
|
56 <echo message="Parse the platform configuration" /> |
|
57 </target> |
|
58 |
|
59 <target name="generate-pkg-build-xml" depends="parse-platform-config"> |
|
60 <!-- Todo: 1. Same file name hg-pkg-build.ant.xml is used for all packages |
|
61 for multiple package builds, this needs to be linked with package name. --> |
|
62 <fmpp sourceFile="${sf.bootstrap.dir}/templates/hg-pkg-build.ant.xml.ftl" |
|
63 outputFile="${bootstrap.base.dir}/build/hg-pkg-build.ant.xml"> |
|
64 <data expandProperties="yes"> |
|
65 ant: antProperties() |
|
66 data: csv(${bootstrap.base.dir}/build/config/${hg.config}, {separator:','}) |
|
67 </data> |
|
68 </fmpp> |
|
69 </target> |
70 </project> |
70 </project> |