bootstrap.xml
changeset 1 ebb0926c7024
parent 0 d1c51edcc657
child 3 c360fdfe164c
equal deleted inserted replaced
0:d1c51edcc657 1:ebb0926c7024
     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>