lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steven Rowe (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SOLR-2849) Solr maven dependencies: logging
Date Thu, 27 Oct 2011 22:08:32 GMT

    [ 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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message