Classpathchecker.rb

From EggeWiki
Revision as of 19:23, 29 March 2009 by Brianegge (talk | contribs) (New page: Here's a handy script I often use in scripts which launch a Java process in order to verify if all the jars on the classpath exist and are readable. <geshi lang="ruby"> #!/usr/bin/env rub...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Here's a handy script I often use in scripts which launch a Java process in order to verify if all the jars on the classpath exist and are readable.

<geshi lang="ruby">

  1. !/usr/bin/env ruby
  2. Checks to make sure all the entries on the classpath are valid
  1. We only want to emit color codes if we're outputting to a terminal. If this is getting piped into grep or less, we'll ignore these

red=STDOUT.isatty ? "\e[1;31m" :"" normal=STDOUT.isatty ? "\e[0;0m" : ""

if ARGV.size == 0 then

 cp = ENV['CLASSPATH']

else

 cp = ARGV[0]

end


if cp == nil then

 STDERR.puts "No CLASSPATH set"
 exit 1

else

 if cp =~ /jar:/ then
   splitchar = ':'
 else
   splitchar = ';'
 end
 ret = 0
 cp.split(splitchar).each do |file|
   if !File.readable?(file) then
     STDERR.puts "Warning: Classpath file #{red}#{file}#{normal} can't be read"
     ret = 1
   end
 end
 if ret != 0 then
   exit ret
 end

end </geshi>