From 0a5c2edddfb8858b98d73171bf1d88e21fafb0a6 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Fri, 24 Apr 2020 01:18:16 -0400 Subject: [PATCH] Fix strict switch command so +task is fixed --- main/src/main/scala/sbt/Cross.scala | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/main/src/main/scala/sbt/Cross.scala b/main/src/main/scala/sbt/Cross.scala index f87a0da39..21902e4d4 100644 --- a/main/src/main/scala/sbt/Cross.scala +++ b/main/src/main/scala/sbt/Cross.scala @@ -203,7 +203,7 @@ object Cross { case Seq(c) => Seq(s"$SwitchCommand $verbose $v $c") case Seq() => Nil // should be unreachable case multi if fullArgs.isEmpty => - Seq(s"$SwitchCommand $verbose $v! all ${multi.mkString(" ")}") + Seq(s"$SwitchCommand $verbose $v all ${multi.mkString(" ")}") case multi => Seq(s"$SwitchCommand $verbose $v") ++ multi } } @@ -247,15 +247,18 @@ object Cross { if (args.version.force) { // The Scala version was forced on the whole build, run as is args.command - } else { + } else args.command.map { rawCmd => - val (aggs, aggCommand) = parseSlashCommand(Project.extract(state))(rawCmd) - aggs - .intersect(affectedRefs) - .map({ case ProjectRef(_, proj) => s"$proj/$aggCommand" }) - .mkString("all ", " ", "") + // for now, treat `all` command specially + if (rawCmd.startsWith("all ")) rawCmd + else { + val (aggs, aggCommand) = parseSlashCommand(Project.extract(state))(rawCmd) + aggs + .intersect(affectedRefs) + .map({ case ProjectRef(_, proj) => s"$proj/$aggCommand" }) + .mkString("all ", " ", "") + } } - } strictCmd.toList ::: switchedState }