From 1bf6f0d2a0c55a57ac8d3f344ea438a06fa65a6b Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 15 Jul 2018 20:47:59 -0400 Subject: [PATCH] Make ++ fail when it doesn't affect any subprojects Fixes #4267 --- main/src/main/scala/sbt/Cross.scala | 6 ++++++ sbt/src/sbt-test/actions/cross-strict-aggregation/test | 2 ++ 2 files changed, 8 insertions(+) diff --git a/main/src/main/scala/sbt/Cross.scala b/main/src/main/scala/sbt/Cross.scala index 78571d78b..650e213f7 100644 --- a/main/src/main/scala/sbt/Cross.scala +++ b/main/src/main/scala/sbt/Cross.scala @@ -310,6 +310,12 @@ object Cross { case (_, scalaVersions) => scalaVersions.exists(v => CrossVersion.binaryScalaVersion(v) == binaryVersion) } + if (included.isEmpty) { + sys.error( + s"""Switch failed: no subprojects list "$version" (or compatible version) in crossScalaVersions setting. + |If you want to force it regardless, call ++ $version!""".stripMargin + ) + } logSwitchInfo(included, excluded) included } diff --git a/sbt/src/sbt-test/actions/cross-strict-aggregation/test b/sbt/src/sbt-test/actions/cross-strict-aggregation/test index fb3a4d9cb..2e9408232 100644 --- a/sbt/src/sbt-test/actions/cross-strict-aggregation/test +++ b/sbt/src/sbt-test/actions/cross-strict-aggregation/test @@ -1,3 +1,5 @@ +-> ++2.12.0-magic + > ++2.11.11 compile $ exists core/target/scala-2.11