lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Bourg (Commented) (JIRA)" <>
Subject [jira] [Commented] (SOLR-3204) solr-commons-csv must not use the org.apache.commons.csv package
Date Tue, 06 Mar 2012 15:31:57 GMT


Emmanuel Bourg commented on SOLR-3204:

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?

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

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

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:
>             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:!default.jspa
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message