Hi there, I am toying with some thoughts to make a bigger leap with MI. I plan to start 6.0 of it, with following changes:
Changes would be along these lines: - Collapse indexer-artifact into indexer-core (this modularization had a historical reason, coming from Sonatype Nexus) - Remove Maven1 support (really, is it used by anyone? Ah, and it even does not work, is buggy) - Remove all the deprecated cruft (a LOT of breaking changes) - Simplify by removing many of "almost used" dependencies: stuff like wagon-provider-api and archetype-common bloated the POM and dependencies of project, only for single class each of them. If integrator needs archetype data source, or Wagon powered ResourceFetcher, is easy to add those by hand, those are trivial classes (or could be moved out into new trivial modules) - Make it really extensible by integrators too, complete rework of ArtifactInfo (a LOT of breaking changes) - "modernize" the library: ditch Plexus, use @Inject/SISU (mostly for ctor injection, easier testability) - Remove Lucene classes (IndexSearcher, IndexWriter etc) from IndexingContext, by not exposing those we will have freedom to change strategy in future, and for example use one single Lucene index for all the existing Contexts (currently as many contexts you have as many separate indexes you have ==> LOT of file handles). - update to latest Lucene (currently 4.5.0, MI uses last of 3.6.x line) Thanks, ~t~
