buildframework/helium/tests/minibuilds/imaker/build.xml
author kelvzhu
Mon, 18 Oct 2010 16:16:46 +0800
changeset 655 3f65fd25dfd4
parent 645 b8d81fa19e7d
permissions -rw-r--r--
sync up SVN codes

<?xml version="1.0" encoding="UTF-8"?>
<!-- 
============================================================================ 
Name        : 
Part of     : Helium 

Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
All rights reserved.
This component and the accompanying materials are made available
under the terms of the License "Eclipse Public License v1.0"
which accompanies this distribution, and is available
at the URL "http://www.eclipse.org/legal/epl-v10.html".

Initial Contributors:
Nokia Corporation - initial contribution.

Contributors:

Description:

============================================================================
-->
<project name="minibuild.imaker" default="help" xmlns:au="org.apache.ant.antunit" xmlns:hlm="http://www.nokia.com/helium">
    <property environment="env"/>
    <import file="../site/${env.TEAM}.ant.xml" />
    <dirname property="config.dir" file="${ant.file.minibuild.ido}"/>
    
    <!-- Enable Helium internal assertion checking. -->
    <property name="hlm.enable.asserts" value="1" />

    <property name="build.name" value="minibuild_imaker" />
    <property name="build.family" value="minibuild_imaker" />
    <property name="major.version" value="0" />
    <property name="minor.version" value="0" />
    <property name="ccm.enabled" value="true"/>
    <property name="ncp.version" value="79"/>
    <property name="s60.version" value="52"/>
    <tstamp><format property="build.year" pattern="yyyy"/></tstamp>
    <tstamp><format property="build.week" pattern="ww"/></tstamp>
    <property name="rombuild.buildinfo.template" location="${build.drive}/build/s60_52_build/build/helium_conf/imaker_conf/image_conf_buildinfo.mk.ftl"/>
    
    <!-- Configuring the build system -->
    <property name="build.system" value="ec-helium" />
    
    <property name="ec.cluster.manager" value="fawec001"/>
    <property name="ec.build.class" value="ISISBR"/>
    
    <property name="rvct.version" value="22_616"/>

    <!-- Configuring get latest env. -->
    <property name="s60.grace.service" value="s60_devices_sw" />
    <property name="s60.grace.product" value="DFS7x.92" />
    <property name="s60.grace.release" value="92_\d{6}_hw79" />
    <property name="prep.root.dir" value="E:\Build_E\${env.USERNAME}\ido_ba\${build.name}" />


    <import file="${helium.dir}/helium.ant.xml"/>

    <!-- Need to define custom preparation steps. -->
      <target name="ido-prep" depends="prep-drive,preparation-getenv"/>

    <!-- Run the full sequence of target for the minibuild. ,minibuild-prep,compile-main,zip-ee,minibuild-check-->
    <target name="do-minibuild" depends="ido-update-build-area,
                                            minibuild-cleanup,
                                            minibuild-install-new-imaker,
                                            minibuild-prepare,
                                            build-roms,
                                            fota-a-build,
                                            build-icreatordp,
                                            minibuild-check,
                                            final"/>
    
    
    <!--ant code coverage for minibuilds-->
    <target name="minibuild">
        <antcall target="database">
            <param name="home.files.only" value="false"/>
        </antcall>
        <mkdir dir="${helium.build.dir}/temp"/>
        <property name="config.temp.build.dir" location="${config.dir}/build"/>
        <hlm:coveragerecord name="${helium.build.dir}/temp/test.minibuild-ido.xml" action="start"/>
        <runtarget target="do-minibuild"/>
        <hlm:coveragerecord name="${helium.build.dir}/temp/test.minibuild-ido.xml" action="stop"/>
        <fmpp sourcefile="${helium.dir}/tools/common/templates/coveragerecord.txt.ftl"
            outputfile="${helium.build.dir}/temp/test_minibuild.txt">
            <data expandProperties="yes">
                doc: xml(${helium.build.dir}/temp/test.minibuild-ido.xml)
                database: xml(${database.file})
            </data>
        </fmpp>
        <loadfile srcfile="${helium.build.dir}/temp/test_minibuild.txt" property="ant.coverage.summary"/>
        <echo>
The summary of Ant code coverage:

