From 7a39841ecc1aed689ee58936787d7ba2f2e44454 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Thu, 23 Apr 2020 22:40:58 -0400 Subject: [PATCH] Add test for command crossing using ! --- .../sbt-test/actions/cross-advanced/build.sbt | 32 +++++++++++++++++++ .../foo/src/test/scala/foo/FooSpec.scala | 0 sbt/src/sbt-test/actions/cross-advanced/test | 17 ++++++++++ .../actions/cross-test-only/build.sbt | 16 ---------- sbt/src/sbt-test/actions/cross-test-only/test | 5 --- 5 files changed, 49 insertions(+), 21 deletions(-) create mode 100644 sbt/src/sbt-test/actions/cross-advanced/build.sbt rename sbt/src/sbt-test/actions/{cross-test-only => cross-advanced}/foo/src/test/scala/foo/FooSpec.scala (100%) create mode 100644 sbt/src/sbt-test/actions/cross-advanced/test delete mode 100644 sbt/src/sbt-test/actions/cross-test-only/build.sbt delete mode 100644 sbt/src/sbt-test/actions/cross-test-only/test diff --git a/sbt/src/sbt-test/actions/cross-advanced/build.sbt b/sbt/src/sbt-test/actions/cross-advanced/build.sbt new file mode 100644 index 000000000..e4f5f82d8 --- /dev/null +++ b/sbt/src/sbt-test/actions/cross-advanced/build.sbt @@ -0,0 +1,32 @@ +lazy val compile2 = taskKey[Unit]("") + +lazy val root = (project in file(".")) + .aggregate(foo, bar, client) + .settings( + crossScalaVersions := Nil, + addCommandAlias("build", "compile2"), + ) + +lazy val foo = project + .settings( + crossScalaVersions := Seq("2.12.11", "2.13.1"), + libraryDependencies += "org.scalatest" %% "scalatest" % "3.1.0", + compile2 := { + // This tests that +build will ignore bar's crossScalaVersions and use root's like sbt 0.13 + val x = (LocalProject("bar") / scalaVersion).value + assert(x == scalaVersion.value, s"$x == ${scalaVersion.value}") + (Compile / compile).value + }, + ) + +lazy val bar = project + .settings( + crossScalaVersions := Seq("2.12.11"), + compile2 := (Compile / compile).value, + ) + +lazy val client = project + .settings( + crossScalaVersions := Seq("2.12.11", "2.13.1"), + compile2 := (Compile / compile).value, + ) diff --git a/sbt/src/sbt-test/actions/cross-test-only/foo/src/test/scala/foo/FooSpec.scala b/sbt/src/sbt-test/actions/cross-advanced/foo/src/test/scala/foo/FooSpec.scala similarity index 100% rename from sbt/src/sbt-test/actions/cross-test-only/foo/src/test/scala/foo/FooSpec.scala rename to sbt/src/sbt-test/actions/cross-advanced/foo/src/test/scala/foo/FooSpec.scala diff --git a/sbt/src/sbt-test/actions/cross-advanced/test b/sbt/src/sbt-test/actions/cross-advanced/test new file mode 100644 index 000000000..8da8135ff --- /dev/null +++ b/sbt/src/sbt-test/actions/cross-advanced/test @@ -0,0 +1,17 @@ +> + clean + +## test input task +> + foo / testOnly foo.FooSpec +> + testOnly foo.FooSpec + +## test + with command or alias +> clean +## for command cross building you do need crossScalaVerions on root +> set root/crossScalaVersions := Seq("2.12.11", "2.13.1") +> + build +$ exists foo/target/scala-2.12 +$ exists foo/target/scala-2.13 +$ exists bar/target/scala-2.12 +$ exists bar/target/scala-2.13 +$ exists client/target/scala-2.12 +$ exists client/target/scala-2.13 diff --git a/sbt/src/sbt-test/actions/cross-test-only/build.sbt b/sbt/src/sbt-test/actions/cross-test-only/build.sbt deleted file mode 100644 index c6f6e6e89..000000000 --- a/sbt/src/sbt-test/actions/cross-test-only/build.sbt +++ /dev/null @@ -1,16 +0,0 @@ -lazy val root = (project in file(".")) - .aggregate(foo, client) - .settings( - crossScalaVersions := Nil - ) - -lazy val foo = project - .settings( - crossScalaVersions := Seq("2.12.11", "2.13.1"), - libraryDependencies += "org.scalatest" %% "scalatest" % "3.1.0", - ) - -lazy val client = project - .settings( - crossScalaVersions := Seq("2.12.11", "2.13.1"), - ) diff --git a/sbt/src/sbt-test/actions/cross-test-only/test b/sbt/src/sbt-test/actions/cross-test-only/test deleted file mode 100644 index fa3b4e0a4..000000000 --- a/sbt/src/sbt-test/actions/cross-test-only/test +++ /dev/null @@ -1,5 +0,0 @@ -> + clean - -> + foo / testOnly foo.FooSpec - -> + testOnly foo.FooSpec