diff -r 13596dc42a47 -r 257557b39754 common/sysdefdowngrade/sysdefdowngrade.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/sysdefdowngrade/sysdefdowngrade.pl Mon Jul 20 10:43:39 2009 +0100 @@ -0,0 +1,93 @@ +# 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: +# Extracts output text in context which doesn't belong to 's + +use strict; +use Getopt::Long; + +my $XALAN_PATH = "xalan-j_2_7_1"; +my $XSLT_FILE = "sysdefdowngrade.xsl"; + +my $modelfile = ''; +my $csvsourcesfile = ''; +my $help = 0; +GetOptions(( + 'model=s' => \$modelfile, + 'sources=s' => \$csvsourcesfile, + 'help!' => \$help +)); + +$help = 1 if (!$modelfile or !$csvsourcesfile); + +if ($help) +{ + print "Checks that a model file is not in version 3.0.0. If it is transforms it to a version usable by Raptor\n"; + print "Usage: perl sysdefdowngrade.pl --model=MODELFILE --sources=SOURCESFILE\n\n"; + exit(0); +} + +my $isversion3 = 0; +open(MODELFILE, "$modelfile") or die("Can't open model file $modelfile"); +while() +{ + if ($_ =~ /) +{ + if ($_ =~ m{[^,]*,([\\/]sf[\\/][^,]*),[^,]*,[^,]*,[^,]*}) + { + $param_path = $1; + #print "param_path= $param_path\n"; + last; + } +} +close(SOURCESFILE); + +if (!$param_path) +{ + print "Error: could not determine path parameter from sources file. Quitting.\n"; + exit(0); +} + +$param_path =~ s,\\,/,g; + +my $transformcmd = "java -jar $XALAN_PATH\\xalan.jar -xsl $XSLT_FILE -in $modelfile -out $modelfile.transformed"; +$transformcmd .= " -param Path $param_path"; + +print "Executing: $transformcmd\n"; +system("$transformcmd"); + +# ren doesn't work with forward slashes +$modelfile =~ s,/,\\,g; + +$modelfile =~ m,.*[\\/](.*),; +my $modelfile_name = $1; +print "Executing: ren $modelfile $modelfile_name.orig\n"; +system("ren $modelfile $modelfile_name.orig"); + +print "Executing: ren $modelfile.transformed $modelfile_name\n"; +system("ren $modelfile.transformed $modelfile_name");