With Bug 222105, Remy Suen has assembled an Eclipse Corner article describing how to contribute to Eclipse. An important part of contributing to an Eclipse project is actually obtaining the code for that project. Unfortunately, we currently don’t have a good story for figuring out how to generically find the code that needs to be loaded into the workspace from an Eclipse source code repository in order to build a patch.
It occurred to me that it’d be cool to have a resource for sorting this sort of thing out, so Gabe and I have been playing around with some ideas to make this easier.
We’re very much in an experimental mode right now, and this may not play out. But the general idea is to create a database that maps the full name of a Java class to the source code repository URL for the corresponding project. If/when we’re successful, we’ll build a RESTful webservice that can do the mapping and look into connecting it to the Plug-in Spy. Frankly, I think a button on the Plug-in Spy that loads the project into the workspace would be pretty cool.
We’ve been tinkering around with CVS, but are keeping SVN and Git in mind. The information we need is already available: we scan CVS for any directory that contains a .project and .classpath file, extract the names of the “source” directories from the .classpath files, and then walk those directories to find the classes. For now, we’re only thinking about what is in HEAD.
I’ve been using the Eclipse File System (EFS) to scan CVS from within an Equinox application with some success. Gabe’s been attacking it using some PHP. I think we’re a long way away from something really useful; but once we get to a point where we have something usable, we’ll solicit more input and make it available through Dash. I intend to have something to show in time for Eclipse Summit Europe (be sure to submit your talk proposals and/or register!)
What do you think? Cool? Potentially useful?