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