MillMain0

mill.daemon.MillMain0
object MillMain0

Attributes

Source
MillMain0.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
MillMain0.type

Members list

Value members

Concrete methods

def adjustJvmProperties(userSpecifiedProperties: Map[String, String], initialSystemProperties: Map[String, String]): Unit

Best-effort reset of System.getProperties to the daemon's initial properties plus the launcher's user-specified -D overrides.

Best-effort reset of System.getProperties to the daemon's initial properties plus the launcher's user-specified -D overrides.

Concurrency caveat: System.getProperties is process-global, so this method is inherently racy when multiple launchers run in the same daemon. Launcher A's call here can clobber launcher B's -D overrides mid-run, and any task code that mutates sys.props from one launcher will be visible to the others. There is no fix at this layer — the JVM has no per-thread/per-evaluation system-property scope. Build authors who need isolated configuration should pass values through task inputs/env vars rather than via -D system properties.

Attributes

Source
MillMain0.scala
def checkMillVersionFromFile(projectDir: Path, stderr: PrintStream): Unit

Attributes

Source
MillMain0.scala
def getBspLogger(streams: SystemStreams, config: MillCliConfig, chromeProfilePath: Path, consoleLogPathOpt: Option[Path] = ...): Logger & AutoCloseable

Attributes

Source
MillMain0.scala
def getLogger(streams: SystemStreams, config: MillCliConfig, enableTicker: Boolean, colored: Boolean, colors: Colors, runArtifacts: LauncherOutFiles, serverToClientOpt: Option[MillRpcChannel[ServerToClient]]): Logger & AutoCloseable

Attributes

Source
MillMain0.scala
def handleMillException(err: PrintStream): PartialFunction[Throwable, Boolean]

Attributes

Source
MillMain0.scala
def main0(args: Array[String], sharedState: AtomicReference[RunnerSharedState], lockRegistry: LauncherLockRegistry, outFilesState: LauncherOutFilesState, mainInteractive: Boolean, streams0: SystemStreams, env: Map[String, String], launcherPid: Long, setIdle: Boolean => Unit, setRunningCommand: Option[String] => Unit, userSpecifiedProperties0: Map[String, String], initialSystemProperties: Map[String, String], systemExit: StopServer, daemonDir: Path, sharedOutLockManager: SharedOutLockManager, launcherSubprocessRunner: Runner, serverToClientOpt: Option[MillRpcChannel[ServerToClient]], millRepositories: Seq[String]): Boolean

Attributes

Source
MillMain0.scala
def outFileLock(out: Path): Lock

Process-level lock used to coordinate access to the output folder between concurrent Mill processes.

Process-level lock used to coordinate access to the output folder between concurrent Mill processes.

Attributes

Source
MillMain0.scala
def parseThreadCount(threadCountRaw: Option[String], availableCores: Int): Result[Int]

Attributes

Source
MillMain0.scala
def readBestMillVersion(projectDir: Path): Option[(Path, String)]

Attributes

Source
MillMain0.scala
def readUsingMillVersionFile(file: Path): Option[String]

Attributes

Source
MillMain0.scala
def readVersionFile(file: Path): Option[String]

Determine, whether we need a build.mill or not.

Determine, whether we need a build.mill or not.

Attributes

Source
MillMain0.scala
def startBspServer(bspStreams: SystemStreams, bspLogger: Logger, bspWatch: Boolean, bootstrapBridge: BspBootstrapBridge, env: Map[String, String]): BspServerHandle

Starts the BSP server

Starts the BSP server

Value parameters

bspStreams

Streams to use for BSP JSONRPC communication with the BSP client

Attributes

Source
MillMain0.scala