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

Dawid Weiss commented on MAHOUT-768:
------------------------------------

The original problem for us was when we were post-processing binaries and 
detected a class clash between mahout collections and mahout-math (duplicated 
class). This was what prompted the request to move it in either one or the 
other direction with the preference of keeping classes in mahout-math because 
it is much smaller and doesn't trigger an import dependency on collections (if 
you're just using mahout math a dependency on the entire collections is a size 
killer).

I admit it's been a while and I'd have to re-evaluate on the proposed solutions 
to the problem, but I will also live with whatever you can come up with... 
having identical namespace duplicates is not a good idea so I'd move it in 
either package and change dependencies accordingly?
                
> Duplicated DoubleFunction in mahout and mahout-collections (mahout.math 
> package).
> ---------------------------------------------------------------------------------
>
>                 Key: MAHOUT-768
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-768
>             Project: Mahout
>          Issue Type: Improvement
>          Components: collections, Math
>    Affects Versions: 0.5, collections-1.0
>            Reporter: Dawid Weiss
>            Assignee: Ted Dunning
>            Priority: Minor
>             Fix For: 0.6
>
>
> DoubleFunction is duplicated in Mahout Math and Collections. There are also 
> other things inside m.math.* package that are kept there to avoid circular 
> dependencies... Simply removing DoubleFunction from collections is not going 
> to work because it is needed for compilation (again, circular dependency 
> between collections and math). I see two solutions:
> 1) extract the common definitions inside math.function.* into a separate 
> module. This is a clean solution, but obviously scatters the code even 
> further.
> 2) create a compilation-time, optional dependency on mahout 0.5 in 
> collections, remove the entire mahout.math.* subpackage from collections and 
> live with this. I don't know how Maven handles circular dependencies of this 
> type:
> collections [trunk] -> [optional, required at build time] mahout.math 0.5
> mahout.math [trunk] -> collections [trunk]
> it seems tricky and error-prone, but should also work.
> Looking for other ideas of cleaning this mess up, of course.
> Dawid

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

        

Reply via email to