[jira] [Updated] (SOLR-5950) In SolrJ's Maven Dependency Graph, slf4j-api is optional, which breaks plain solrj users

2014-04-03 Thread Steve Rowe (JIRA)

 [ 
https://issues.apache.org/jira/browse/SOLR-5950?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Steve Rowe updated SOLR-5950:
-

Attachment: SOLR-5950.trunk.patch
SOLR-5950.branch_4x.patch

Separate trunk and branch_4x patches, since trunk doesn't have a war POM.

On trunk, {{org.slf4j:slf4j-api}} is a transitive dependency (not optional) in 
all modules in which it is a dependency.

On branch_4x, {{org.slf4j:slf4j-api}} is a transitive dependency (not optional) 
in all modules in which it is a dependency, except for the war POM, where it is 
optional.  When I build the war using Maven after applying the branch_4x patch, 
it does not contain the {{slf4j-api}} jar.

Committing shortly to trunk and branch_4x, then backporting from branch_4x to 
the lucene_solr_4_7 branch.

> In SolrJ's Maven Dependency Graph, slf4j-api is optional, which breaks plain 
> solrj users
> 
>
> Key: SOLR-5950
> URL: https://issues.apache.org/jira/browse/SOLR-5950
> Project: Solr
>  Issue Type: Bug
>  Components: clients - java
>Affects Versions: 4.7, 4.7.1
>Reporter: Uwe Schindler
>Assignee: Steve Rowe
> Attachments: SOLR-5950.branch_4x.patch, SOLR-5950.patch, 
> SOLR-5950.trunk.patch
>
>
> To run as a Solr Client, you need slf4j actually configured in your 
> classpath, because HttpSolrServer hardly depends on it, also the used libs 
> like Commons Httpclient (and others)
> In SOLR-3706 *all* of the slf4j JARs were made optional, but because we did 
> not exclude the dependencies of httpclient and others explicitely, the 
> dependency was still included by maven automatically for a user that used 
> SolrJ - so effectively the "optional" was never working.
> In 4.7, [~steve_rowe] now explicitely excluded all dependencies of all deps 
> included via IVY. By that the implicit dependency by httpclient was killed.
> When I updated a project from SolrJ 4.6 to SolrJ 4.7, it suddenly failed to 
> run, because it failed with a classnotfound ex directly after starting. Not 
> even the default logging to console was enabled (which is provided by slf4j). 
> This is bad for users of SolrJ, because they have to explicitely add a 
> dependency for something that really required to use SolrJ.
> The reason for excluding slf4j-api was that we don't want to have it in the 
> WAR file, so it was made optional. But that is wrong:
> - In trunk we no longer have a WAR file
> - The primary user of SolrJ via Maven is not somebody who wants to install 
> Solr in his appserver, its the user needing the client.
> So we should restore the state from Solr 4.6, where the dep was implicitely 
> included, by making it non-optional in Maven.
> When building the WAR file in 4.x we should exclude it somehow via Maven 
> Magic(tm).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Updated] (SOLR-5950) In SolrJ's Maven Dependency Graph, slf4j-api is optional, which breaks plain solrj users

2014-04-02 Thread Steve Rowe (JIRA)

 [ 
https://issues.apache.org/jira/browse/SOLR-5950?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Steve Rowe updated SOLR-5950:
-

Attachment: SOLR-5950.patch

Trunk patch that makes the org.slf4j:slf4j-api dependency not optional for 
solrj.  This dependency remains optional for all other Solr modules.

> In SolrJ's Maven Dependency Graph, slf4j-api is optional, which breaks plain 
> solrj users
> 
>
> Key: SOLR-5950
> URL: https://issues.apache.org/jira/browse/SOLR-5950
> Project: Solr
>  Issue Type: Bug
>  Components: clients - java
>Affects Versions: 4.7, 4.7.1
>Reporter: Uwe Schindler
>Assignee: Steve Rowe
> Attachments: SOLR-5950.patch
>
>
> To run as a Solr Client, you need slf4j actually configured in your 
> classpath, because HttpSolrServer hardly depends on it, also the used libs 
> like Commons Httpclient (and others)
> In SOLR-3706 *all* of the slf4j JARs were made optional, but because we did 
> not exclude the dependencies of httpclient and others explicitely, the 
> dependency was still included by maven automatically for a user that used 
> SolrJ - so effectively the "optional" was never working.
> In 4.7, [~steve_rowe] now explicitely excluded all dependencies of all deps 
> included via IVY. By that the implicit dependency by httpclient was killed.
> When I updated a project from SolrJ 4.6 to SolrJ 4.7, it suddenly failed to 
> run, because it failed with a classnotfound ex directly after starting. Not 
> even the default logging to console was enabled (which is provided by slf4j). 
> This is bad for users of SolrJ, because they have to explicitely add a 
> dependency for something that really required to use SolrJ.
> The reason for excluding slf4j-api was that we don't want to have it in the 
> WAR file, so it was made optional. But that is wrong:
> - In trunk we no longer have a WAR file
> - The primary user of SolrJ via Maven is not somebody who wants to install 
> Solr in his appserver, its the user needing the client.
> So we should restore the state from Solr 4.6, where the dep was implicitely 
> included, by making it non-optional in Maven.
> When building the WAR file in 4.x we should exclude it somehow via Maven 
> Magic(tm).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org