You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Andreas Sewe (JIRA)" <ji...@apache.org> on 2017/11/15 11:33:00 UTC

[jira] [Created] (MINDEXER-107) Shaded-lucene indexer-core should have its own POM

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)