[ 
https://issues.apache.org/jira/browse/SOLR-3204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13223328#comment-13223328
 ] 

Emmanuel Bourg commented on SOLR-3204:
--------------------------------------

{quote}
One idea how to solve the issue: Maybe commons-csv should publish their nightly 
builds through jenkins to maven? Then Solr could add the snapshot build as a 
dependency and we are done?
{quote}

Commons CSV snapshots are available in the Apache snapshot repository, but when 
you release Solr in the central repository all its dependencies have to be 
there as well, so that won't work.

{quote}
What will user X do, if the project he is using depends on an older CSV version 
but Solr needs a new one, although in Maven Central? Yes, he has a conflict. 
The situation is not different here.
{quote}

Once Commons CSV is released we guarantee the binary compatibility of the next 
releases. The Apache Commons team takes compatibility issues very seriously 
because our components are reused in many projects. When we have to break the 
compatibility the code is moved to a new package to avoid conflicts. For 
example Commons Lang 3 broke the binary compatibility with the previous 
releases and used a new namespace org.apache.commons.lang3 to avoid issues.

If Solr wants to shield its user from incompatibilities, even after Commons CSV 
is officially released, it's possible to automate the process of renaming the 
package of the dependencies. That's what Tomcat does with Commons DBCP. Tools 
like the Maven Shade plugin or the JarJar Ant tasks are designed for this 
purpose.
                
> solr-commons-csv must not use the org.apache.commons.csv package
> ----------------------------------------------------------------
>
>                 Key: SOLR-3204
>                 URL: https://issues.apache.org/jira/browse/SOLR-3204
>             Project: Solr
>          Issue Type: Bug
>          Components: Build
>    Affects Versions: 3.5
>            Reporter: Emmanuel Bourg
>            Priority: Blocker
>             Fix For: 3.6
>
>         Attachments: solr-csv.patch
>
>
> The solr-commons-csv artifact reused the code from the Apache Commons CSV 
> project but the package wasn't changed to something else than 
> org.apache.commons.csv in the process. This creates a compatibility issue as 
> the Apache Commons team works toward an official release of Commons CSV. It 
> prevents Commons CSV from using its own org.apache.commons.csv package, or 
> forces the renaming of all the classes to avoid a classpath conflict.

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

Reply via email to