Uploaded image for project: 'Maven Indexer'
  1. Maven Indexer
  2. MINDEXER-107

Shaded-lucene indexer-core should have its own POM

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Won't Fix
    • 6.0.0
    • None
    • None

    Description

      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:

              <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>
      

      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

      Attachments

        Activity

          People

            Unassigned Unassigned
            sewe Andreas Sewe
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: