spark-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Owen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SPARK-1844) Support maven-style dependency resolution in sbt build
Date Fri, 23 Jan 2015 13:52:34 GMT

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

Sean Owen commented on SPARK-1844:
----------------------------------

Is this still relevant now that Maven is the primary build? the SBT build appears close-enough
to the Maven build to support development.

> Support maven-style dependency resolution in sbt build
> ------------------------------------------------------
>
>                 Key: SPARK-1844
>                 URL: https://issues.apache.org/jira/browse/SPARK-1844
>             Project: Spark
>          Issue Type: Improvement
>          Components: Build
>            Reporter: Patrick Wendell
>            Assignee: Prashant Sharma
>
> [Currently this is a brainstorm/wish - not sure it's possible]
> Ivy/sbt and maven use fundamentally different strategies when transitive dependencies
conflict (i.e. when we have two copies of library Y in our dependency graph on different versions).
> This actually means our sbt and maven builds have been divergent for a long time.
> Ivy/sbt have a pluggable notion of a [conflict manager|http://grepcode.com/file/repo1.maven.org/maven2/org.apache.ivy/ivy/2.3.0/org/apache/ivy/plugins/conflict/ConflictManager.java].
The default chooses the newest version of the dependency. SBT [allows this to be changed|http://www.scala-sbt.org/release/sxr/sbt/IvyInterface.scala.html#sbt;ConflictManager]
though.
> Maven employs the [nearest wins|http://techidiocy.com/maven-dependency-version-conflict-problem-and-resolution/]
policy which means the version closes to the project root is chosen.
> It would be nice to be able to have matching semantics in the builds. We could do this
by writing a conflict manger in sbt that mimics Maven's behavior. The fact that IVY-813 has
existed for 6 years without anyone doing this makes me wonder if that is not possible or very
hard :P



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org


Mime
View raw message