[kepler-dev] Jar analysis part two.

Kevin Ruland kruland at ku.edu
Wed Dec 14 14:57:21 PST 2005


Continuing with the previous fun discussion...

The attached report is a "dependency report".  It attempts to determine
which jars are required by which classes.  Rather than emitting all
classes in a single jar which depend on a given jar, they are just
lumped together stating that the jars have a dependency.  (I'm certain I
didn't have to explain that, and didn't do a great job anyway.)

This is completly a static analysis of the byte code.  It does not
account for many wierd things like reflection or option requirements. 
An example of the first kind of error is the hsqldb.jar (and all the
jdbc driver jars).  These are reported as unused even though they may be
used.  An example of the second kind of problem is commons-logging.jar. 
The program determined that it requires log4j however, that is not the
case.  It attempts to load a log4j class but then happily carries on if
it isn't found.  Axis is also a known to use this kind of trick to use
commons-httpclient.

I have excluded the scia/** jars and the org.kepler.scia/** source from
this analysis.  Hence the results are going to be different.  When in
the previous duplication report, some scia jar (such as xercesImpl.jar)
was said to be used, in this report it is sms/xercesImpl.jar.  However,
because of the joys of jdk 1.4 and the fact that this jar is not
endorsed in execution, it is not sms/xercesImpl.jar which is used at all.

Anyway, with all that.  Here are my high level comments and the whole
unadulterated xml for your reading enjoyment.

Good night and have a pleasent tomorrow.

Kevin

gnu-regexp-1.0.8.jar is only used by
org.ecoinformatics.util.Util.substitute()
  This method is called in two places and does not use any regular
expressions.
  We can easily replace this method with either a loop over simple
string manipulations
  or with functionality from java.util.regex.

axis-ant.jar - build time jar.  Not used in build.xml

jaxb-xjc.jar - reported as used in sms/xercesImpl.jar.  Huh?
  should be a build time jar. Not used in build.xml

jwsdp/soapprocessor.jar - reported unused.

imageio/jai_imageio.jar - reported unused.

soaplab/soaplab.jar - reported unused.

configxml.jar - one useage in org.ecoinformatics.util.Util.  Can be removed.

xdoclet-1.2.2.jar - Used by org.nddp.config.ActorOntologyTags.java.  Must
contact Tim McPhillips to determine if this is part of the runtime system
or only used at build time.

hsqldb.jar - reported incorrectly as unused.  This is dynamically loaded
by jdbc and used for the internal database.

jwsdp/jsr173_api.jar - Reported as used.  Must investigate the requirements
  of this jar vs namespace.jar.

soap/ncsu.jar - reported as unused.

commons-httpclient-2.0-rc2.jar - reported as used by axis.jar.  However,
axis functions correctly when httpclient.jar is not available.

wsif-j2c.jar - reported as unused.  I suspect this is a precompiler.

jce-jdk13-117.jar - reported as used.  This is probably a compatibility jar
since it contains javax.crypto and java.security.

griddles/griddlesActorLib.jar - reported as unused.

cryptix.jar - reported as unused.  Might be needed by globus gsi.

namespace.jar - reported as unused.  Covered by jsr173_api.jar.

cog-tomcat.jar - reported as unused.  Probably so.

cog-axis.jar - reported as unused.  Don't know if Grid Service clients
  require this jar or not.

junit.jar - should not be a runtime requirement.

saaj.jar - reported as unused.  Needed by axis servers. Don't know about
axis clients.  Probably not unless we use the SAAJ api.

antlr.jar - is this a runtime requirement of jena.jar?

sms/icu4j.jar - reported as unused.

xsdlib.jar - reported as used by dlese.jar.  Is this a runtime requirement?

cos.jar - reported as unused.  probably so.

servlet.jar - reported used by org.geon.ExecutionThread.  Is it really
required by client side application?




-------------- next part --------------
A non-text attachment was scrubbed...
Name: jdepend.xml.gz
Type: application/x-gzip
Size: 13316 bytes
Desc: not available
Url : http://mercury.nceas.ucsb.edu/ecoinformatics/pipermail/kepler-dev/attachments/20051214/3cb06155/jdepend.xml-0001.bin


More information about the Kepler-dev mailing list