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:
If we dig deeper and look at a particular set of internal references, we notice org.eclipse.php.ui using various classes:
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.