[
https://issues.apache.org/jira/browse/SOLR-2849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13137608#comment-13137608
]
Steven Rowe commented on SOLR-2849:
-----------------------------------
bq. /modules/queryparser: make lucene-sandbox an optional dependency. The
dependency is isolated to the XML builder CorePlusExtensionsParser subclass, so
it is quite optional.
I don't agree about it being "quite" optional. The lucene-sandbox dependency
is there for {{FuzzyLikeThisQuery}} and {{DuplicateFilter}}. Making the
lucene-sandbox dependency optional means Maven users will have to know that
their own project has to depend on {{lucene-sandbox-X.X.jar}} if they want to
use the builders for *any* of queries supported by {{CorePlusExtensionsParser}}
(since a {{ClassNotFoundException}} will be thrown when the
{{CorePlusExtensionsParser}} ctor is invoked):
# {{TermsFilter}}
# {{BooleanFilter}}
# {{DuplicateFilter}}
# {{MoreLikeThisQuery}}
# {{BoostingQuery}}
# {{FuzzyLikeThisQuery}}
I think your motivation for making the dependency optional is that most people
won't use any of these? But I don't think this is an appropriate distinction
to make for a library. The queryparser library exposes certain functionality,
and we should indicate the dependencies required to enable *all* of that
functionality, not just the subset we think most people will use.
I think we should only declare dependencies optional when their exclusion will
not limit usage. Right now on trunk, only two deps in one POM (solr core) are
declared optional, and the reason is that there really are no transitive
dependencies on them.
> Solr maven dependencies: logging
> --------------------------------
>
> Key: SOLR-2849
> URL: https://issues.apache.org/jira/browse/SOLR-2849
> Project: Solr
> Issue Type: Improvement
> Components: Build
> Affects Versions: 4.0
> Reporter: David Smiley
> Priority: Trivial
> Attachments: SOLR-2849_maven_dependencies.patch,
> SOLR-2849_maven_dependencies.patch, SOLR-2849_maven_dependencies.patch
>
>
> I was looking at my maven based project's Solr-core dependencies (trunk), and
> observed some issues that I think should be fixed in Solr's maven poms. I ran
> {{mvn dependency:tree}} -- the output is further below. There are two
> changes I see needed, related to logging:
> * slf4j-jdk14 should be runtime scope, and optional.
> * httpclient depends on commons-logging. Exclude this dependency from the
> httpclient dependency, and add a dependency on jcl-over-slf4j with compile
> scope.
> * Zookeeper depends on Log4j, unfortunately. There is an issue to change this
> to SLF4J: ZOOKEEPER-850. In the mean time we should exclude it and use
> log4j-over-slf4j with compile scope, at the solrj pom.
> As an aside, it's unfortunate to see all those velocity dependencies. It
> even depends on struts -- seriously?! I hope solritas gets put back into a
> contrib sometime: SOLR-2588
> Steve, if you'd like to me to create the patch, I will.
> {code}
> [INFO] +- org.apache.solr:solr-core:jar:4.0-SNAPSHOT:compile
> [INFO] | +- org.apache.solr:solr-solrj:jar:4.0-SNAPSHOT:compile
> [INFO] | | \- org.apache.zookeeper:zookeeper:jar:3.3.3:compile
> [INFO] | | +- log4j:log4j:jar:1.2.15:compile
> [INFO] | | | \- javax.mail:mail:jar:1.4:compile
> [INFO] | | | \- javax.activation:activation:jar:1.1:compile
> [INFO] | | \- jline:jline:jar:0.9.94:compile
> [INFO] | +- org.apache.solr:solr-noggit:jar:4.0-SNAPSHOT:compile
> [INFO] | +-
> org.apache.lucene:lucene-analyzers-phonetic:jar:4.0-SNAPSHOT:compile
> [INFO] | +- org.apache.lucene:lucene-highlighter:jar:4.0-SNAPSHOT:compile
> [INFO] | +- org.apache.lucene:lucene-memory:jar:4.0-SNAPSHOT:compile
> [INFO] | +- org.apache.lucene:lucene-misc:jar:4.0-SNAPSHOT:compile
> [INFO] | +- org.apache.lucene:lucene-queryparser:jar:4.0-SNAPSHOT:compile
> [INFO] | | \- org.apache.lucene:lucene-sandbox:jar:4.0-SNAPSHOT:compile
> [INFO] | | \- jakarta-regexp:jakarta-regexp:jar:1.4:compile
> [INFO] | +- org.apache.lucene:lucene-spatial:jar:4.0-SNAPSHOT:compile
> [INFO] | +- org.apache.lucene:lucene-suggest:jar:4.0-SNAPSHOT:compile
> [INFO] | +- org.apache.lucene:lucene-grouping:jar:4.0-SNAPSHOT:compile
> [INFO] | +- org.apache.solr:solr-commons-csv:jar:4.0-SNAPSHOT:compile
> [INFO] | +- commons-codec:commons-codec:jar:1.4:compile
> [INFO] | +- commons-fileupload:commons-fileupload:jar:1.2.1:compile
> [INFO] | +- commons-httpclient:commons-httpclient:jar:3.1:compile
> [INFO] | | \- commons-logging:commons-logging:jar:1.0.4:compile
> [INFO] | +- commons-io:commons-io:jar:1.4:compile
> [INFO] | +- org.apache.velocity:velocity:jar:1.6.4:compile
> [INFO] | | +- commons-collections:commons-collections:jar:3.2.1:compile
> [INFO] | | \- oro:oro:jar:2.0.8:compile
> [INFO] | +- org.apache.velocity:velocity-tools:jar:2.0:compile
> [INFO] | | +- commons-beanutils:commons-beanutils:jar:1.7.0:compile
> [INFO] | | +- commons-digester:commons-digester:jar:1.8:compile
> [INFO] | | +- commons-chain:commons-chain:jar:1.1:compile
> [INFO] | | +- commons-validator:commons-validator:jar:1.3.1:compile
> [INFO] | | +- dom4j:dom4j:jar:1.1:compile
> [INFO] | | +- sslext:sslext:jar:1.2-0:compile
> [INFO] | | +- org.apache.struts:struts-core:jar:1.3.8:compile
> [INFO] | | | \- antlr:antlr:jar:2.7.2:compile
> [INFO] | | +- org.apache.struts:struts-taglib:jar:1.3.8:compile
> [INFO] | | \- org.apache.struts:struts-tiles:jar:1.3.8:compile
> [INFO] | +- org.slf4j:slf4j-jdk14:jar:1.6.1:compile
> [INFO] | \- org.codehaus.woodstox:wstx-asl:jar:3.2.7:runtime
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]