[
https://issues.apache.org/jira/browse/MAHOUT-874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13172792#comment-13172792
]
Sean Owen commented on MAHOUT-874:
----------------------------------
What all classes in core depend on doesn't matter, if you are only using the
Writables. Then, it only matters what the Writable classes depend on; unused
classes are never loaded and have no effect. But then, it means depending on a
jar of just the Writables doesn't change what you need at runtime, so what does
this help for your use case? I assume it's not a runtime issue then.
It's something to do with Maven output? But what real problem is that
causing... the availability of dependencies doesn't harm anything. It makes the
job file bigger. But are you deploying in a case where a couple megs in a jar
file matters? The only case I've seen where it matters is mobile apps, these
days, and you say you don't want to use Proguard. Ted's indicating it doesn't
save much.
Why is <exclude> so bad, this seems like what it's for. core has 12 third-party
dependencies, and won't move much. That's not so bad even if you wanted to
exclude each one. You could create your own (internal) artifact that is just
"core, stripping the dependencies we don't want" that everyone can depend on.
mahout-math doesn't depend on mahout-core. I think you're proposing a circular
dependency here (?). Which is possible. But that is symptomatic of the
difference. I suppose you can start looking at severing more dependencies and
breaking out even more sub-modules; now users need to figure out which of 3, 4,
5 jars are needed.
I don't doubt this solves your problem, just asking whether it solves a more
general need, since it is going to create small additional work for all other
consumers or core.
Or: don't we actually need some code surgery around Cluster to actually
accomplish what you want anyway? or else it ends up depending on core anyway.
> Extract Writables into a separate module to allow smaller dependencies
> ----------------------------------------------------------------------
>
> Key: MAHOUT-874
> URL: https://issues.apache.org/jira/browse/MAHOUT-874
> Project: Mahout
> Issue Type: Improvement
> Reporter: Ted Dunning
>
> The theory is that we can have a smaller jar if we only include writable
> classes and their exact dependencies.
> I have a prototype, but it has some funky characteristics which I would like
> to discuss.
--
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