Eclipse Yoxos Services Downloads Blogs About
Home > Blogs >

on Jun 18th, 2009API 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 300x188 API Usage Scan against Galileo

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

compare3 300x235 API Usage Scan against Galileo

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.

<?xml version="1.0" encoding="UTF-8"?>
<project name="api_use_reporting" default="run" basedir=".">
    <property name="baseline" value="/Users/chrisaniszczyk/eclipses/eclipse-galileo" />
    <property name="report_location" value="${baseline}/api" />
	<property name="html_report_location" value="${baseline}/api-html"/>
 
	<target name="run">
	    <apitooling.apiuse
	      	baseline="${baseline}"
	    	proceedonerror="true"
	      	report="${report_location}"
	      	considerinternal="true"
	      	considerapi="true"
	      	debug="true"
	     />
	    <apitooling.apiuse_reportconversion
	      	htmlfiles="${html_report_location}"
	      	xmlfiles="${report_location}"
	      	debug="true"
	    />
	  </target>
</project>

Enjoy.

Share and Enjoy:

  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • Twitter
  • FriendFeed
  • LinkedIn
  • Reddit
  • Slashdot

Related posts:

4 Responses to “API Usage Scan against Galileo”

  1. Saurav says:

    Hi Chris,

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

    Thanks and Regards,
    Saurav

  2. Benjamin Muskalla says:

    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.

  3. Matthew Hall says:

    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.

  4. Benjamin, I filed a bug for this.

    Please follow it if you’re interested.

Leave a Reply

Get Adobe Flash playerPlugin by wpburn.com wordpress themes
© EclipseSource 2008 - 2009