harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Re: Which applications run using Harmony classes?
Date Fri, 03 Mar 2006 18:05:04 GMT
What is 'perl' ?

(answers in 15 words or fewer)


zoe slattery wrote:
> Finally - after a little more time than I'd thought - I have attached a
> perl tool JIRA that takes a list of the classes that an application
> loads (produced from java -verbose:class), compares them against the API
> spec to filter out everything that isn't an API class, then compares the
> list of API classes with what is currently in SVN to see what classes we
> still need.
> Most of what I've put in JIRA is sample input, output and instructions.
> I've only tested it on Linux.
> The sample output files that I've appended come from running Tomcat.
> Geir Magnusson Jr wrote:
>> zoe slattery wrote:
>>> 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.
>> This is cool.
>>> The next step would be to check how many of these exist in SVN already
>>> - and maybe highlight the areas that we are missing? 
>> Yes!
>>> 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.
>> Try to find a way to do it on a local checkout.  We don't want to be
>> banging the SVN repo like this.  (We've been having problems lately w/
>> people walking through the SVN repo, file after file, version after
>> version, via the viewCVS interface.  Not a good use of resources.
>> This would be cool - I'd love to post these on the website,  to let
>> people know what they could do to help get their favorite app up and
>> going.
>> I wonder too if this could be combined with Gump somehow, so we can
>> automatically test a large swatch of the "popular java app" world.
>> geir
>>> Thoughts?
>>> -- 
>>> Zoe Slattery
>>> IBM


Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

View raw message