From 6a79bdb461944fc7c3b3bbf2015eba96ef542794 Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Tue, 28 Jun 2022 07:55:53 +0200 Subject: [PATCH] Show a more useful log message when doing a flexible version switch Suggested by @SethTisue in https://github.com/sbt/sbt/pull/6894#issuecomment-1168042209 Will show multiple lines when different versions are selected for different subprojects. When no subprojects have a matching Scala version you will get a 'Switch failed' exception anyway, so in that case there is no change in behavior. --- main/src/main/scala/sbt/Cross.scala | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/Cross.scala b/main/src/main/scala/sbt/Cross.scala index 86b31ff59..30ca8a3ee 100644 --- a/main/src/main/scala/sbt/Cross.scala +++ b/main/src/main/scala/sbt/Cross.scala @@ -294,7 +294,14 @@ object Cross { if (switch.version.force) { state.log.info(s"Forcing Scala version to $version on all projects.") } else { - state.log.info(s"Setting Scala version to $version on ${included.size} projects.") + included + .groupBy(_._2) + .foreach { + case (selectedVersion, projects) => + state.log.info( + s"Setting Scala version to $selectedVersion on ${projects.size} projects." + ) + } } if (excluded.nonEmpty && !switch.verbose) { state.log.info(s"Excluded ${excluded.size} projects, run ++ $version -v for more details.")