API Usage Scan against Galileo

API Usage Scan against Galileo

Awhile ago, I blogged about PDE API Tools and the usage scans feature. In honor of the Eclipse Galileo release, I decided to run the usage scan tool and generate a report against a good portion of the release to see if anything interesting came up. I was particularly looking at what bundles were accessing internal code. I decided to look at the org.eclipse.compare bundle and noticed that PDT had some internal references:

compare1

If we dig deeper and look at a particular set of internal references, we notice org.eclipse.php.ui using various classes:

compare3

As an API provider (in this case, org.eclipse.compare) you have a couple questions you can ask yourself based on a report like this. Why are my consumers accessing these particular internal classes? Is there API I can point my consumers too that they can use instead of the internal classes? Should I make these classes API or craft API? And so on…

Does anyone else see interesting internal usage?

Do people want to see this type of report run against Galileo and future release trains?

For those who are interested, here’s the build script that I used to generate the report.



    
    
	

	
	    
	    
	  

Enjoy.

4 Comments
  • Posted at 13:56, 2009-06-18

    Hi Chris,

    Very useful post.But can i get similar kind of information or report without running the build?.

    Thanks and Regards,
    Saurav

  • Posted at 14:47, 2009-06-18

    Chris, we should really push to have this as part of the next train build. This would allow everybody to see how is using the internal stuff and each team get a chance to publish API others need.

  • Matthew Hall
    Posted at 19:42, 2009-06-18

    That is really cool. I just found out from the report that DLTK is using data binding–now that I know that, I can reach out to them in the future for feedback on new APIs and such.