harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From zoe slattery <zoe.slatt...@googlemail.com>
Subject Re: Which applications run using Harmony classes?
Date Fri, 03 Mar 2006 14:19:01 GMT
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
>>
>>
>


Mime
View raw message