buildframework/helium/tools/preparation/preparation.ant.xml
changeset 620 ad8ffc8e1982
parent 588 c7c26511138f
child 628 7c4a911dc066
equal deleted inserted replaced
585:238f4cb8391f 620:ad8ffc8e1982
    35     <!-- To check which ccmgetinput helium will be use
    35     <!-- To check which ccmgetinput helium will be use
    36     @type string
    36     @type string
    37     -->
    37     -->
    38     <property name="ccmgetinput" value="ccmgetinput" />
    38     <property name="ccmgetinput" value="ccmgetinput" />
    39 
    39 
       
    40     <typedef file="${ant.file.preparation}/../preparation.antlib.xml" uri="http://www.nokia.com/helium"/>
    40     <import file="bom/bom.ant.xml" />
    41     <import file="bom/bom.ant.xml" />
    41     <import file="password.ant.xml" />
    42     <import file="password.ant.xml" />
    42     <import file="ido-prep.ant.xml" />
    43     <import file="ido-prep.ant.xml" />
    43     <import file="synergy/ccmgetinput.ant.xml" />
    44     <import file="synergy/ccmgetinput.ant.xml" />
    44     <import file="synergy/buildmanagement.ant.xml" />
    45     <import file="synergy/buildmanagement.ant.xml" />
    68                     </not>
    69                     </not>
    69                     <then>
    70                     <then>
    70                         <exec executable="perl" dir="${build.drive}/" failonerror="true">
    71                         <exec executable="perl" dir="${build.drive}/" failonerror="true">
    71                             <arg value="${getenv.tool.location}"/>
    72                             <arg value="${getenv.tool.location}"/>
    72                             <arg value="-start"/>
    73                             <arg value="-start"/>
    73                             <arg value="-nosoap"/>            
       
    74                             <arg value="-path"/>
    74                             <arg value="-path"/>
    75                             <arg value="${base_release.path}"/>
    75                             <arg value="${base_release.path}"/>
    76                             <arg line="${base_release.getenv_options}"/>
    76                             <arg line="${base_release.getenv_options}"/>
    77                         </exec>
    77                         </exec>
    78                     </then>
    78                     </then>
   306         <propertyref name="release.grace.password" />
   306         <propertyref name="release.grace.password" />
   307         <propertyref name="unix.password" />
   307         <propertyref name="unix.password" />
   308         <propertyref name="release.notes.password" />
   308         <propertyref name="release.notes.password" />
   309         <propertyref name="nwiki.password" />
   309         <propertyref name="nwiki.password" />
   310         <propertyref name="noe.password" />
   310         <propertyref name="noe.password" />
   311         <propertyref name="ats3.password" />
   311         <propertyref name="ats.password" />
   312         <propertyref name="hydra.password" />
   312         <propertyref name="hydra.password" />
   313     </propertyset>
   313     </propertyset>
   314     
   314     
   315     <!-- Logs the Ant property build environment. -->
   315     <!-- Logs the Ant property build environment. -->
   316     <target name="log-build-env">
   316     <target name="log-build-env">
   355                 <isset property="use.dragonfly"/>
   355                 <isset property="use.dragonfly"/>
   356             </and>
   356             </and>
   357             <then>
   357             <then>
   358                 <antcall target="dragonfly-prep-drive"/>
   358                 <antcall target="dragonfly-prep-drive"/>
   359             </then>
   359             </then>
   360             <else>
   360             <else> 
   361                 <if>
       
   362                     <not>
       
   363                         <isset property="build.drive.notdefined"/>
       
   364                     </not>
       
   365                     <then>
       
   366                         <echo>Unsubsting any existing path substed to ${build.drive}.
       
   367 If this fails, it is because there was no substed drive.</echo>
       
   368                         <hlm:unsubst drive="${build.drive}" failonerror="${failonerror}"/>
       
   369                     </then>   
       
   370                 </if>    
       
   371                 <tstamp>
   361                 <tstamp>
   372                     <format property="old.prep.dir.timestamp" pattern="yyyyMMdd'_'HHmmss" />
   362                     <format property="old.prep.dir.timestamp" pattern="yyyyMMdd'_'HHmmss" />
   373                 </tstamp>
   363                 </tstamp>
   374                 <if>
   364                 <if>
   375                     <not>
   365                     <not>
   394 
   384 
   395         raise Exception('Could not rename prep dir')
   385         raise Exception('Could not rename prep dir')
   396                         </script>
   386                         </script>
   397                     </then>
   387                     </then>
   398                 </if>
   388                 </if>
   399                 <!-- Create a new directory for the build and subst it to a drive. -->
   389                 <!-- Create a new directory for the build and subst it to a drive. 
       
   390                 fail build if prep.root.dir property is not set.-->
       
   391                 <fail unless="prep.root.dir" message="prep.root.dir value should be specified." />
   400                 <mkdir dir="${prep.build.dir}" />
   392                 <mkdir dir="${prep.build.dir}" />
   401                 <exec osfamily="windows" executable="subst.exe" failonerror="false">
   393                 <hlm:unsubst drive="${build.drive}" failonerror="false"/>
       
   394                 <exec osfamily="windows" executable="subst" failonerror="false">
   402                     <arg value="${build.drive}" />
   395                     <arg value="${build.drive}" />
   403                     <arg value="${prep.build.dir}" />
   396                     <arg value="${prep.build.dir}" />
   404                 </exec>
   397                 </exec>
   405                 <antcall target="backup-subst-drives"/>
   398                 <antcall target="backup-subst-drives"/>
   406             </else>
   399             </else>
   451     <!-- This target exists as a trigger for initiating the Diamonds logger. If 
   444     <!-- This target exists as a trigger for initiating the Diamonds logger. If 
   452           it is not included in the build sequence, the build will not be logged to 
   445           it is not included in the build sequence, the build will not be logged to 
   453           Diamonds. Also  build.property.cache.file will be there contains all the diamonds related properties 
   446           Diamonds. Also  build.property.cache.file will be there contains all the diamonds related properties 
   454     --> 
   447     --> 
   455     <target name="diamonds">
   448     <target name="diamonds">
       
   449         <!--* @property skip.diamonds
       
   450         Set to true to skip diamonds.
       
   451         @type boolean
       
   452         @editable required
       
   453         @scope public
       
   454         -->
   456         <mkdir dir="${diamonds.build.output.dir}" />
   455         <mkdir dir="${diamonds.build.output.dir}" />
   457         <var name="diamonds.build.url"  value="http://${diamonds.host}:${diamonds.port}${diamonds.build.id}"/>
   456         <var name="diamonds.build.url"  value="http://${diamonds.host}:${diamonds.port}${diamonds.build.id}"/>
   458         <echoproperties destfile="${build.property.cache.file}">
   457         <echoproperties destfile="${build.property.cache.file}">
   459             <propertyset>
   458             <propertyset>
   460                 <propertyref prefix="diamonds.build.url"/>
   459                 <propertyref prefix="diamonds.build.url"/>
   466     </target>    
   465     </target>    
   467    
   466    
   468     <!-- Used to prep the build area, now only a placeholder target for the customer -->
   467     <!-- Used to prep the build area, now only a placeholder target for the customer -->
   469     <target name="prep-copy" />
   468     <target name="prep-copy" />
   470 
   469 
       
   470     <!--* @property ccm.enabled
       
   471     Defines that property if you want the ccm-get-input step to be run during the build area preparation.
       
   472     @type boolean
       
   473     @editable required
       
   474     @scope public
       
   475     -->
   471     
   476     
   472     <condition property="run.ccm">
   477     <condition property="run.ccm">
   473         <and>
   478         <and>
   474             <not>
   479             <not>
   475                 <equals arg1="${ccm.enabled}" arg2="false" casesensitive="true"/>
   480                 <equals arg1="${ccm.enabled}" arg2="false" casesensitive="true"/>
   564     </target>
   569     </target>
   565 
   570 
   566     
   571     
   567     <!-- Can be used to unsubst the drive . -->
   572     <!-- Can be used to unsubst the drive . -->
   568     <target name="remove-drive">
   573     <target name="remove-drive">
   569         <if>
   574         <hlm:unsubst drive="${build.drive}"/>
   570             <os family="windows"/>
   575     </target>
   571             <then>
   576     
   572                 <hlm:unsubst drive="${build.drive}"/>
   577     <!--
   573             </then>
   578       Simple target to create a set of directory based on a path reference.
   574         </if>
   579      -->
   575     </target>
   580     <target name="create-directory-structure">
   576     
   581         <if>
       
   582             <isreference refid="directory.structure.config" />
       
   583             <then>
       
   584                 <for param="dir">
       
   585                     <path refid="directory.structure.config" />
       
   586                     <sequential>
       
   587                         <mkdir dir="@{dir}" />
       
   588                     </sequential>
       
   589                 </for>
       
   590             </then>
       
   591             <else>
       
   592                 <echo>'directory.structure.config' reference not found, so not any directory structure will be created.</echo>
       
   593             </else>
       
   594         </if>
       
   595     </target>
   577     
   596     
   578 </project>
   597 </project>