Sean Owen created MAHOUT-1338:
---------------------------------

             Summary: Reduce mahout-integration transitive dependencies to 
avoid JAR hell, version conflicts
                 Key: MAHOUT-1338
                 URL: https://issues.apache.org/jira/browse/MAHOUT-1338
             Project: Mahout
          Issue Type: Improvement
    Affects Versions: 0.8
            Reporter: Sean Owen
            Assignee: Sean Owen
            Priority: Minor


mahout-integration contains bits of client and connector code for a lot of 
projects, like Lucene, Cassandra, MongoDB, etc. As such, its transitive 
dependencies in Maven pull in quite a lot. 

Most of these are unnecessary for any particular user, since probably at most 
one client/package is of interest. In fact, mahout-integration is not used by 
most users at all. 

In the worst case, it causes actual version problems when trying to package up 
the transitive dependencies of something depending on Mahout.

I suggest several changes along these lines, all of which are represented in 
the attached patch:

1. Remove direct lucene-core and cassandra-all dependencies, as they are not 
necessary
2. Mark all dependencies like hector, mongodb, etc as optional in Maven
3. In fact, mark mahout-examples, mahout-buildtools and mahout-integration as 
optional with respect to the overall project.
4. Bonus: update Cassandra client version to pull in slightly newer deps

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to