diff -r e8cf0ceec61a -r bab959d5bc37 generate_system_models.pl --- a/generate_system_models.pl Mon May 17 15:34:18 2010 +0100 +++ b/generate_system_models.pl Tue May 18 15:36:51 2010 +0100 @@ -9,10 +9,7 @@ chdir("tmp"); print "\n\n### CLONE MCL/sftools/fbf/projects/packages REPO ###\n"; -system("hg clone -r HighFidelityModel http://developer.symbian.org/oss/MCL/sftools/fbf/projects/packages"); -my $changeset = `hg -R packages identify -i`; -chomp $changeset; -print "-->$changeset<--\n"; +system("hg clone http://developer.symbian.org/oss/MCL/sftools/fbf/projects/packages"); 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"; @@ -25,6 +22,8 @@ my @codelines = grep(($_ !~ /^\.\.?$/ and $_ =~ /^symbian/), readdir(DIR)); close(DIR); +my $packages_changeset = ''; + # loop over codelines for my $codeline (@codelines) { @@ -37,6 +36,12 @@ my $updatehifi_cmd = "hg -R packages update -r HighFidelityModel"; 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); @@ -90,21 +95,27 @@ 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"); - system("copy $codeline\\system_model.xml platforms\\$codeline\\single\\sysdefs\\auto\\model_$timestamp\_$changeset.xml"); + system("copy $codeline\\system_model.xml platforms\\$codeline\\single\\sysdefs\\auto\\model_$timestamp\_$packages_changeset.xml"); system("hg -R platforms add"); - system("hg -R platforms commit -m \"Add auto generated $codeline system model (packages\@$changeset)\" -u\"Dario Sestito \""); - system("hg -R platforms push http://darios:symbian696b\@developer.symbian.org/oss/MCL/sftools/fbf/projects/platforms"); + system("hg -R platforms commit -m \"Add auto generated $codeline system model (packages\@$packages_changeset)\" -u\"Dario Sestito \""); + #system("hg -R platforms push http://darios:symbian696b\@developer.symbian.org/oss/MCL/sftools/fbf/projects/platforms"); # Split model into package models print "\n\n### SPLIT MODEL INTO PACKAGE MODELS ###\n"; my $updatedefault_cmd = "hg -R packages update -r default"; print "$updatedefault_cmd\n"; system($updatedefault_cmd); + my $rmdir_cmd = "del /S packages\\symbian3\\package_definition.xml"; + print "$rmdir_cmd\n"; + system($rmdir_cmd); my $splitmodel_cmd = "perl ..\\split_sysdef.pl -s $codeline\\system_model.xml -o packages\\$codeline"; print "$splitmodel_cmd\n"; system($splitmodel_cmd); if ($codeline eq 'symbian3') # also update CompilerCompatibility { + my $rmdir2_cmd = "del /S packages\\CompilerCompatibility\\package_definition.xml"; + print "$rmdir2_cmd\n"; + system($rmdir2_cmd); my $splitmodel2_cmd = "perl ..\\split_sysdef.pl -s $codeline\\system_model.xml -o packages\\CompilerCompatibility"; print "$splitmodel2_cmd\n"; system($splitmodel2_cmd); @@ -114,15 +125,15 @@ my @diff_output = `$diff_cmd`; if (@diff_output) { - my $add_cmd = "hg -R packages add"; - print "$add_cmd\n"; - system($add_cmd); - my $commit_cmd = "hg -R packages commit -m \"Update package models from auto generated system model (packages\@$changeset)\" -u\"Dario Sestito \""; + my $addremove_cmd = "hg -R packages addremove"; + print "$addremove_cmd\n"; + system($addremove_cmd); + my $commit_cmd = "hg -R packages commit -m \"Update package models from auto generated system model (packages\@$packages_changeset)\" -u\"Dario Sestito \""; print "$commit_cmd\n"; system($commit_cmd); my $push_cmd = "hg -R packages push http://darios:symbian696b\@developer.symbian.org/oss/MCL/sftools/fbf/projects/packages"; print "$push_cmd\n"; - system($push_cmd); + #system($push_cmd); } } }