Reputation: 51109
I have a project with a bunch of tests written for Scalatest 1.x, which use the ShouldMatchers
class, which was deprecated in version 2.x. Going forward, I want to use version 2 for new tests, but this will mean I have to refactor all my existing tests (which I can do, but it'll take some time).
In the meantime, is there a way in SBT to compile existing classes against Scalatest 1.x, and new ones against Scalatest 2.0?
Or more generally, compile some classes in a project against a different version of a library to other classes? (I'm aware that this might be quite a horrible idea.)
Upvotes: 0
Views: 780
Reputation: 67280
You could create two dependent sub-projects, one for each version of scala-test.
lazy val root = project.in(file("."))
lazy val oldTests = project.in(file("old-tests"))
.dependsOn(root)
.settings(
libraryDependencies += "org.scalatest" %% "scalatest" % "1.9.1" % "test"
)
lazy val newTests = project.in(file("new-tests"))
.dependsOn(root)
.settings(
libraryDependencies += "org.scalatest" %% "scalatest" % "2.2.6" % "test"
)
Upvotes: 3