buildframework/helium/tools/publish/subcon.ant.xml
changeset 307 22ecbfc20eb4
parent 215 b61c19d4168d
parent 217 0f5e3a7fb6af
child 308 7830b8253b5a
equal deleted inserted replaced
215:b61c19d4168d 307:22ecbfc20eb4
     1 <?xml version="1.0" encoding="UTF-8"?>
       
     2 <!-- 
       
     3 ============================================================================ 
       
     4 Name        : subcon.ant.xml 
       
     5 Part of     : Helium 
       
     6 
       
     7 Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     8 All rights reserved.
       
     9 This component and the accompanying materials are made available
       
    10 under the terms of the License "Eclipse Public License v1.0"
       
    11 which accompanies this distribution, and is available
       
    12 at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
    13 
       
    14 Initial Contributors:
       
    15 Nokia Corporation - initial contribution.
       
    16 
       
    17 Contributors:
       
    18 
       
    19 Description:
       
    20 
       
    21 ============================================================================
       
    22 -->
       
    23 <project name="publish.subcon" xmlns:hlm="http://www.nokia.com/helium">
       
    24     <description>
       
    25     Targets for subcon build.
       
    26     </description>
       
    27     
       
    28     <!-- Verifies that the subcon zips allow subcon images to be built. -->
       
    29     <target name="create-subcon-roms">
       
    30         <!-- preparation.ant.xml <target name="prep-prepare-input"> 
       
    31         This will generate the subcon.prep.xml.parsed file with the appropriate file locations
       
    32         but with everything as it was in the original build (locations wise...)
       
    33         -->
       
    34         <property name="subcon.prep.config.file.parsed" location="${build.output.dir}/subcon.prep.xml.parsed" />
       
    35         <copy file="${subcon.prep.config.file}" tofile="${subcon.prep.config.file.parsed}" overwrite="true">
       
    36             <filterchain>
       
    37                 <expandproperties/>
       
    38             </filterchain>
       
    39         </copy>
       
    40         <property name="subcon.prep.build.dir" value="${prep.root.dir}/subcon_${build.id}"/>
       
    41 
       
    42         <antcall target="subcon-build">
       
    43             <param name="build.drive" value="${subcon.build.drive}"/>
       
    44             <param name="prep.config.file" value="${subcon.prep.config.file}"/>
       
    45             <param name="prep.config.file.parsed" value="${subcon.prep.config.file.parsed}"/>
       
    46             <param name="prep.build.dir" value="${subcon.prep.build.dir}"/>
       
    47             <param name="build.log.dir" value="${subcon.build.drive}/output/logs"/>
       
    48         </antcall>
       
    49 
       
    50         <!-- CLEAR THE subcon.build.drive Drive -->
       
    51         <hlm:unsubst drive="${subcon.build.drive}" failonerror="${failonerror}"/>
       
    52     </target>
       
    53 
       
    54     
       
    55     <!-- Runs a mini build sequence for testing subcon zips. -->
       
    56     <target name="subcon-build" depends="prep-drive,init-build-area,subcon-prep-copy,subcon-roms"/>
       
    57    
       
    58     
       
    59     <!-- Prepares a build drive with subcon zip content.
       
    60     
       
    61     TODO: how to stop doing whole subcon stage if prep fails, but not kill the build?
       
    62     -->
       
    63     <target name="subcon-prep-copy" depends="prep-prepare-input">
       
    64         <preset.exec executable="${env.PERL}" failonerror="${failonerror}"
       
    65                      output="${build.log.dir}/${build.id}_subcon_buildarea_prep.log">
       
    66             <arg value="${helium.dir}/tools/preparation/prep_build_area.pl" />
       
    67             <arg value="-config" />
       
    68             <arg value="${prep.config.file.parsed}" />
       
    69             <arg value="-destdir" />
       
    70             <arg value="${build.drive}${env.EPOCROOT}" />
       
    71             <arg value="-zipdir" />
       
    72             <arg value="${build.drive}/unzip" />
       
    73         </preset.exec>
       
    74         <!--Delete Symbian file to force S60 version to compile-->
       
    75         <delete file="${build.drive}/epoc32/tools/j2me/hromize.exe" />
       
    76     </target>
       
    77 
       
    78     
       
    79     <!-- Copies subcon ROMs back to the main build area. -->
       
    80     <target name="copy-subcon-roms" depends="create-subcon-roms">
       
    81         <copy todir="${build.output.dir}" preservelastmodified="true" failonerror="false">
       
    82             <fileset dir="${subcon.prep.build.dir}\output" casesensitive="false">
       
    83                 <include name="**/*"/>
       
    84             </fileset>
       
    85         </copy>
       
    86     </target>
       
    87 
       
    88     
       
    89     <!-- Verifies that subcon zips can be used to create subcon ROMs. -->
       
    90     <target name="verify-subcon-zips" depends="create-subcon-roms,copy-subcon-roms,zip-subcon-roms"/>
       
    91     
       
    92 </project>