I've tried to post this a couple of times from another mail account -
but it seems to go into a black hole - apologies if another two copies
turn up later  :-(

I had some thoughts about running applications using Harmony classes.
Rather than just getting various applications and trying them with
Harmony I've been trying to see what classes they need.

For example, I downloaded and installed Derby then ran this:

java –verbose:class org.apache.derby.drda.NetworkServerControl start > dbc.txt

This generates a file (dbc.txt) showing all of the classes that get
loaded when Derby starts up. The format of the output is something
like this:

...
class load: java/io/BufferedOutputStream
class load: java/io/BufferedReader
class load: java/io/BufferedWriter
class load: java/io/ByteArrayInputStream
class load: java/io/ByteArrayOutputStream
class load: java/io/CharConversionException
class load: java/io/DataInput
class load: java/io/DataInputStream
...

using an IBM JRE - the format would likely be different using another
JRE. I ran a few more similar things to look at what classes get
loaded when you create tables, add rows etc. and then cat'd the class
load output into a single file. A more extensive test could be run by
using Derby unit tests.

I wrote a small perl script that extracts the names of all of the java
classes and then compares these against the API spec to generate a
final list of API classes that are used by an application. I'd be
happy to supply the perl, although it needs a bit of tidying up.

The next step would be to check how many of these exist in SVN already
- and maybe highlight the areas that we are missing? So far, the only
way I have found to get a list of files that exist in SVN is using
something like "svn list $repos_path -R", if anyone knows of a better
(faster) way I'd be happy to hear it.

Thoughts?

--
Zoe Slattery
IBM

Reply via email to