buildframework/helium/tools/release/release.ant.xml
changeset 1 be27ed110b50
child 217 0f5e3a7fb6af
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/buildframework/helium/tools/release/release.ant.xml	Wed Oct 28 14:39:48 2009 +0000
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+============================================================================ 
+Name        : release.ant.xml 
+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="release" xmlns:hlm="http://www.nokia.com/helium">
+    <description>
+        Release publising.
+    </description>
+
+    <fileset id="release.files" dir="${publish.dir}">
+        <include name="logs/**/*" />
+        <include name="development_flash_images/**/*" />
+        <include name="release_flash_images/**/*" />
+        <include name="sisfiles/**/*" />
+        <include name="build_area/**/*" />
+        <include name="test_results/**/*" />
+        <include name="utilities/**/*" />
+    </fileset>
+
+    <!-- Copies release.files fileset into publish.release.folder destination -->
+    <target name="release">
+        <mkdir dir="${publish.release.dir}" />
+        <copy todir="${publish.release.dir}" preservelastmodified="true" failonerror="false">
+            <fileset refid="release.files" />
+        </copy>
+    </target>
+
+    <!--
+        This target sets the '''do.robot.release''' property so it activates 
+        the '''ido-sources-to-s60-build-robot''' target.
+    -->
+    <target name="check-robot-release" if="s60.build.robot.path">
+        <script language="jython" setbeans="false">
+            <![CDATA[
+self.setTaskName("check-robot-release")
+
+import ido
+projects = []
+mconfigstr = project.getProperty('s60.build.robot.date')
+if mconfigstr != None:
+    for configstr in mconfigstr.split(';'):
+        config = map(lambda x: x.strip(), configstr.split(','))
+        try:
+            if ido.is_in_interval(int(config[0]), config[1], int(config[2]), config[3]):
+                self.log("It is release time!")
+                projects.append(config[4])
+                project.setProperty('do.robot.release', ",".join(projects))
+            else:
+                self.log("It is not release time!")
+        except Exception, e:
+            self.log("'%s' invalid configuration." % configstr)
+else:
+    self.log("'s60.build.robot.date' is not defined.")
+]]>
+        </script>
+    </target>
+
+    <!-- Sources are sent to the S60 build robot by all the IDOs. 
+    This target collects all the sources based on the System Definition file, 
+    zip them all and send to the specified location. There is only one but mandatory 
+    property to tell the location of the build server which is "s60.build.robot.path".
+    -->
+    <target name="ido-sources-to-s60-build-robot" if="do.robot.release" depends="ido-create-ado-mapping,check-robot-release,lookup-email">
+        <property name="ido.template.robot.ready" location="${helium.dir}/tools/common/templates/ido/ready.txt.ftl" />
+        <tempfile property="s60robot.dynamic.config" suffix=".xml" deleteonexit="false" destdir="${temp.build.dir}" />
+        <fmpp sourceFile="${helium.dir}/tools/common/templates/ido/ido-robot-zip.ant.xml.ftl" outputFile="${s60robot.dynamic.config}">
+            <data expandProperties="yes">
+                    inputfile: antProperty(ado.mapping.file)
+                    ant: antProperties()
+                    data: eval('
+                                            java.io.FileInputStream pin = new java.io.FileInputStream(filename);
+                                            java.util.Properties props = new java.util.Properties();
+                                            props.load(pin);
+                        return props;
+                            ', {filename: get(inputfile)})
+            </data>
+        </fmpp>
+        <ant antfile="${s60robot.dynamic.config}" target="all" />
+        <fmpp sourceFile="${ido.template.robot.ready}" outputFile="${s60.build.robot.path}/ready.txt">
+            <data expandProperties="yes">
+                ant: antProperties()
+            </data>
+        </fmpp>
+    </target>
+
+</project>