Merge s^4 and ats changes.
--- a/common/build.postbuild.xml Wed May 12 12:42:35 2010 +0100
+++ b/common/build.postbuild.xml Wed May 12 12:56:34 2010 +0100
@@ -36,7 +36,6 @@
<stopwatch name="sf-postbuild packaging binaries"/>
<echo message="INFO Packaging Binaries"/>
<runtarget target="sf-package-binary"/>
-<!-- <runtarget target="sf-package-tools"/> -->
<echo message="INFO Validate Zip files"/>
<runtarget target="sf-package-validate"/>
@@ -79,9 +78,9 @@
<!-- copy log files linked to the generation of roms for REE -->
<runtarget target="sf-copy-rom-logs"/>
-
- <runtarget target="sf-merge-brag"/>
-
+
+ <runtarget target="sf-merge-brag"/>
+
<!-- Zip up all the logs -->
<runtarget target="sf-zip-logs"/>
@@ -151,7 +150,7 @@
</exec>
<exec executable="cmd" dir="${build.drive}/">
<arg value="/c"/>
- <arg value="evalid -g epoc32/cshlpcmp_template output/md5/epoc32_cshlpcmp_template.md5"/>
+ <arg value="evalid -g epoc32/cshlpcmp_template output/md5/epoc32_cshlpcmp_template.md5"/>
</exec>
<exec executable="cmd" dir="${build.drive}/">
<arg value="/c"/>
@@ -241,10 +240,12 @@
<arg value="a"/>
<arg value="-t${sf.spec.package.zip.format}"/>
<arg value="-x@${build.log.dir}/rnd_excludefile.txt"/>
+ <arg value="-x@${sf.spec.prebuilt.excludelist}"/>
<arg value="-x@${sf.epoc32.exclusions.file}"/>
<arg value="-x!epoc32\gcc"/>
<arg value="-x!epoc32\gcc_mingw"/>
<arg value="-x!epoc32\tools"/>
+ <arg value="-x!epoc32\data\buildinfo.txt"/>
<arg value="-x!epoc32\build"/>
<arg value="-x!epoc32\release\armv5"/>
<arg value="-x!epoc32\release\winscw"/>
@@ -252,7 +253,7 @@
<arg value="${build.drive}/output/zips/release/binaries_epoc.zip"/>
<arg value="epoc32\"/>
</exec>
- </sequential>
+ </sequential>
<if>
<isset property="sf.sdk.header.list.file"/>
@@ -262,6 +263,7 @@
<arg value="-t${sf.spec.package.zip.format}"/>
<arg value="-i@${sf.sdk.header.list.file}"/>
<arg value="-x@${build.log.dir}/rnd_excludefile.txt"/>
+ <arg value="-x@${sf.spec.prebuilt.excludelist}"/>
<arg value="${build.drive}/output/zips/release/binaries_epoc_sdk.zip"/>
</exec>
<!-- Check that all the files we want in the SDK are zipped -->
@@ -284,6 +286,7 @@
<arg value="a"/>
<arg value="-t${sf.spec.package.zip.format}"/>
<arg value="-x@${build.log.dir}/rnd_excludefile.txt"/>
+ <arg value="-x@${sf.spec.prebuilt.excludelist}"/>
<arg value="-xr!*.sym"/>
<arg value="-xr!*.lib"/>
<arg value="${build.drive}/output/zips/release/binaries_winscw_udeb.zip"/>
@@ -293,6 +296,7 @@
<arg value="a"/>
<arg value="-t${sf.spec.package.zip.format}"/>
<arg value="-x@${build.log.dir}/rnd_excludefile.txt"/>
+ <arg value="-x@${sf.spec.prebuilt.excludelist}"/>
<arg value="-xr!*.sym"/>
<arg value="-xr!*.lib"/>
<arg value="${build.drive}/output/zips/release/binaries_winscw_urel.zip"/>
@@ -303,6 +307,7 @@
<arg value="-t${sf.spec.package.zip.format}"/>
<arg value="-ir!epoc32/release/winscw/*.lib"/>
<arg value="-x@${build.log.dir}/rnd_excludefile.txt"/>
+ <arg value="-x@${sf.spec.prebuilt.excludelist}"/>
<arg value="${build.drive}/output/zips/release/binaries_winscw_lib.zip"/>
</exec>
@@ -311,6 +316,7 @@
<arg value="a"/>
<arg value="-t${sf.spec.package.zip.format}"/>
<arg value="-x@${build.log.dir}/rnd_excludefile.txt"/>
+ <arg value="-x@${sf.spec.prebuilt.excludelist}"/>
<arg value="-xr!*.sym"/>
<arg value="${build.drive}/output/zips/release/binaries_armv5_udeb.zip"/>
<arg value="epoc32\release\armv5\udeb"/>
@@ -319,6 +325,7 @@
<arg value="a"/>
<arg value="-t${sf.spec.package.zip.format}"/>
<arg value="-x@${build.log.dir}/rnd_excludefile.txt"/>
+ <arg value="-x@${sf.spec.prebuilt.excludelist}"/>
<arg value="-xr!*.sym"/>
<arg value="${build.drive}/output/zips/release/binaries_armv5_urel.zip"/>
<arg value="epoc32\release\armv5\urel"/>
@@ -327,14 +334,16 @@
<arg value="a"/>
<arg value="-t${sf.spec.package.zip.format}"/>
<arg value="-x@${build.log.dir}/rnd_excludefile.txt"/>
+ <arg value="-x@${sf.spec.prebuilt.excludelist}"/>
<arg value="-xr!*.sym"/>
<arg value="-ir!epoc32/release/armv5/_*.bin"/> <!-- include bootloaders in common lib zipfile -->
<arg value="${build.drive}/output/zips/release/binaries_armv5_lib.zip"/>
<arg value="epoc32\release\armv5\lib"/>
</exec>
- <runtarget target="sf-package-tools"/>
-
</parallel>
+
+ <runtarget target="sf-package-tools"/>
+
<!-- Generate release_metadata entries for the above zips -->
<antcall target="sf-zip-content">
<param name="zip.config.file" value="${temp.build.dir}/zip.cfg.xml.ftl"/>
@@ -354,10 +363,12 @@
<arg value="a"/>
<arg value="-t${sf.spec.package.zip.format}"/>
<arg value="-x@${build.log.dir}/rnd_excludefile.txt"/>
- <arg value="${build.drive}/output/zips/release/tools_epoc.zip"/>
+ <arg value="-x@${sf.spec.prebuilt.excludelist}"/>
+ <arg value="${build.drive}/output/zips/release/tools_epoc.zip"/>
<arg value="epoc32/tools"/>
<arg value="epoc32/gcc"/>
<arg value="epoc32/gcc_mingw"/>
+ <arg value="epoc32/data/buildinfo.txt"/>
</exec>
<antcall target="sf-zip-content">
<param name="zip.config.file" value="${temp.build.dir}/zip.cfg.xml.ftl"/>
@@ -563,16 +574,16 @@
</data>
</fmpp>
<!-- Send the data to the server -->
- <exec executable="python">
- <arg value="${sf.common.config.dir}/tools/brag/send_xml_to_diamonds.py"/>
- <arg value="-u"/>
- <arg value="http://${diamonds.host}${diamonds.build.id}"/>
- <arg value="-f"/>
- <arg value="${build.log.dir}/linksForDiamonds.xml"/>
- </exec>
+ <exec executable="python">
+ <arg value="${sf.common.config.dir}/tools/brag/send_xml_to_diamonds.py"/>
+ <arg value="-u"/>
+ <arg value="http://${diamonds.host}${diamonds.build.id}"/>
+ <arg value="-f"/>
+ <arg value="${build.log.dir}/linksForDiamonds.xml"/>
+ </exec>
</target>
-
- <target name="sf-merge-brag">
+
+ <target name="sf-merge-brag">
<!-- Merge all our bits of XML together -->
<exec executable="perl" output="${build.log.dir}/summary/_BRAG.xml" logError="true">
<arg value="${sf.common.config.dir}/tools/mergeXML.pl"/>
@@ -580,8 +591,8 @@
<arg value="--merge=buildStatus,phase(name),step(name),failures(level)"/>
<arg value="${build.log.dir}/summary/*?_BRAG.xml"/>
</exec>
- </target>
-
+ </target>
+
<target name="sf-brag-to-diamonds">
<!-- Run XSL transform to create file to send to diamonds -->
<java jar="${sf.common.config.dir}/sysdefdowngrade/xalan-j_2_7_1/xalan.jar" fork="true">
@@ -637,8 +648,11 @@
<delete file="${sf.releasenotes.wiki.txt}"/>
<!-- FCL Usage and Changesets -->
<exec executable="perl" dir="${build.drive}" output="${sf.releasenotes.wiki.txt}">
+ <arg value="-I"/>
+ <arg value="${sf.common.config.dir}/tools/lib"/>
<arg value="${build.drive}/utilities/releaseAutomation/releaseNotes.pl"/>
- <arg value="${build.log.dir}/BOM/sources.csv"/>
+ <arg value="--sources=${build.log.dir}/BOM/sources.csv"/>
+ <arg value="--baseline=${sf.previous.pdk.tag}"/>
</exec>
<!-- Package Comparison and FCL Usage -->
<exec executable="perl" dir="${sf.spec.sourcesync.sourcespecdir}" output="${sf.releasenotes.wiki.txt}" append="true">
@@ -688,7 +702,7 @@
<mkdir dir="${build.output.dir}/zips/release"/> <!-- workaround for when there's no other releaseables, just the logs -->
<zip destfile="${build.output.dir}/zips/release/build_logs.zip" basedir="${build.drive}">
<include name="output/logs/**"/>
- <exclude name="output/logs/BC/**"/>
+ <exclude name="output/logs/BC/**"/>
<exclude name="output/logs/BOM/**"/>
<exclude name="output/logs/deliverables/**"/>
<exclude name="output/logs/releaseables/**"/>
@@ -715,16 +729,16 @@
<copy todir="${publish.dir}/html" preservelastmodified="true" failonerror="false">
<fileset dir="${build.log.dir}/html"><include name="*.html"/></fileset>
</copy>
- <mkdir dir="${publish.dir}/BC"/>
+ <mkdir dir="${publish.dir}/BC"/>
<copy todir="${publish.dir}/BC" preservelastmodified="true" failonerror="false">
<fileset dir="${build.log.dir}/BC/">
- <include name="BBCResults.xsl"/>
- <include name="headers_report.xml"/>
- <include name="libraries_report.xml"/>
- </fileset>
+ <include name="BBCResults.xsl"/>
+ <include name="headers_report.xml"/>
+ <include name="libraries_report.xml"/>
+ </fileset>
</copy>
- <mkdir dir="${publish.dir}/ats_reports"/>
- <copy file="${sf.common.config.dir}/tools/ats/report_dummy.html" tofile="${publish.dir}/ats_reports/index.html" failonerror="false"/>
+ <mkdir dir="${publish.dir}/ats_reports"/>
+ <copy file="${sf.common.config.dir}/tools/ats/report_dummy.html" tofile="${publish.dir}/ats_reports/index.html" failonerror="false"/>
</target>
<!-- TODO: Make this work for package builds once we have sysmodel story worked out -->
@@ -750,13 +764,13 @@
<target name="sf-check-missing-os-files" depends="sf-compile-options">
<hlm:argSet id="sbs.check.tools.var">
- <hlm:arg name="config" value="${sf.spec.sbs.tools.config}" />
- <hlm:arg name="run-check" value="true" />
+ <hlm:arg name="config" value="${sf.spec.sbs.tools.config}" />
+ <hlm:arg name="run-check" value="true" />
</hlm:argSet>
<hlm:argSet id="sbs.check.main.var">
- <hlm:arg name="config" value="${sf.spec.sbs.config}" />
- <hlm:arg name="run-check" value="true" />
+ <hlm:arg name="config" value="${sf.spec.sbs.config}" />
+ <hlm:arg name="run-check" value="true" />
</hlm:argSet>
<antcall target="compile-main" inheritAll="false" inheritRefs="true">
<param name="build.system" value="${sf.spec.build.system}" />
@@ -771,7 +785,7 @@
<then>
<for list="${sf.spec.sbs.config}" delimiter="," param="sf.spec.check.splitconfig">
<sequential>
- <echo message="INFO [Iterative check] @{sf.spec.check.splitconfig}"/>
+ <echo message="INFO [Iterative check] @{sf.spec.check.splitconfig}"/>
<hlm:argSet id="sbs.check.iterate.main.var">
<hlm:arg name="config" value="@{sf.spec.check.splitconfig}" />
<hlm:arg name="run-check" value="true" />
@@ -786,11 +800,11 @@
<reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
<reference refid="sf.spec.os.system.definition.files" torefid="system.definition.files" />
</antcall>
- </sequential>
- </for>
- </then>
- <else>
- <antcall target="compile-main" inheritAll="false" inheritRefs="true">
+ </sequential>
+ </for>
+ </then>
+ <else>
+ <antcall target="compile-main" inheritAll="false" inheritRefs="true">
<param name="build.system" value="${sf.spec.build.system}" />
<param name="sysdef.configurations.list" value="${sf.spec.os.sysdef.clean.configurations.list}" />
<param name="sf.spec.sysdef.version" value ="${sf.spec.os.sysdef.version}"/>
@@ -798,9 +812,9 @@
<reference refid="sbs.check.main.var" torefid="sbs.var" />
<reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
<reference refid="sf.spec.os.system.definition.files" torefid="system.definition.files" />
- </antcall>
+ </antcall>
</else>
- </if>
+ </if>
</target>
<target name="sf-check-missing-s60-files" depends="sf-compile-options">
@@ -850,13 +864,12 @@
<then>
<echo message="INFO Packaging Binaries"/>
<runtarget target="sf-package-binary"/>
-<!-- <runtarget target="sf-package-tools"/> -->
<echo message="INFO Validate Zip files"/>
<runtarget target="sf-package-validate"/>
</then>
</if>
- <runtarget target="sf-merge-brag"/>
+ <runtarget target="sf-merge-brag"/>
<runtarget target="sf-zip-logs"/>
<if>
--- a/common/build.test.xml Wed May 12 12:42:35 2010 +0100
+++ b/common/build.test.xml Wed May 12 12:56:34 2010 +0100
@@ -167,7 +167,6 @@
<arg value="--build-id=http://${sf.spec.publish.diamonds.server}${diamonds.build.id}"/>
<arg value="--publish=${publish.dir}\ats_reports"/>
<arg value="--bld-drive=${build.drive}"/>
- <arg value="--test-target=Syborg_stif"/>
<arg value="--image-path=${sf.spec.test.imagepath}"/>
</exec>
</then>
@@ -209,13 +208,23 @@
</exec>
</target>
- <target name="sf-start-ats">
- <if><available file="${ats.drive}/start.cmd"/>
- <then>
- <exec executable="start.cmd" dir="${ats.drive}" spawn="true" failonerror="false"/>
- <echo message="Waiting for 10 seconds to start the ATS Worker......."/>
- <sleep seconds="10"/>
- </then>
- </if>
+ <target name="sf-start-ats">
+ <if><available file="${ats.drive}/start.cmd"/>
+ <then>
+ <forget>
+ <exec executable="cmd" dir="${ats.drive}" failonerror="true">
+ <arg value="/c"/>
+ <arg value="start"/>
+ <arg value='"ATS3 STAF"'/>
+ <arg value="/D"/>
+ <arg value="."/>
+ <arg value="/MAX"/>
+ <arg value="run.cmd"/>
+ </exec>
+ </forget>
+ <echo message="Waiting for 10 seconds for the ATS Worker to start......."/>
+ <sleep seconds="10"/>
+ </then>
+ </if>
</target>
</project>
--- a/common/build.xml Wed May 12 12:42:35 2010 +0100
+++ b/common/build.xml Wed May 12 12:56:34 2010 +0100
@@ -334,13 +334,13 @@
<target name="sf-get-utils">
<stopwatch name="sf-get-utils"/>
- <echo message="Cloning utilities repository to ${build.drive}/utilities"/>
- <exec executable="hg">
- <arg value="clone"/>
- <arg value="-rdefault"/>
- <arg value="http://developer.symbian.org/oss/MCL/sftools/fbf/utilities"/>
- <arg value="${build.drive}/utilities"/>
- </exec>
+ <echo message="Cloning utilities repository to ${build.drive}/utilities"/>
+ <exec executable="hg">
+ <arg value="clone"/>
+ <arg value="-rdefault"/>
+ <arg value="http://developer.symbian.org/oss/MCL/sftools/fbf/utilities"/>
+ <arg value="${build.drive}/utilities"/>
+ </exec>
<stopwatch name="sf-get-utils" action="elapsed"/>
</target>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/7z_list_to_manifest.pl Wed May 12 12:56:34 2010 +0100
@@ -0,0 +1,57 @@
+#!/usr/bin/perl
+
+# Copyright (c) 2009 Symbian Foundation Ltd
+# 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:
+# Symbian Foundation Ltd - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Turn a 7z listing into a manifest file that can be re-used by 7z
+# - Assumes that header/footer is fixed, and that file listing starts at column 53
+# Also allows use on a zipfile directly by passing -z as an option
+
+use strict;
+
+my $line;
+my $between_header_footer = 0;
+my $header_footer_pattern = "------------------- ----- ------------ ------------ ------------------------";
+
+my $file = shift or die "Usage: $0 <7z list output file> [-z to run directly on a zipfile]\n"; # provided 7z list to process
+my $mode = shift;
+
+# if -z has been specified, then generate intermediate 7z list file for processing
+if ($mode eq lc("-z")) {
+ system("7z l $file > $file.tmp.lst");
+ $file = $file.".tmp.lst";
+}
+
+open my $sevenZfile, "<", $file or die;
+
+while ($line =<$sevenZfile>)
+{
+ if ($line =~ /$header_footer_pattern/)
+ {
+ $between_header_footer= !$between_header_footer;
+
+ }
+ if (($line =~ /^(.{53})(.*)/) && ($line !=/$header_footer_pattern/))
+ {
+ print $2 ."\n" if $between_header_footer;
+ next;
+ }
+}
+
+close $sevenZfile;
+
+# remove temp 7z file if one has been generated
+if ($mode eq lc("-z")) {
+ system("del $file");
+}
+
+exit 0;
\ No newline at end of file
--- a/common/tools/ats/ats_specialise_test_drop.pl Wed May 12 12:42:35 2010 +0100
+++ b/common/tools/ats/ats_specialise_test_drop.pl Wed May 12 12:56:34 2010 +0100
@@ -56,7 +56,6 @@
'help' => \$help,
'publish' => \$publish,
'bld-drive' => \$bld_drive,
- 'test-target' => \$test_target,
'image-path' => \$image_path);
GetOptions(\%optmap,
@@ -68,7 +67,6 @@
'help!',
'publish=s',
'bld-drive=s',
- 'test-target=s',
'image-path=s')
or usage_error();
@@ -132,7 +130,7 @@
# Parse the input XML into hashref.
my $test_drop = XMLin("./$xml_in", keeproot => 1,
- forcearray => [ 'name', 'id', 'owner', 'priority', 'buildid', 'postAction', 'type', 'target', 'device', 'property', 'command', 'param', 'plan'],#
+ forcearray => [ 'name', 'id', 'owner', 'priority', 'buildid', 'postAction', 'type', 'target', 'device', 'property', 'command', 'param', 'plan', 'session', 'set', 'alias' ],#
keyattr => [] );
# Insert the specified test drop name, if any.
@@ -141,9 +139,14 @@
$test_drop->{'test'}->{'buildid'}->[0] = $build_id, if $build_id;
# Insert the path to the ROM image
if ($image_path) {
- $test_drop->{'test'}->{'plan'}->[0]->{'flash'}->[0];
- my $flash_params = $test_drop->{'test'}->{'plan'}->[0]->{'flash'};
- $flash_params->[0] = { 'target-alias' => $test_target, 'images' => $image_path };
+ my $set_params;
+ my $flash_params;
+ foreach $set_params (@{$test_drop->{'test'}->{'plan'}->[0]->{'session'}->[0]->{'set'}}) {
+ $test_target = $set_params->{'target'}->[0]->{'device'}->[0]->{'alias'};
+ $set_params->{'flash'}->[0];
+ $flash_params = $set_params->{'flash'};
+ $flash_params->[0] = { 'target-alias' => $test_target, 'images' => $image_path };
+ }
}
# Insert the FileStoreAction parameter
--- a/common/tools/ats/devices/c100782/SYBORG_ATSINTERFACE_c100782.properties Wed May 12 12:42:35 2010 +0100
+++ b/common/tools/ats/devices/c100782/SYBORG_ATSINTERFACE_c100782.properties Wed May 12 12:56:34 2010 +0100
@@ -17,7 +17,7 @@
FLASHING_ENABLED=true
-BOOT_TIME = 90
+BOOT_TIME = 500
#reinstall files after reboot
REINSTALL=false
--- a/common/tools/ats/devices/c100782/SYBORG_GENERIC_c100782.properties Wed May 12 12:42:35 2010 +0100
+++ b/common/tools/ats/devices/c100782/SYBORG_GENERIC_c100782.properties Wed May 12 12:56:34 2010 +0100
@@ -17,7 +17,7 @@
FLASHING_ENABLED=true
-BOOT_TIME = 90
+BOOT_TIME = 500
#reinstall files after reboot
REINSTALL=false
--- a/sf-platform/platform_props.ant.xml Wed May 12 12:42:35 2010 +0100
+++ b/sf-platform/platform_props.ant.xml Wed May 12 12:56:34 2010 +0100
@@ -14,6 +14,8 @@
<property name="sf.spec.toolsbaseline.getenv_options" value="-i emu -k"/>
<property name="sf.spec.toolsbaseline.select" value="location" />
<property name="sf.spec.toolsbaseline.location" value="\\v800008\Builds01\PDT\PDT_b50" /> <!-- for TEF etc -->
+
+ <property name="sf.spec.prebuilt.excludelist" value="${sf.spec.job.dir}/../prebuilt_excludelist.txt"/>
<property name="sf.spec.sourcesync.usecache" value="true"/>
--- a/sf-tools/build.xml Wed May 12 12:42:35 2010 +0100
+++ b/sf-tools/build.xml Wed May 12 12:56:34 2010 +0100
@@ -101,19 +101,32 @@
<arg value="epoc32\"/>
</exec>
+ <!-- create a manifest in the root of the build drive -->
+ <exec executable="perl" dir="${build.drive}" output="${build.log.dir}/manifest_binaries_${sf.spec.job.name}.txt">
+ <arg value="${sf.common.config.dir}/tools/7z_list_to_manifest.pl"/>
+ <arg value="${build.drive}\output\zips\release\binaries_${sf.spec.job.name}.zip"/>
+ <arg value="-z"/>
+ </exec>
+
+ <!-- add manifest to zip and update release meta data -->
+ <exec executable="7z" dir="${build.drive}">
+ <arg value="a"/>
+ <arg value="-t${sf.spec.package.zip.format}"/>
+ <arg value="${build.drive}/output/zips/release/binaries_${sf.spec.job.name}.zip"/>
+ <arg value="${build.log.dir}/manifest_binaries_${sf.spec.job.name}.txt"/>
+ </exec>
+
<antcall target="sf-zip-content">
<param name="zip.config.file" value="${temp.build.dir}/zip.cfg.xml.ftl"/>
<param name="zip.target.name" value="bin-${sf.spec.job.name}-metadata" />
</antcall>
-
</target>
<target name="create-canonical-sysdef-file">
<copy file="${sf.spec.systemdefinition.location}" tofile="${canonical.sysdef.file}" failonerror="true" verbose="true"/>
</target>
- <!-- do nothing for these in a tools build -->
- <target name="sf-run-analysis"/>
+ <!-- do nothing for this in a tools build -->
<target name="sf-copy-rom-logs"/>
</project>