generate_system_models.pl
changeset 1075 20205e7ab525
parent 1074 15428d415dba
child 1076 86434e6d9873
--- a/generate_system_models.pl	Wed May 26 12:52:49 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-use strict;
-
-my $SYSDEFTOOLS_PATH = "packages\\sysdeftools";
-my $XALAN_J = "java -jar $SYSDEFTOOLS_PATH\\xalan.jar";
-my $XALAN_C = "packages\\sysmodelgen\\rsc\\installed\\Xalan\\Xalan.exe";
-
-system("rmdir /S /Q tmp") if (-d "tmp");
-mkdir("tmp");
-chdir("tmp");
-
-print "\n\n### CLONE MCL/sftools/fbf/projects/packages REPO ###\n";
-system("hg clone http://developer.symbian.org/oss/MCL/sftools/fbf/projects/packages");
-my $updatehifi_cmd = "hg -R packages update -r HighFidelityModel";
-print "$updatehifi_cmd\n";
-system($updatehifi_cmd);
-my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
-my $timestamp = sprintf "%4d%02d%02d%02d%02d%02d",$year+1900,$mon+1,$mday,$hour,$min,$sec;
-#print "\n\n### CLONE MCL/sf/os/buildtools REPO ###\n";
-#system("hg clone -r RCL_3 http://developer.symbian.org/oss/MCL/sf/os/buildtools");
-print "\n\n### CLONE MCL/sftools/fbf/projects/platforms REPO ###\n";
-system("hg clone -r default http://developer.symbian.org/oss/MCL/sftools/fbf/projects/platforms");
-
-# get the codelines from the packages repo
-opendir(DIR, "packages");
-my @codelines = grep(($_ !~ /^\.\.?$/ and $_ =~ /^symbian/), readdir(DIR));
-close(DIR);
-
-my $packages_changeset = '';
-
-# loop over codelines
-for my $codeline (@codelines)
-{
-	mkdir($codeline);
-	
-	my $ROOT_SYSDEF = "packages\\$codeline\\os\\deviceplatformrelease\\foundation_system\\system_model\\system_definition.xml";
-
-	# Full model in schema 3.0.0 format, including all of the test units.
-	print "\n\n### GENERATE FULL MODEL ###\n";
-	my $updatehifi_cmd = "hg -R packages update -r HighFidelityModel -C";
-	print "$updatehifi_cmd\n";
-	system($updatehifi_cmd);
-	if (!$packages_changeset)
-	{
-		$packages_changeset = `hg -R packages identify -i`;
-		chomp $packages_changeset;
-		print "-->$packages_changeset<--\n";
-	}
-	my $full_cmd = "$XALAN_C -o $codeline\\full_system_model_3.0.xml $ROOT_SYSDEF $SYSDEFTOOLS_PATH\\joinsysdef.xsl";
-	print "$full_cmd\n";
-	system($full_cmd);
-
-	# Filter the model to remove the test and techview units
-	print "\n\n### REMOVE UNDESIRED UNITS ###\n";
-	my $filter_cmd = "$XALAN_C -o $codeline\\system_model_3.0.xml -p filter \"'!test,!techview'\" -p filter-type 'has' $codeline\\full_system_model_3.0.xml $SYSDEFTOOLS_PATH\\filtering.xsl";
-	print "$filter_cmd\n";
-	system($filter_cmd);
-
-	# Downgrade the model to schema 2.0.1 for use with Helium and Raptor
-	print "\n\n### DOWNGRADE TO SCHEMA 2.0.1 ###\n";
-	my $downgrade_cmd = "$XALAN_C -o $codeline\\system_model.xml $codeline\\system_model_3.0.xml $SYSDEFTOOLS_PATH\\sysdefdowngrade.xsl";
-	print "$downgrade_cmd\n";
-	system($downgrade_cmd);
-
-	print "\n\n### PUSH TO PLATFORMS REPOSITORY (auto) ###\n";
-	mkdir("platforms\\$codeline") if (!-d "platforms\\$codeline");
-	mkdir("platforms\\$codeline\\single") if (!-d "platforms\\$codeline\\single");
-	mkdir("platforms\\$codeline\\single\\sysdefs") if (!-d "platforms\\$codeline\\single\\sysdefs");
-	mkdir("platforms\\$codeline\\single\\sysdefs\\auto") if (!-d "platforms\\$codeline\\single\\sysdefs\\auto");
-	my $updatesysdef_cmd = "copy /Y $codeline\\system_model.xml platforms\\$codeline\\single\\sysdefs\\auto\\system_model.xml";
-	print "$updatesysdef_cmd\n";
-	system($updatesysdef_cmd);
-	system("hg -R platforms add"); # just in case this is a new platform
-	my $diff_cmd = "hg -R platforms diff --stat";
-	print "$diff_cmd\n";
-	my @diff_output = `$diff_cmd`;
-	if (@diff_output)
-	{
-		system("hg -R platforms add");
-		system("hg -R platforms commit -m \"Add auto generated $codeline system model (packages\@$packages_changeset)\" -u\"Dario Sestito <darios\@symbian.org>\"");
-		system("hg -R platforms push http://darios:symbian696b\@developer.symbian.org/oss/MCL/sftools/fbf/projects/platforms");
-		
-	}
-}
-