From: <ant...@gm...> - 2007-10-22 10:09:30
|
Christiaan Fluit pisze: > Jukka Zitting wrote: >> As discussed before, I'm looking at adding an Aperture binding to the >> Apache Tika project. Tika uses Maven 2 to handle builds and >> dependencies, so it would be very useful if the Aperture jars would be >> made available on the central Maven repository. > > I'm very much in favor of both splitting up in various jars and making > it available as Maven bundles. > > The issue I frequently bump into myself is that I need to use the MIME > type identifier and I do not have any need for the rest of Aperture. > > How about the following split up: > > aperture-api (APIs and util classes used throughout the code) > aperture-extractors (all extractors) > aperture-crawlers (all crawlers, includes accessors as well?) > aperture-mime (my precious MIME type identifier :) ) > > Of course a onejar jar file can still be provided as well. > > A more extreme setup is to create separate jars for each extractor, > crawler, etc, (i.e. for each implementation of an Aperture API) but that > would probably only be practical for people that use Maven in their own > apps. > We already had this discussion last year when we split Aperture into two OSGI bundles. The simplest way would be to continue this. Publish the aperture core APIs as one maven dependency (in this way all AFL code would be in a single jar) and the implementations in another maven dependency (which would make all OSL code available in a separate jar). This would make the license distinction much more clear and visible. We would split the source tree in two subprojects and wouldn't need those 1000 lines of ANT selectors to hand-pick each and every file into the appropriate bundle. Having a separate POM and a separate module for each aperture implementation would also be possible, there are virtually no dependencies between implementations, all of them only depend on core. (Note the "virtually", I didn't say "no dependencies", e.g. all extractors depend on extractor.util). This would require much work though, someone would have to spend quite some time to get the POMs and dependencies straight. Antoni Mylka ant...@gm... |