apache-tuscany/java/etc/replaceheaders.rb
2008-06-17 00:23:01 +00:00

40 lines
1.1 KiB
Ruby

# Scans files - with a given extension - recursively from the current
# directory replacing the old copyright/license header statement with a
# new version
#
# Example command line usage
# >ruby replaceheaders.rb java oldheader.txt newheader.txt
def munge_file(fn, oh, nh)
eoh = Regexp.escape(oh)
new_contents = File.read(fn).gsub!(Regexp.new(eoh), nh)
if new_contents
puts " processing #{fn}"
File.open(fn, 'w') do |file|
file.puts(new_contents)
end
$num_files_processed += 1
else
puts " processing #{fn} - NO MATCH!"
$num_files_no_match += 1
end
end
if(!ARGV[0])
STDERR.puts "usage: <file extension> <old header file> <new header file>"
exit 0
end
ext = ARGV[0]
$num_files_processed = $num_files_no_match = 0
puts "Scanning files with #{ext} extension"
old_header = File.read(ARGV[1])
new_header = File.read(ARGV[2])
Dir["**/*.#{ext}"].each do |filename|
munge_file( filename, old_header, new_header)
end
puts "Total files matched and processed = #{$num_files_processed}"
puts "Number of files with no match = #{$num_files_no_match}"