buildframework/helium/tools/preparation/bom/bom.ant.xml
changeset 628 7c4a911dc066
parent 588 c7c26511138f
child 645 b8d81fa19e7d
--- a/buildframework/helium/tools/preparation/bom/bom.ant.xml	Wed Jun 16 16:51:40 2010 +0300
+++ b/buildframework/helium/tools/preparation/bom/bom.ant.xml	Fri Aug 13 14:59:05 2010 +0300
@@ -31,11 +31,26 @@
     -->
     <property name="create.bom.workarea.root" value="."/> 
     
+    <!--* @property bom.release.regex
+    This property (if set) defines the regular expression BOM will use to extract data from 
+    a basline release. The regular expression must define 4 fields: TYPE, YEAR, WEEK, REVISION
+    Example:
+        (?<TYPE>.*)_(?P<YEAR>\d{4})(?P<WEEK>\d{2})_(?<REVISION>.*)
+    
+    @type string
+    @editable allowed
+    @scope public
+    -->
+    
     <!-- The target create-bom creates a Bill-Of-Material based on the SCM project 
     The target can be run in the project's root directory or the directory can be given by
     setting the property create.bom.workarea.root. The IDO builds are expected to set it to their 
     projects work area directory. -->
-    <target name="create-bom" depends="get-ccm-password,old-bom-log,ccm-prepare-input,prep-prepare-input">
+    <target name="create-bom">
+        <runtarget target="get-ccm-password"/>
+        <runtarget target="old-bom-log"/>
+        <runtarget target="prep-prepare-input" />
+        <runtarget target="ccm-prepare-input"/>
         <hlm:startSpecificLogMacro name="${prep.log.dir}/${build.id}_bom.log" regexp="${ccm.user.password}" phase="prep"/>
         <hlm:python>
 import os
@@ -49,7 +64,7 @@
 
 session = None
 try:
-    runccm = ant.get_property(r'${run.ccm}')
+    runccm = ant.get_property(r'${ccm.enabled}')
     database = ant.get_property(r'${ccm.database}')
     username = ant.get_property(r'${ccm.user.login}')
     password = ant.get_property(r'${ccm.user.password}')
@@ -81,7 +96,7 @@
             
         ccmproject =  ccm.extra.get_toplevel_project(session, waroot)
         
-        config_data = {'delivery': deliveryfile, 'prep.xml': ant.get_property(r'${prep.config.file.parsed}'), 'build.id': buildid, 'ccm.database': database, 'symbian_rel_week': ant.get_property(r'${symbian.version.week}'), 'symbian_rel_ver': ant.get_property(r'${symbian.version}'), 'symbian_rel_year': ant.get_property(r'${symbian.version.year}'), 's60_version': ant.get_property(r'${s60.version}'), 's60_release': ant.get_property(r'${s60.release}'), 'currentRelease.xml': ant.get_property(r'${build.drive}') + "/currentRelease.xml"}
+        config_data = {'delivery': deliveryfile, 'prep.xml': ant.get_property(r'${prep.config.file.parsed}'), 'build.id': buildid, 'ccm.database': database, 'symbian_rel_week': ant.get_property(r'${symbian.version.week}'), 'symbian_rel_ver': ant.get_property(r'${symbian.version}'), 'symbian_rel_year': ant.get_property(r'${symbian.version.year}'), 's60_version': ant.get_property(r'${s60.version}'), 's60_release': ant.get_property(r'${s60.release}'), 'currentRelease.xml': ant.get_property(r'${build.drive}') + "/currentRelease.xml", 'release_regexp': ant.get_property(r'${bom.release.regex}') }
         config = configuration.Configuration(config_data)
         
         # let's only support the new spec model!