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