...which is pretty good. 563K LOC, 5300 unused imports. Here are the
details:
===========================================================
Module name Lines of code Unused imports
----------- ------------- --------------
jakarta-ant 46879 46
jakarta-avalon 1885 2
jakarta-bcel 16251 30
jakarta-cactus 3166 1
jakarta-commons 90015 562
jakarta-commons-sandbox 99216 1291
jakarta-ecs 17285 84
jakarta-ecs2 1414 12
jakarta-james 11492 76
jakarta-jetspeed 32321 626
jakarta-jmeter 23352 108
jakarta-log4j 11968 46
jakarta-lucene 5369 46
jakarta-ojb 29835 165
jakarta-oro 5919 3
jakarta-poi 21821 66
jakarta-regexp 1811 2
jakarta-struts 15573 184
jakarta-taglibs 37740 418
jakarta-tomcat-4.0 39514 890
jakarta-turbine-fulcrum 9244 139
jakarta-turbine-jcs 8303 88
jakarta-turbine-jyve 4304 99
jakarta-turbine-maven 3078 13
jakarta-turbine-torque 8360 1
jakarta-velocity 15620 322
jakarta-velocity-dvs l914 21
===========================================================
Fun, huh? This report took about 23 minutes to run, and was generated
by PMD, JavaNCSS, Ruby, and the letter 'A'. Here's the Ruby script:
=======================================
#!/usr/local/bin/ruby
class AllModules
attr_reader :mods
def initialize
@mods = []
@mods << Mod.new("jakarta-ant", "src/main")
@mods << Mod.new("jakarta-avalon", "src/java")
@mods << Mod.new("jakarta-bcel", "src/java")
@mods << Mod.new("jakarta-cactus", "framework/src/java")
@mods << Mod.new("jakarta-commons", "")
@mods << Mod.new("jakarta-commons-sandbox", "")
@mods << Mod.new("jakarta-ecs", "src/java")
@mods << Mod.new("jakarta-ecs2", "src")
@mods << Mod.new("jakarta-james", "src/java")
@mods << Mod.new("jakarta-jetspeed", "src/java")
@mods << Mod.new("jakarta-jmeter", "src")
@mods << Mod.new("jakarta-log4j", "src/java")
@mods << Mod.new("jakarta-lucene", "src/java")
@mods << Mod.new("jakarta-ojb", "src/java")
@mods << Mod.new("jakarta-oro", "src/java")
@mods << Mod.new("jakarta-poi", "src/java")
@mods << Mod.new("jakarta-regexp", "src/java")
@mods << Mod.new("jakarta-struts", "src/share")
@mods << Mod.new("jakarta-taglibs", "")
@mods << Mod.new("jakarta-tomcat-4.0",
"catalina/src/share")
@mods << Mod.new("jakarta-turbine-fulcrum", "src/java")
@mods << Mod.new("jakarta-turbine-jcs", "src/java")
@mods << Mod.new("jakarta-turbine-jyve", "src/java")
@mods << Mod.new("jakarta-turbine-maven", "src/java")
@mods << Mod.new("jakarta-turbine-torque", "src/java")
@mods << Mod.new("jakarta-velocity", "src/java")
@mods << Mod.new("jakarta-velocity-dvsl", "src/java")
end
end
class Mod
attr_reader :modulename, :srcdir
attr_accessor :ncss, :unusedimports
def initialize(modulename, srcdir)
@modulename = modulename
@srcdir = "#{modulename}/#{srcdir}"
end
def to_s
return "#{modulename}, #{srcdir}"
end
end
if __FILE__ == $0
jakartaroot=":pserver:[EMAIL PROTECTED]:/home/cvspublic"
mods = AllModules.new.mods
mods.each do |mod|
puts "Working on #{mod.modulename}"
puts "Checking it out"
`cvs -Q -d#{jakartaroot} co #{mod.modulename}`
puts "Running JavaNCSS"
`find #{mod.srcdir} -name "*.java" > files.txt`
mod.ncss = `/usr/local/javancss/bin/javancss -ncss
@files.txt`.split(" ")[2]
puts "Running PMD"
mod.unusedimports = `java -jar /home/build/pmd.jar
#{mod.srcdir} text rulesets/imports.xml | wc -l`.gsub(/ /, '')
puts "Cleaning up"
`rm -rf #{mod.modulename}`
end
puts "-------------------------------------------------"
puts "Module name Lines of code Unused imports"
mods.each do |mod|
puts
"#{mod.modulename.ljust(20)}#{mod.ncss.to_s.ljust(15)}#{mod.unusedimport
s.to_s.ljust(5)}"
end
end
=======================================
Tom Copeland
InfoEther
703-486-4543
--
To unsubscribe, e-mail: <mailto:general-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:general-help@;jakarta.apache.org>