X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/bd99b1d06dd70aa739697de68cd200bd3ea54246..fdc1a282a7200e7131298083d6dd41f6aa8beb89:/tools/simgrid_update_xml.pl diff --git a/tools/simgrid_update_xml.pl b/tools/simgrid_update_xml.pl index 24ff690fe1..22bf4b3a0d 100755 --- a/tools/simgrid_update_xml.pl +++ b/tools/simgrid_update_xml.pl @@ -1,14 +1,109 @@ -#! /usr/bin/perl +#! /usr/bin/env perl +eval 'exec perl -S $0 ${1+"$@"}' + if $running_under_some_shell; # 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-2010. The SimGrid team. All rights reserved. +# Copyright (c) 2006-2012. 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 # GNU LGPL (v2.1) licence. +=encoding UTF-8 + +=head1 NAME + +simgrid_update_xml - updates simgrid XML files to latest version + +=head1 SYNOPSIS + +B I + +=head1 DESCRIPTION + +simgrid_update_xml updates the simgrid XML file passed as argument. The file +is modified in place, without any kind of backup. You may want to save a copy +before running the script. + +In SimGrid XML files, the standard version is indicated in the version +attribute of the platform tag. Current version is 3. Here is a list of major +changes in each version. + +=over 4 + +=item B Used before SimGrid 3.3 + +=item B Introduced in SimGrid 3.3 + +=over 4 + +=item + +The version attribute of platform were added to allow file versionning. + +=item + +The link bandwidth changed from Mb/s to b/s; and the CPU power were changed +from MFlop/s to Flop/s + +=back + +=item B Introduced in SimGrid 3.4 + +=over + +=item + +Several tags were renamed: + + CPU -> HOST + NETWORK_LINK -> LINK + ROUTE_ELEMENT -> LINK_CTN + PLATFORM_DESCRIPTION -> PLATFORM + +=back + +=item B Introduced in SimGrid 3.5 (this is the current version) + +=over 4 + +=item + +The AS tag were introduced. Every plaform should now contain an englobing AS +tag. + +=item + +Routes are now symmetric by default. + +=item + +Several tags were renamed (for sake of XML sanity): + + LINK:CTN -> LINK_CTN + TRACE:CONNECT -> TRACE_CONNECT + +=back + +=back + +=head1 AUTHORS + + The SimGrid team (simgrid-devel@lists.gforge.inria.fr) + +=head1 COPYRIGHT AND LICENSE + +Copyright (c) 2006-2012. The SimGrid Team. All rights reserved. + +This program is free software; you may redistribute it and/or modify it +under the terms of GNU LGPL (v2.1) license. + +=cut + + use strict; my $fromversion=-1; @@ -19,10 +114,12 @@ 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 .= "\n"; -$output_string .= " \n"; +$output_string = "\n". + "\n". + "\n"; + + +my($AS_opened)=0; my $line; while (defined($line = )) { @@ -71,11 +168,28 @@ while (defined($line = )) { $line =~ s/\broute_element\b/link:ctn/g; } - if($line =~ /^(.*)<\/platform>(.*)$/) { - $output_string .= " <\/AS>\n<\/platform>"; - } else { - $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=~/