X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ef3acbef4d4754ec3af577d97d863a77a442b695..8838d77194db9264fdec177b93194cc9e8c1b7e2:/tools/simgrid_update_xml.pl diff --git a/tools/simgrid_update_xml.pl b/tools/simgrid_update_xml.pl index d0d7277bd3..16d4bc783c 100755 --- a/tools/simgrid_update_xml.pl +++ b/tools/simgrid_update_xml.pl @@ -1,9 +1,9 @@ #! /usr/bin/perl # This script updates the simgrid XML file passed as argument (modification in place) -# It is built to do the conversion incrementally (even if for now, only 2 versions are defined) +# It is built to do the conversion incrementally. -# Copyright (C) 2006-2007. The SimGrid team. All rights reserved. +# Copyright (C) 2006-2010. The SimGrid team. All rights reserved. # # This file is part of the SimGrid project. This is free software: # You can redistribute and/or modify it under the terms of the @@ -12,16 +12,19 @@ use strict; my $fromversion=-1; -my $toversion=2; +my $toversion=3; my($output_string); $ARGV[0] or die "simgrid_update_xml.pl \n"; open INPUT, "$ARGV[0]" or die "Cannot open input file $ARGV[0]: $!\n"; -$output_string .= "\n"; -$output_string .= "\n"; -$output_string .= ""; +$output_string = "\n". + "\n". + "\n"; + + +my($AS_opened)=0; my $line; while (defined($line = )) { @@ -29,19 +32,21 @@ while (defined($line = )) { # eat the header, whatever form it has next if ($line =~ s/<\?xml[^>]*>// && ! $line =~ /\S/); # just in case several tags are on the same line next if ($line =~ s/]*>// && ! $line =~ /\S/); - next if ($line =~ s/// && ! $line =~ /\S/); - if ($line =~ s///) { $fromversion = 0; - } else if ($line =~ s///) { + print "version 0\n"; + next if !$line =~ /\S/; + } elsif ($line =~ s///) { $fromversion = $1; + print "version $fromversion\n"; if ($fromversion == $toversion) { - warn "Input platform file version is already $fromversion. This should be a no-op.\n"; + die "Input platform file version is already $fromversion. This should be a no-op.\n"; } if ($fromversion > $toversion) { die "Input platform file version is more recent than this script (file version: $fromversion; script version: $toversion)\n"; } + next if !$line =~ /\S/; } if ($fromversion == 0) { @@ -59,15 +64,37 @@ while (defined($line = )) { } } - if ($fromversion < 2) { - # The renamings (\b=zero-width word boundary check) + if ($fromversion < 2) { + # The renamings (\b=zero-width word boundary check) $line =~ s/\bplatform_description\b/platform/g; $line =~ s/\bname\b/id/g; $line =~ s/\bcpu\b/host/g; $line =~ s/\bnetwork_link\b/link/g; $line =~ s/\broute_element\b/link:ctn/g; } - $output_string .= "$line\n"; + + if ($fromversion < 3) { + $line =~ s/\blink:ctn\b/link_ctn/g; + $line =~ s/\btrace:connect\b/trace_connect/g; + + if($AS_opened && (($line=~ /<\/platform>/) || ($line=~ /\n"; + $AS_opened=1; + } + } + + if($line=~/