${ant.coverage.summary}</echo>
        <fmpp sourcefile="${helium.dir}/tools/common/templates/coveragerecord.html.ftl"
              outputfile="${helium.build.dir}/temp/test_minibuild.html">
            <data expandProperties="yes">
                doc: xml(${helium.build.dir}/temp/test.minibuild-ido.xml)
                database: xml(${database.file})
            </data>
        </fmpp>
    </target>

    <target name="minibuild-install-new-imaker">
        <!-- Export custom image configuration file. -->
        <copy file="config/image_conf_naming.mk" tofile="${build.drive}/epoc32/rom/config/image_conf_naming.mk"/>
        <!--hlm:bldmakeBldfilesMacro dir="${build.drive}/imaker_rnd/group"/>
        <hlm:abldMacro dir="${build.drive}/imaker_rnd/group" command="cleanexport" platform=""/>
        <hlm:abldMacro dir="${build.drive}/imaker_rnd/group" command="export" platform=""/-->
    </target>
    
    <target name="minibuild-build-roms" depends="build-roms,imaker-merge-rom-xml"/>
    
    <target name="build-roms-ec">
        <antcall target="minibuild-build-roms">
            <reference refid="imaker.rom.config" torefid="imaker.rom.config"/>
            <param name="build.system" value="ec-helium"/>
            <param name="release.images.dir" value="${build.output.dir}/imaker_ec"/>            
       </antcall>
    </target>
    
    <target name="build-roms-ebs">
        <antcall target="minibuild-build-roms">
            <reference refid="imaker.rom.config" torefid="imaker.rom.config"/>
            <param name="build.system" value="ebs"/>
            <param name="release.images.dir" value="${build.output.dir}/imaker_ebs"/>         
       </antcall>
    </target>
    
    <!-- test target. -->
    <target name="imaker-build" depends="build-roms-ec,build-roms-ebs">
    </target>

    
    <target name="check-diamonds">
        <loadfile srcfile="${build.log.dir}/${build.id}_diamonds-log-start.xml" property="diamonds.log.start"/>
        <echo>${diamonds.log.start}</echo>
        <loadresource property="diamonds.log.start.output">
            <url url="${diamonds.build.url}?fmt=xml"/>
        </loadresource>
        <echo>${diamonds.log.start.output}</echo>
    </target>
    
    <target name="minibuild-cleanup">
        <delete verbose="true" includeemptydirs="true" failonerror="false">
            <fileset dir="${build.drive}/" casesensitive="false">
                <include name="makefile"/>
                <include name="*.mk"/>
                <include name="ecloud_tmp_*/**"/>
                <include name="emake.*"/>
                <include name="epoc32/build/**"/>
                <!--<include name="epoc32/rombuild/*/**"/>-->
                <include name="output/**"/>
                <include name="timestart.txt"/>
                <include name="timestop.txt"/>
            </fileset>
        </delete>
        <mkdir dir="${build.drive}/output/logs"/>
    </target>
    
    
    <target name="minibuild-prepare">
        <hlm:hackMacro file="${build.drive}/epoc32/rom/config/${product.platform}/${product.name}/customer/custvariant_01_test/content/variant.mk" keyword="CUSTVARIANT_COMPLP" regex="(custvariant\s*$)" replace="\1\nCUSTVARIANT_COMPLP=01 02"/>
    </target>

    <target name="minibuild-check">
    </target>
        
    <!-- Rom configuration -->
    <hlm:imakerconfigurationset id="imaker.rom.config">
        <imakerconfiguration>
            <hlm:product list="${product.list}" ui="true"/>
            <targetset>
                <include name="^core$"/>
                <include name="^langpack_01.*$"/>
                <include name="^langpack_02.*$"/>
                <include name="^custvariant_01_test$"/>
            </targetset>
            <variableset>
                <variable name="USE_FOTI" value="0"/>
                <variable name="USE_FOTA" value="1"/>
                <variable name="TYPE" value="rnd"/>
            </variableset>
        </imakerconfiguration>
        <!--imakerconfiguration>
            <makefileset>
                <include name="**/${product.name}/*ui.mk"/>
            </makefileset>
            <targetset>
                <include name="^core$"/>
                <include name="^langpack_01.*$"/>
                <include name="^langpack_02.*$"/>
                <include name="^custvariant_.*$"/>
            </targetset>
            <variableset>
                <variable name="USE_FOTI" value="0"/>
                <variable name="USE_FOTA" value="1"/>
                <variable name="USE_FOTAXML" value="1"/>
                <variable name="TYPE" value="prd"/>
            </variableset>
        </imakerconfiguration-->
    </hlm:imakerconfigurationset>    
</project>