package internal
- Alphabetic
- Public
- All
Type Members
-
sealed abstract
class
AddSettings extends AnyRef
Represents how settings from various sources are automatically merged into a Project's settings.
Represents how settings from various sources are automatically merged into a Project's settings. This only configures per-project settings and not global or per-build settings.
- sealed trait Aggregation extends AnyRef
-
trait
AppenderSupplier extends AnyRef
A functional interface that allows us to preserve binary compatibility for LogManager.defaults with the old log4j variant.
-
class
BootServerSocket extends AutoCloseable
A BootServerSocket is used for remote clients to connect to sbt for io while sbt is still loading the build.
A BootServerSocket is used for remote clients to connect to sbt for io while sbt is still loading the build. There are two scenarios in which this functionality is needed:
1. client a starts an sbt server and then client b tries to connect to the server before the server has loaded. Presently, client b will try to start a new server even though there is one booting. This can cause a java process leak because the second server launched by client b is unable to create a server because there is an existing portfile by the time it starts up.
2. a remote client initiates a reboot command. Reboot causes sbt to shutdown the server which makes the client disconnect. Since sbt does not start the server until the project has successfully loaded, there is no way for the client to see the output of the server. This is particularly problematic if loading fails because the server will be stuck waiting for input that will not be forthcoming.
To address these issues, the BootServerSocket can be used to immediately create a server socket before sbt even starts loading the build. It works by creating a local socket either in project/target/SOCK_NAME or a windows named pipe with name SOCK_NAME where SOCK_NAME is computed as the hash of the project's base directory (for disambiguation in the windows case). If the server can't create a server socket because there is already one running, it either prompts the user if they want to start a new server even if there is already one running if there is a console available or exits with the status code 2 which indicates that there is another sbt process starting up.
Once the server socket is created, it listens for new client connections. When a client connects, the server will forward its input and output to the client via Terminal.setBootStreams which updates the Terminal.proxyOutputStream to forward all bytes written to the BootServerSocket's outputStream which in turn writes the output to each of the connected clients. Input is handed similarly.
When the server finishes loading, it closes the boot server socket.
BootServerSocket is implemented in java so that it can be classloaded as quickly as possible.
- trait BuildDef extends AnyRef
- final class BuildDependencies extends AnyRef
-
final
class
BuildLoader extends AnyRef
Defines the responsible for loading builds.
- final class BuildStructure extends AnyRef
-
final
class
BuildUnit extends AnyRef
The loaded, but unresolved build unit.
- sealed trait BuildUnitBase extends AnyRef
- final class BuildUtil[Proj] extends AnyRef
- class ClassLoaderClose extends AnyRef
-
abstract
class
CommandChannel extends AnyRef
A command channel represents an IO device such as network socket or human that can issue command or listen for some outputs.
A command channel represents an IO device such as network socket or human that can issue command or listen for some outputs. We can think of a command channel to be an abstraction of the terminal window.
- case class ConsolePromptEvent(state: State) extends EventMessage with Product with Serializable
- case class ConsoleUnpromptEvent(lastSource: Option[CommandSource]) extends EventMessage with Product with Serializable
- class DefaultRunProfiler extends RunProfiler
-
case class
DetectedAutoPlugin(name: String, value: AutoPlugin, hasAutoImport: Boolean) extends Product with Serializable
Auto-detected auto plugin.
-
final
class
DetectedModules[T] extends AnyRef
Auto-detected top-level modules (as in
object X
) of typeT
paired with their source names. -
final
class
DetectedPlugins extends AnyRef
Auto-discovered modules for the build definition project.
Auto-discovered modules for the build definition project. These include modules defined in build definition sources as well as modules in binary dependencies.
-
sealed
trait
DslEntry extends AnyRef
This represents a
Setting
expression configured by the sbt DSL. - trait ExtendableKeyIndex extends KeyIndex
- class GCMonitor extends GCMonitorBase with AutoCloseable
- trait GCMonitorBase extends AnyRef
- final case class GlobalPlugin(data: GlobalPluginData, structure: BuildStructure, inject: Seq[Def.Setting[_]], base: File) extends Product with Serializable
- final case class GlobalPluginData(projectID: ModuleID, dependencies: Seq[ModuleID], descriptors: Map[ModuleRevisionId, ModuleDescriptor], resolvers: Vector[Resolver], fullClasspath: Classpath, internalClasspath: Classpath)(updateReport: UpdateReport) extends Product with Serializable
- final class IncompatiblePluginsException extends Exception
- trait KeyIndex extends AnyRef
- final case class LoadBuildConfiguration(stagingDirectory: File, classpath: Classpath, loader: ClassLoader, compilers: Compilers, evalPluginDef: (BuildStructure, State) ⇒ PluginData, delegates: (LoadedBuild) ⇒ (Scope) ⇒ Seq[Scope], scopeLocal: Def.ScopeLocal, pluginManagement: PluginManagement, injectSettings: InjectSettings, globalPlugin: Option[GlobalPlugin], extraBuilds: Seq[URI], log: Logger) extends Product with Serializable
- final class LoadedBuild extends AnyRef
-
final
class
LoadedBuildUnit extends BuildUnitBase
A resolved build unit.
A resolved build unit. (
ResolvedBuildUnit
would be a better name to distinguish it from the loaded, but unresolvedBuildUnit
.) -
final
class
LoadedDefinitions extends AnyRef
The built and loaded build definition, including loaded but unresolved Projects, for a build unit (for a single URI).
-
final
class
LoadedPlugins extends AnyRef
The built and loaded build definition project.
- sealed abstract class LogManager extends AnyRef
-
final
class
MetaBuildLoader extends URLClassLoader
- Annotations
- @SuppressWarnings()
- final class MultiHandler[S, T] extends AnyRef
- final class ParsedKey extends AnyRef
- final class PartBuild extends AnyRef
- final class PartBuildUnit extends BuildUnitBase
- final case class PluginManagement(overrides: Set[ModuleID], applyOverrides: Set[ModuleID], loader: PluginClassLoader, initialLoader: ClassLoader, context: Context) extends Product with Serializable
- final class ProjectNavigation extends AnyRef
- class RelayAppender extends ConsoleAppender
- class ServerAlreadyBootingException extends Exception
-
final
case class
SessionSettings(currentBuild: URI, currentProject: Map[URI, String], original: Seq[Def.Setting[_]], append: SessionMap, rawAppend: Seq[Def.Setting[_]], currentEval: () ⇒ Eval) extends Product with Serializable
Represents (potentially) transient settings added into a build via commands/user.
Represents (potentially) transient settings added into a build via commands/user.
- currentBuild
The current sbt build with which we scope new settings
- currentProject
The current project with which we scope new settings.
- original
The original list of settings for this build.
- append
Settings which have been defined and appended that may ALSO be saved to disk.
- rawAppend
Settings which have been defined and appended which CANNOT be saved to disk
- currentEval
A compiler we can use to compile new setting strings.
- case class SettingGraph(name: String, definedIn: Option[String], data: Option[ScopedKeyData[_]], description: Option[String], basedir: File, depends: Set[SettingGraph]) extends Product with Serializable
- final class StructureIndex extends AnyRef
-
trait
TaskSequential extends AnyRef
This trait injected to
Def
object to providesequential
functions for tasks. -
sealed
trait
VirtualFileValueCache[A] extends AnyRef
Cache based on path and its stamp.
-
class
XMainConfiguration extends AnyRef
Generates a new app configuration and invokes xMainImpl.run.
Generates a new app configuration and invokes xMainImpl.run. For AppConfigurations generated by recent launchers, it is unnecessary to modify the original configuration, but configurations generated by older launchers need to be modified to place the test interface jar higher in the class hierarchy. The methods this object are implemented without using the scala library so that we can avoid loading any classes from the old scala provider.
Value Members
- object AbstractTaskExecuteProgress
- object Act
- object AddSettings
- object Aggregation
- object BuildDependencies
- object BuildLoader
- object BuildStreams
- object BuildUtil
- object CommandStrings
- object ConsoleProject
- object DslEntry
-
object
FileChangesMacro
Provides extension methods to
TaskKey[T]
that can be use to fetch the input and output file dependency changes for a task.Provides extension methods to
TaskKey[T]
that can be use to fetch the input and output file dependency changes for a task. Nothing in this object is intended to be called directly but, because there are macro definitions, some of the definitions must be public. - object GlobalPlugin extends Serializable
- object Graph
- object Index
- object Inspect
- object IvyConsole
- object KeyIndex
- object LintUnused
- object LogManager
- object Output
- object PluginDiscovery
- object PluginManagement extends Serializable
- object ProjectNavigation
- object RemoteCache
- object Resolve
- object RetrieveUnit
- object Script
- object SessionSettings extends Serializable
- object SettingGraph extends Serializable
- object SysProp
- object VirtualFileValueCache