Basic support for exclusions in inline dependencies #169

harrah opened this Issue Jan 5, 2013 · 1 comment


None yet

1 participant


Hey Mark,

This is bit of a roughcut and not meant to be merged right away. It's more to solicit feedback and polish more. But let's see if we can converge on this long outstanding issue. I am suddenly finding this important, so thought of scratching the itch :)

The goal is to support the basic case of excluding a library from the dependency tree given it's organization and name, no more. This, I imagine, meets most use-cases barring a few esoteric ones (for all such things there is full blown ivyXML setting anyway).

So these should work now:

val dhttp = "net.databinder" %% "dispatch-http" % "0.7.8" excluding("commons-logging" % "commons-logging")
val dhttp = "net.databinder" %% "dispatch-http" % "0.7.8" excluding("commons-logging" % "commons-logging", "org.apache.httpcomponents" % "httpclient")

However, CacheIvy.moduleIDFormat is broken. It's not apparent because exclusions is the last parameter in ModuleID constructor. But I couldn't figure a nice fix because of the "nine parameters" limitation.

Let me know what you think about it and a suggestion to get around the problem in moduleIDFormat.


IMPORTANT This project has moved to This issue still exists to avoid dead links, but GitHub limitations prevent the original issue from being correctly preserved here. Please see sbt/sbt#169 for the full issue and to comment.

@harrah harrah closed this Jan 5, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment