sbt
package sbt
- Alphabetic
- Public
- All
Type Members
-
abstract
class
AutoPlugin
extends Basic with PluginsFunctions
An AutoPlugin defines a group of settings and the conditions where the settings are automatically added to a build (called "activation").
An AutoPlugin defines a group of settings and the conditions where the settings are automatically added to a build (called "activation"). The
requires
andtrigger
methods together define the conditions, and a method likeprojectSettings
defines the settings to add.Steps for plugin authors:
- Determine if the
AutoPlugin
should automatically be activated when all requirements are met, or should be opt-in. - Determine the
AutoPlugin
s that, when present (or absent), act as the requirements for theAutoPlugin
. - Determine the settings/configurations to that the
AutoPlugin
injects when activated. - Determine the keys and other names to be automatically imported to
*.sbt
scripts.
For example, the following will automatically add the settings in
projectSettings
to a project that has both theWeb
andJavascript
plugins enabled.object MyPlugin extends sbt.AutoPlugin { override def requires = Web && Javascript override def trigger = allRequirements override def projectSettings = Seq(...) object autoImport { lazy val obfuscate = taskKey[Seq[File]]("Obfuscates the source.") } }
Steps for users:
- Add dependencies on plugins in
project/plugins.sbt
as usual withaddSbtPlugin
- Add key plugins to projects, which will automatically select the plugin + dependent plugin settings to add for those projects.
- Exclude plugins, if desired.
For example, given plugins Web and Javascript (perhaps provided by plugins added with
addSbtPlugin
),myProject.enablePlugins(Web && Javascript)
will activate
MyPlugin
defined above and have its settings automatically added. If the user instead definesmyProject.enablePlugins(Web && Javascript).disablePlugins(MyPlugin)
then the
MyPlugin
settings (and anything that activates only whenMyPlugin
is activated) will not be added. - Determine if the
-
final
class
AutoPluginException
extends RuntimeException
An error that occurs when auto-plugins aren't configured properly.
An error that occurs when auto-plugins aren't configured properly. It translates the error from the underlying logic system to be targeted at end users.
- abstract class BackgroundJobService extends Closeable
- trait BuildCommon extends AnyRef
- trait BuildExtra extends BuildCommon with DefExtra
- sealed trait ClasspathDep [PR <: ProjectReference] extends AnyRef
- final case class ClasspathDependency (project: ProjectReference, configuration: Option[String]) extends ClasspathDep[ProjectReference] with Product with Serializable
- trait CommandLineUIService extends InteractionService
- final class ConsoleMain extends AppMain
- trait DefExtra extends AnyRef
-
sealed
trait
EvaluateTaskConfig
extends AnyRef
The new API for running tasks.
The new API for running tasks.
This represents all the hooks possible when running the task engine. We expose this trait so that we can, in a binary compatible way, modify what is used inside this configuration and how to construct it.
- final case class Extracted (structure: BuildStructure, session: SessionSettings, currentRef: ProjectRef)(implicit showKey: Show[Def.ScopedKey[_]]) extends Product with Serializable
-
abstract
class
InteractionService
extends AnyRef
InteractionService provides an abstration over standard input.
InteractionService provides an abstration over standard input. In the future this could be used to ask for inputs from other forms of sbt clients such as thin clients and IDEs.
- abstract class JobHandle extends AnyRef
- trait OptionSyntax extends AnyRef
- final case class PluginData (dependencyClasspath: Seq[Attributed[File]], definitionClasspath: Seq[Attributed[File]], resolvers: Option[Vector[Resolver]], report: Option[UpdateReport], scalacOptions: Seq[String]) extends Product with Serializable
-
sealed abstract
class
PluginTrigger
extends Serializable
Type for AutoPlugin's trigger method.
Type for AutoPlugin's trigger method. Determines whether an AutoPlugin will be activated for a project when the
requires
clause is satisfied. -
sealed
trait
Plugins
extends AnyRef
An expression that matches
AutoPlugin
s. - sealed trait PluginsFunctions extends AnyRef
- sealed trait Project extends ProjectDefinition[ProjectReference]
- sealed trait ProjectDefinition [PR <: ProjectReference] extends AnyRef
- trait ProjectExtra extends AnyRef
-
sealed abstract
class
ProjectOrigin
extends Serializable
Indicate whether the project was created organically, synthesized by a plugin, or is a "generic root" project supplied by sbt when a project doesn't exist for
file(".")
. - final case class ResolvedClasspathDependency (project: ProjectRef, configuration: Option[String]) extends ClasspathDep[ProjectRef] with Product with Serializable
- sealed trait ResolvedProject extends ProjectDefinition[ProjectRef]
-
class
RichURI
extends AnyRef
Extends
URI
with additional convenience methods. -
trait
RunningTaskEngine
extends AnyRef
An API that allows you to cancel executing tasks upon some signal.
An API that allows you to cancel executing tasks upon some signal.
For example, this is implemented by the TaskEngine; invoking
cancelAndShutdown()
allows you to cancel the current task execution. - final case class ScopedKeyData [A](scoped: Def.ScopedKey[A], value: Any) extends Product with Serializable
- final class ScriptMain extends AppMain
-
trait
TaskCancellationStrategy
extends AnyRef
A strategy for being able to cancel tasks.
A strategy for being able to cancel tasks.
Implementations of this trait determine what will trigger
cancel()
for the task engine, providing in thestart
method.All methods on this API are expected to be called from the same thread.
-
final
class
xMain
extends AppMain
This class is the entry point for sbt.
Value Members
- object AutoPluginException extends Serializable
- object BackgroundJobService
- object BuildPaths
- object BuiltinCommands
- object Classpaths
- object CommandLineUIService extends InteractionService with CommandLineUIService
- object Cross
- object DefaultOptions
- object Defaults extends BuildCommon
- object EvaluateTask
- object EvaluateTaskConfig
- object Keys
- object MainLoop
- object OptionSyntax extends OptionSyntax
-
object
Opts
Options for well-known tasks.
- object PluginData extends Serializable
- object PluginTrigger extends Serializable
- object Plugins extends PluginsFunctions
- object Project extends ProjectExtra
- object ProjectOrigin extends Serializable
- object Resolvers
- object RichURI
- object ScopeFilter
- object SessionVar
- object StandardMain
- object Tags
- object TaskCancellationStrategy