On Mon, 15 Dec 2014, Sergey Beryozkin wrote:
As a first step, I thought we'd still keep the same tika-parser jar, the
only difference would be what dependencies ended up in the bundle. If
the tika-bundle-pdf has no POI jars included in it, then the Microsoft
Office related parsers shouldn't register themselves.

It would mean that the "pdf bundle" would have the image, microsoft etc
parser code in them, but the parsers wouldn't be registered as their
dependencies wouldn't be there.

Not sure if this can/will work, but it would mean we can do cut-down
bundles + cut-down-maven-docs, without needing to change anything else.
If it proves popular, we can then re-visit the "giant tika parsers"
question, but if not it shouldn't change anything. Well, that's the
theory... :)


Sorry if I haven't completely understood the idea, I think there's definitely something nice being suggested above, and it sounds to me as if the following can be one possible realization of it, as a first step for example, - add a tika-pdf module, this will be a bundle, so it will work as a jar and as an OSGI bundle; the code for tika-pdf will be extracted (and removed) from tika-parsers

Not quite - I forsee this being OSGi only for now. Tika Parsers project would be unchanged, OSGi users could have tika (all) as now, or just tika-pdf

- tika-parsers will get updated to depend on tika-pdf - hence users working with tika-parsers won;t be affected

No, that's a possible phase 2 if it goes well. No change for non-OSGi stuff. Non-OSGi users can see the OSGi build to work out what to include and exclude if they want. (This means that we have a unit tested way to see what you do/don't want, without affecting things for the simple Tika users we get confused already with tika-core + tika-parsers)

- those users who want working with PDF only would ad tika-core + tika-pdf dependencies only

OSGi users would pick tika + tika-parsers, or tika + tika-parsers-pdf, or tika + tika-parsers-pdf + tika-parsers-mp3 if they want


OSGi is nicely contained, and fairly easy to unit test, so let's use that to test out the idea! That also solves the CXF need. Once that works, and once we have a tested way that everyone can see + understand, then someone can try to make the case for phase II where we push it to the maven pom / project level!

Nick

Reply via email to