0

I was wondering If it is possible to exclude local transitive 'project' dependencies in an sbt build.

given 3 modules: module1, module2 and module3

  • module 1 depends on module 2
  • module 2 depends on module 3

in this scenario I want to exclude all all package references from module 3 in module 1, please see below an illustrative example which I tried!


lazy val module1: Project =
  (project in file("module1"))
    .dependsOn(module2)
    .settings(
      excludeDependencies := Seq(ExclusionRule("com.x", "module3"))
    )

lazy val module2: Project =
  (project in file("module2"))
    .dependsOn(module3)

lazy val module3: Project =
  (project in file("module3"))
    .settings(
      organization := "com.x",
      name         := "module3"
    )

I expected module 1 to not have any reference to module3 packages, but unfortunately it did, can anybody help?

0 Answers0