Andreas Sewe created MINDEXER-107:
-------------------------------------
Summary: Shaded-lucene indexer-core should have its own POM
Key: MINDEXER-107
URL: https://issues.apache.org/jira/browse/MINDEXER-107
Project: Maven Indexer
Issue Type: Improvement
Affects Versions: 6.0
Reporter: Andreas Sewe
Priority: Minor
While I like the idea that {{indexer-core}} is also available with a
{{shaded-lucene}} classifier (given the likelihood of clashes with another,
incompatible Lucene already on the classpath), the current, classifier-based
implementation is not ideal:
The {{shaded-lucene}} JAR shares its POM with the primary {{indexer-core}} JAR,
i.e., there is no *dependency-reduced* POM available for easy consumption by
clients. Thus, every user of the {{shaded-lucene}} JAR needs a lengthy
{{<exclusions>}} list – which needs to be kept in-sync with {{lucene-core}}’s
{{maven-shade-plugin}} configuration:
{noformat}
<dependency>
<groupId>org.apache.maven.indexer</groupId>
<artifactId>indexer-core</artifactId>
<classifier>shaded-lucene</classifier>
<version>6.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queries</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-sandbox</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-backward-codecs</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-highlighter</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-join</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-memory</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
</exclusion>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk16</artifactId>
</exclusion>
</exclusions>
</dependency>
{noformat}
IMHO, it would be better to have a separate {{indexer-core-standalone}} project
whose dependency-reduced POM is deployed and thus available for easy
consumption by clients
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)