From 5d42dd65c837cfc9f2103bf6523cf4135c6d01b6 Mon Sep 17 00:00:00 2001 From: Aleksandra Zdrojowa Date: Mon, 17 Nov 2025 10:16:22 +0100 Subject: [PATCH] filter out `bspReload` to avoid triggering an additional reload if bspReload is in the remaining commands #8371 --- .../main/scala/sbt/internal/server/BuildServerProtocol.scala | 2 +- main/src/main/scala/sbt/nio/CheckBuildSources.scala | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/main/src/main/scala/sbt/internal/server/BuildServerProtocol.scala b/main/src/main/scala/sbt/internal/server/BuildServerProtocol.scala index 3aaec67a6..68d385f9f 100644 --- a/main/src/main/scala/sbt/internal/server/BuildServerProtocol.scala +++ b/main/src/main/scala/sbt/internal/server/BuildServerProtocol.scala @@ -62,7 +62,7 @@ object BuildServerProtocol { jvmTestEnvironmentProvider = true, ) - private val bspReload = "bspReload" + val bspReload = "bspReload" private val targetIdentifierParser: Parser[Seq[BuildTargetIdentifier]] = Def diff --git a/main/src/main/scala/sbt/nio/CheckBuildSources.scala b/main/src/main/scala/sbt/nio/CheckBuildSources.scala index 90d753c24..92930f085 100644 --- a/main/src/main/scala/sbt/nio/CheckBuildSources.scala +++ b/main/src/main/scala/sbt/nio/CheckBuildSources.scala @@ -17,6 +17,7 @@ import sbt.ProjectExtra.extract import sbt.Scope.Global import sbt.internal.CommandStrings.LoadProject import sbt.internal.SysProp +import sbt.internal.server.BuildServerProtocol import sbt.internal.util.{ AttributeKey, Terminal } import sbt.io.syntax.* import sbt.nio.FileChanges @@ -93,7 +94,7 @@ private[sbt] class CheckBuildSources extends AutoCloseable { val commands = allCmds.flatMap(_.split(";").flatMap(_.trim.split(" ").headOption).filterNot(_.isEmpty)) val filter = (c: String) => - c == LoadProject || c == RebootCommand || c == TerminateAction || c == Shutdown || + c == LoadProject || c == BuildServerProtocol.bspReload || c == RebootCommand || c == TerminateAction || c == Shutdown || c.startsWith("sbtReboot") val resetState = commands.exists(filter) if (resetState) {