#************************************************************** # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # #************************************************************** # # converttags - a perl script to coonvert some predefined tags # to user specified values # if($#ARGV == -1) { die "No parameters were specified.\nperl converttags.pl <productname> [<color1>] [<color2>] file_1 [... file_n]\n"; } if($#ARGV < 2) { die "No file were specified -> no file must be converted!\n"; } # mode = 1 -> convert # = 2 -> exit without conversion $mode = shift @ARGV; $title = shift @ARGV; $productname = shift @ARGV; $color1 = ""; $color2 = ""; if( $mode =~ s/2/$1/go ) { exit 0; } if( $ARGV[0] =~ s/(#[\w]{6})/$1/go ) { $color1 = shift @ARGV; } if( $ARGV[0] =~ s/(#[\w]{6})/$1/go ) { $color2 = shift @ARGV; } print "$title\n"; print "$productname\n"; print "$color1\n"; print "$color2\n"; $return = 0; while (@ARGV) { my $lineCount = 0; $ARGV = shift @ARGV; print "convert tags: $ARGV "; open ( FILEIN, $ARGV ) || die "could not open $ARGV for reading"; @lines = <FILEIN>; close( FILEIN ); open( FILEOUT, ">$ARGV.tmp" ) || die "could not open $ARGV.tmp for writing"; foreach $_ (@lines) { $lineCount++; if ( $lineCount == 10 ) { $lineCount = 0; print "."; } # change [TITLE] tag s#\[TITLE\]#$title#go; # change [PRODUCTNAME] tag s#\[PRODUCTNAME\]#$productname#go; # change color #003399 to #$color1 if color1 was specified! if ( ! "$color1" eq "" ) { s/#003399/$color1/go; } # change color #99CCFF to #$color2 if color2 was specified! if ( ! "$color2" eq "" ) { s/#99CCFF/$color2/go; } print FILEOUT $_; } print " OK\n"; close FILEOUT; chmod 0666, $ARGV; rename "$ARGV.tmp", $ARGV || die "could not rename $ARGV.tmp to $ARGV"; } exit $return;