buildframework/helium/tools/publish/synergy.ant.xml
changeset 628 7c4a911dc066
parent 587 85df38eb4012
child 645 b8d81fa19e7d
equal deleted inserted replaced
588:c7c26511138f 628:7c4a911dc066
    23 <!--* @package publishing -->
    23 <!--* @package publishing -->
    24 <project name="publish.synergy" xmlns:hlm="http://www.nokia.com/helium">
    24 <project name="publish.synergy" xmlns:hlm="http://www.nokia.com/helium">
    25     <description>
    25     <description>
    26     Synergy publishing related targets
    26     Synergy publishing related targets
    27     </description>
    27     </description>
    28 
    28     
       
    29     <!--* @property publish.task.to.folder.enabled
       
    30     Must be set to true if the completed tasks needs to be published into folder set using publish.ccm.folder.
       
    31     @type boolean
       
    32     @editable required
       
    33     @scope public
       
    34     @since 11.0
       
    35     -->
       
    36     
       
    37     <!--* @property internal.publish.task.to.folder.enabled
       
    38     Will publish the tasks into synergy folder set using publish.ccm.folder
       
    39     @type boolean
       
    40     @scope private
       
    41     -->
       
    42     
       
    43     <!--* @property publish.ccm.folder
       
    44     Must be set to publish the completed tasks into synergy folder.
       
    45     @type string
       
    46     @editable required
       
    47     @scope public
       
    48     -->
       
    49     
       
    50     <!--* @property team.level.ci.enabled
       
    51     Must be set to true if need to change the synergy release tag in team level CI system.
       
    52     @type boolean
       
    53     @editable required
       
    54     @scope public
       
    55     @since 11.0
       
    56     -->
       
    57     
       
    58     <!--* @property internal.team.level.ci.enabled
       
    59     Set to run the target which will change ther synergy release tag in team CI system if teamlevel.ci.enabled set to true.
       
    60     @type boolean
       
    61     @scope private
       
    62     -->
       
    63     
       
    64     <!--* @property teamlevel.ci.system
       
    65     Must be set to true if need to change the synergy release tag in team level CI system. - deprecated: Start using teamlevel.ci.enabled property.
       
    66     @type boolean
       
    67     @editable required
       
    68     @scope public
       
    69     @deprecated since 11.0
       
    70     -->
       
    71     
    29     <!-- Validate all the inputs for the publish-tasks-to-folder target. -->
    72     <!-- Validate all the inputs for the publish-tasks-to-folder target. -->
    30     <target name="publish-tasks-to-folder-check" if="publish.ccm.folder">
    73     <condition property="internal.publish.task.to.folder.enabled">
    31         <condition property="do.publish-tasks-to-folder" value="true">
    74         <or>
    32             <available file="${build.log.dir}/${build.id}_bom.xml" />
    75             <istrue value="${publish.task.to.folder.enabled}"/>
    33         </condition>
    76             <isset property="publish.ccm.folder"/>
    34     </target>
    77         </or>
       
    78     </condition>
       
    79     
       
    80     <!-- Check is it a team level CI system. -->
       
    81     <condition property="internal.team.level.ci.enabled">
       
    82         <or>
       
    83             <istrue value="${team.level.ci.enabled}"/>
       
    84             <isset property="teamlevel.ci.system"/>
       
    85         </or>
       
    86     </condition>
       
    87     
       
    88     
    35 
    89 
    36     <!-- Copies all the task found in the BOM into defined folder. -->
    90     <!-- Copies all the task found in the BOM into defined folder. -->
    37     <target name="publish-tasks-to-folder" depends="publish-tasks-to-folder-check" if="do.publish-tasks-to-folder">
    91     <target name="publish-tasks-to-folder" if="internal.publish.task.to.folder.enabled">
    38         <mkdir dir="${temp.build.dir}" />
    92         <if>
    39         <fmpp sourceFile="${helium.dir}/tools/common/templates/ido/task-publish.ant.xml.ftl" outputFile="${temp.build.dir}/task-publish.ant.xml">
    93             <available file="${build.log.dir}/${build.id}_bom.xml" />
    40             <freemarkerLinks expandProperties="yes">
    94             <then>
    41                 macro: ${helium.dir}/tools/common/templates/macro
    95                 <mkdir dir="${temp.build.dir}" />
    42             </freemarkerLinks>
    96                 <fmpp sourceFile="${helium.dir}/tools/common/templates/ido/task-publish.ant.xml.ftl" outputFile="${temp.build.dir}/task-publish.ant.xml">
    43             <data expandProperties="yes">
    97                     <freemarkerLinks expandProperties="yes">
    44                 bom: xml(${build.log.dir}/${build.id}_bom.xml)
    98                         macro: ${helium.dir}/tools/common/templates/macro
    45                 ant: antProperties()
    99                     </freemarkerLinks>
    46             </data>
   100                     <data expandProperties="yes">
    47         </fmpp>
   101                         bom: xml(${build.log.dir}/${build.id}_bom.xml)
    48         <hlm:assertFileExists file="${temp.build.dir}/task-publish.ant.xml" />
   102                         ant: antProperties()
    49         <ant antfile="${temp.build.dir}/task-publish.ant.xml" dir="${build.drive}/" />
   103                     </data>
       
   104                 </fmpp>
       
   105                 <hlm:assertFileExists file="${temp.build.dir}/task-publish.ant.xml" />
       
   106                 <ant antfile="${temp.build.dir}/task-publish.ant.xml" dir="${build.drive}/" />
       
   107             </then>
       
   108             <else>
       
   109                 <echo>Skipped because file ${build.log.dir}/${build.id}_bom.xml not available.</echo>
       
   110             </else>
       
   111         </if>
    50     </target>
   112     </target>
    51 
   113 
    52     <!--* @property ccm.cache.xml
   114     <!--* @property ccm.cache.xml
    53     Location of the cache.xml file which enables global synergy sessions.
   115     Location of the cache.xml file which enables global synergy sessions.
    54     @type string
   116     @type string
    55     @editable required
   117     @editable required
    56     @scope public
   118     @scope public
    57     -->
   119     -->
    58 
   120 
       
   121     <!--
       
   122     Synergy role to use while doing the update of release tag.
       
   123     @type string
       
   124     @editable required
       
   125     @scope public
       
   126     -->
       
   127     <property name="change.release.tag.role" value="build_mgr" />
       
   128     
    59     <!-- Change team level release tag to program level release tag -->
   129     <!-- Change team level release tag to program level release tag -->
    60     <target name="change-release-tag" if="teamlevel.ci.system">
   130     <target name="change-release-tag" if="internal.team.level.ci.enabled">
    61         <if>
   131         <if>
    62             <isset property="ccm.cache.xml" />
   132             <isset property="ccm.cache.xml" />
    63             <then>
   133             <then>
    64                 <hlm:createSessionMacro database="${ccm.database}" reference="releasetag.session" cache="${ccm.cache.xml}"/>
   134                 <hlm:createSessionMacro database="${ccm.database}" reference="releasetag.session" cache="${ccm.cache.xml}"/>
    65             </then>
   135             </then>
    67                 <hlm:createSessionMacro database="${ccm.database}" reference="releasetag.session" />
   137                 <hlm:createSessionMacro database="${ccm.database}" reference="releasetag.session" />
    68             </else>
   138             </else>
    69         </if>
   139         </if>
    70         <hlm:ccm verbose="false">
   140         <hlm:ccm verbose="false">
    71             <hlm:sessionset refid="releasetag.session" />
   141             <hlm:sessionset refid="releasetag.session" />
       
   142             <hlm:role role="${change.release.tag.role}" />
    72             <hlm:changereleasetag folder="${teamlevel.folder.number}" releasetag="${programlevel.release.tag}" />
   143             <hlm:changereleasetag folder="${teamlevel.folder.number}" releasetag="${programlevel.release.tag}" />
    73         </hlm:ccm>
   144         </hlm:ccm>
    74         <if>
   145         <if>
    75             <not>
   146             <not>
    76                 <isset property="ccm.cache.xml" />
   147                 <isset property="ccm.cache.xml" />