зеркало из https://github.com/mozilla/pjs.git
160 строки
4.4 KiB
Perl
160 строки
4.4 KiB
Perl
#
|
|
# The contents of this file are subject to the Mozilla Public
|
|
# License Version 1.1 (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.mozilla.org/MPL/
|
|
#
|
|
# Software distributed under the License is distributed on an "AS
|
|
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
# implied. See the License for the specific language governing
|
|
# rights and limitations under the License.
|
|
#
|
|
# The Original Code is The Waterfall Java Plugin Module
|
|
#
|
|
# The Initial Developer of the Original Code is Sun Microsystems Inc
|
|
# Portions created by Sun Microsystems Inc are Copyright (C) 2001
|
|
# All Rights Reserved.
|
|
#
|
|
# $Id: rules.pl,v 1.1 2001-07-12 20:25:40 edburns%acm.org Exp $
|
|
#
|
|
# Contributor(s):
|
|
#
|
|
# Nikolay N. Igotti <nikolay.igotti@Sun.Com>
|
|
#
|
|
|
|
$post_license = <<EOF
|
|
|
|
Contributor(s):
|
|
|
|
Nikolay N. Igotti <nikolay.igotti\@Sun.Com>
|
|
EOF
|
|
;
|
|
# trick to prevent CVS from rewriting those comments
|
|
$post_license = "\$"."Id: CVS comments placeholder "."Exp \$\n".$post_license;
|
|
|
|
$license = "/work/checkin/MPL.txt";
|
|
$oldtree = "/work/checkin/wf";
|
|
$newtree = "/work/checkin/wf.new";
|
|
|
|
%mapping = (
|
|
".*\\.cpp\$" => "cpp",
|
|
".*\\.c\$" => "c",
|
|
".*\\.h\$" => "h",
|
|
".*\\.java\$" => "java",
|
|
".*\\.bat\$" => "bat",
|
|
".*\\.BAT\$" => "bat",
|
|
".*\\.policy" => "policy",
|
|
".*\\.sh" => "sh",
|
|
".*\\.csh" => "csh",
|
|
"GNUmakefile" => "GNUmakefile",
|
|
"Makefile" => "Makefile",
|
|
"makefile\\.win" => "makefile.win",
|
|
".*\\.mk" => "mk",
|
|
".*\\.gmk" => "gmk",
|
|
".*\\.pl" => "pl"
|
|
);
|
|
|
|
%prefixes = (
|
|
"cpp" => "-*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- ",
|
|
"c" => "-*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-",
|
|
"java" => "-*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-",
|
|
"h" => "-*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-"
|
|
);
|
|
%comments_start = (
|
|
"cpp" => "/* ",
|
|
"c" => "/* ",
|
|
"h" => "/* ",
|
|
"policy" => "/* ",
|
|
"sh" => "# ",
|
|
"csh" => "# ",
|
|
"pl" => "# ",
|
|
"GNUmakefile" => "# ",
|
|
"Makefile" => "# ",
|
|
"makefile.win"=> "# ",
|
|
"java" => "/* ",
|
|
"bat" => "\@REM ",
|
|
"BAT" => "\@REM ",
|
|
"mk" => "# ",
|
|
"gmk" => "# "
|
|
);
|
|
|
|
%comments_middle = (
|
|
"cpp" => " * ",
|
|
"c" => " * ",
|
|
"h" => " * ",
|
|
"policy" => " * ",
|
|
"java" => " * ",
|
|
"sh" => "# ",
|
|
"csh" => "# ",
|
|
"pl" => "# ",
|
|
"GNUmakefile" => "# ",
|
|
"Makefile" => "# ",
|
|
"makefile.win"=> "# ",
|
|
"mk" => "# ",
|
|
"gmk" => "# ",
|
|
"bat" => "\@REM ",
|
|
"BAT" => "\@REM "
|
|
);
|
|
|
|
%comments_end = (
|
|
"cpp" => " */",
|
|
"c" => " */",
|
|
"h" => " */",
|
|
"policy" => " */",
|
|
"sh" => "# ",
|
|
"csh" => "# ",
|
|
"pl" => "# ",
|
|
"GNUmakefile" => "# ",
|
|
"Makefile" => "# ",
|
|
"makefile.win"=> "# ",
|
|
"java" => " */ ",
|
|
"bat" => "\@REM ",
|
|
"BAT" => "\@REM ",
|
|
"mk" => "# ",
|
|
"gmk" => "# "
|
|
);
|
|
|
|
%ignore_dirs = (
|
|
"CVS" => 1
|
|
);
|
|
|
|
|
|
# filtering procedure:
|
|
# input - filename, type, list of file strings
|
|
# output - list of file strings
|
|
sub proceed
|
|
{
|
|
my ($file, $type, @lines) = @_;
|
|
my @newlines;
|
|
|
|
my ($pre, $com1, $com2, $com3) =
|
|
($prefixes{$type}, $comments_start{$type},
|
|
$comments_middle{$type}, $comments_end{$type});
|
|
# in shell scripts add only after #!<smth> execution comment
|
|
if ($type eq "sh" || $type eq "csh" || $type eq "pl") {
|
|
$_ = $lines[0];
|
|
push @newlines, shift @lines if (/^\#\S*\!/);
|
|
}
|
|
|
|
push @newlines, "$com1$pre\n";
|
|
push @newlines, "$com2\n" if ($pre);
|
|
foreach (@lic) {
|
|
push @newlines, "$com2$_";
|
|
}
|
|
|
|
my @post = split('\n', $post_license);
|
|
foreach (@post) {
|
|
push @newlines, "$com2$_\n";
|
|
}
|
|
push @newlines, "$com3\n\n";
|
|
|
|
foreach (@lines) {
|
|
push @newlines, $_;
|
|
}
|
|
return @newlines;
|
|
}
|
|
|
|
|
|
|
|
|