From 111fe3826e224c506fb6a13ab75308f2ce022ca0 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Thu, 23 Apr 2020 22:59:55 -0400 Subject: [PATCH] Add test for cross + task Ref https://github.com/sbt/sbt/issues/5497 --- sbt/src/sbt-test/actions/cross-advanced/build.sbt | 10 ++++++++++ sbt/src/sbt-test/actions/cross-advanced/test | 3 +++ 2 files changed, 13 insertions(+) diff --git a/sbt/src/sbt-test/actions/cross-advanced/build.sbt b/sbt/src/sbt-test/actions/cross-advanced/build.sbt index e4f5f82d8..20660f67e 100644 --- a/sbt/src/sbt-test/actions/cross-advanced/build.sbt +++ b/sbt/src/sbt-test/actions/cross-advanced/build.sbt @@ -1,3 +1,4 @@ +lazy val check = taskKey[Unit]("") lazy val compile2 = taskKey[Unit]("") lazy val root = (project in file(".")) @@ -11,6 +12,13 @@ lazy val foo = project .settings( crossScalaVersions := Seq("2.12.11", "2.13.1"), libraryDependencies += "org.scalatest" %% "scalatest" % "3.1.0", + + check := { + // This tests that +check will respect bar's crossScalaVersions and not switch + val x = (LocalProject("bar") / scalaVersion).value + assert(x == "2.12.11", s"$x == 2.12.11") + (Compile / compile).value + }, compile2 := { // This tests that +build will ignore bar's crossScalaVersions and use root's like sbt 0.13 val x = (LocalProject("bar") / scalaVersion).value @@ -22,11 +30,13 @@ lazy val foo = project lazy val bar = project .settings( crossScalaVersions := Seq("2.12.11"), + check := (Compile / compile).value, compile2 := (Compile / compile).value, ) lazy val client = project .settings( crossScalaVersions := Seq("2.12.11", "2.13.1"), + check := (Compile / compile).value, compile2 := (Compile / compile).value, ) diff --git a/sbt/src/sbt-test/actions/cross-advanced/test b/sbt/src/sbt-test/actions/cross-advanced/test index 8da8135ff..bf896f40c 100644 --- a/sbt/src/sbt-test/actions/cross-advanced/test +++ b/sbt/src/sbt-test/actions/cross-advanced/test @@ -4,6 +4,9 @@ > + foo / testOnly foo.FooSpec > + testOnly foo.FooSpec +## test + with task in multi-project with different Scala versions +> + check + ## test + with command or alias > clean ## for command cross building you do need crossScalaVerions on root