[
https://issues.apache.org/jira/browse/TIKA-1511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14275286#comment-14275286
]
Konstantin Gribov commented on TIKA-1511:
-----------------------------------------
Usual way is to exclude maven dependency and add check some {{xerial}} class
presence before using it in appropriate Tika parser (i. e. call
{{Class.forName("org.sqlite.JDBC")}} and catch {{ClassNotFoundException}}). I
don't know how consistently {{tika-parsers}} uses this approach.
Native libs are usually stored in same jar (build for all supported platforms),
so excluding {{sqlite-jdbc.jar}} prevents loading sqlite native library from it.
E.g. if I don't need, say, netcdf parsers when invoking tika I can add such
snippet to my {{pom.xml}}:
{code:xml}
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-parsers</artifactId>
<version>1.6</version>
<exclusions>
<exclusion>
<groupId>edu.ucar</groupId>
<artifactId>netcdf</artifactId>
</exclusion>
</exclusions>
</dependency>
{code}
So, tika library user don't need to rebuild tika-parsers, store it somewhere
and can use prebuild tika release from maven central.
Same pattern can be used with other libs, splitting them into two buckets:
- with Apache-compatible license, which can be included in {{tika-parsers.jar}}
artifact,
- with license which prevents packaging it with Tika and documentation info
about such parsers/detectors availability if user add them to classpath.
Such approach is generic and not related to libs with jni. E.g. it allows
someone to use proprietary or copyleft (GNU GPL/LGPL) library if it's allowed
from legal side. I'm not a lawyer, so I don't know will compile-time dependency
on some library with Apache-incompatible license infringe someones copyright or
not.
Disclaimer: I'm not a lawyer. My thoughts above aren't legal advice. I think,
legal advice from ASF should be formally received before including ever
optional dependencies on some Apache License incompatible thrid-party libs.
> Create a parser for SQLite3
> ---------------------------
>
> Key: TIKA-1511
> URL: https://issues.apache.org/jira/browse/TIKA-1511
> Project: Tika
> Issue Type: New Feature
> Components: parser
> Affects Versions: 1.6
> Reporter: Luis Filipe Nassif
> Fix For: 1.8
>
>
> I think it would be very useful, as sqlite is used as data storage by a wide
> range of applications. Opening the ticket to track it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)