- Eclipse uses Lucene for its code indexing/searching (I learned this at the OSCON Keynote by Eclipse folks). Perhaps looking at how Eclipse does its thing would be useful even if not the solution.
- XDoclet could be used to sweep through Java code and build a text/XML file as richly as you'd like from the information there (complete with JavaDoc tags, which Zapata will miss :)), and then run Lucene on the generated files. On a related note, the XDoclet2 architecture would streamline this even further by eliminating the middle textual representation (QDox/XJavadoc reads Java as a "meta data provider" and then a Lucene "plugin" indexes things). It could be done without the intermediate text representation even in XDoclet 1.2, but it would require coding a custom subtask and be slightly out of the norm for XDoclet subtasks (but would work just fine).
- My <index> task could be used, but it would be better to use something that built a complete object-graph of all the source code you want indexed, so that it can deal with base classes, inherited javadoc tags, and other such interactions between classes you might want to capture.
Erik
On Thursday, September 4, 2003, at 07:18 AM, Otis Gospodnetic wrote:
Hello,
Has anyone written an application that uses Lucene to index Java code, either from the source .java files, or compiled .class files?
I need to create a searchable index for Java code, so that I can use that index to check if classes or methods with certain functionality have already been written. This is an effort to remove code duplication and do more code re-use. If this application can also index Javadocs, even better!
I think I heard of somebody doing this already. Kevin Burton? This is something that would fit nicely in Erik's Ant IndexTask in Lucene Sandbox), I think.
Thank you, Otis
__________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]