fix: prevent server boot when --no-server is used (#8444)

* fix: prevent server boot when --no-server is used
* refactor: move serverAutoStart to sysprops
* refact: scalafmt
This commit is contained in:
aka James4u 2026-01-07 12:11:04 -08:00 committed by GitHub
parent 948f12cf54
commit a4ad73ddf6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 5 deletions

View File

@ -78,11 +78,13 @@ private[sbt] object xMain:
val isNew: String => Boolean = cmd => (cmd == "new") || (cmd == "init")
lazy val isServer = !userCommands.exists(c => isBsp(c) || isClient(c))
// keep this lazy to prevent project directory created prematurely
lazy val bootServerSocket = if (isServer) getSocketOrExit(configuration) match {
case (_, Some(e)) => boundary.break(e)
case (s, _) => s
}
else None
// Only create boot server socket if server mode is enabled and server autostart is enabled
lazy val bootServerSocket =
if (isServer && SysProp.serverAutoStart) getSocketOrExit(configuration) match {
case (_, Some(e)) => boundary.break(e)
case (s, _) => s
}
else None
lazy val detachStdio = userCommands.exists(_ == BasicCommandStrings.DashDashDetachStdio)
def withStreams[A](f: => A): A =
try {

View File

@ -100,6 +100,7 @@ object SysProp {
def legacyTestReport: Boolean = getOrFalse("sbt.testing.legacyreport")
def semanticdb: Boolean = getOrFalse("sbt.semanticdb")
def forceServerStart: Boolean = getOrFalse("sbt.server.forcestart")
def serverAutoStart: Boolean = getOrTrue("sbt.server.autostart")
def remoteCache: Option[URI] = sys.props
.get("sbt.remote_cache")
.map(URI(_))