p

sbt

package sbt

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. 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 and trigger methods together define the conditions, and a method like projectSettings defines the settings to add.

    Steps for plugin authors:

    1. Determine if the AutoPlugin should automatically be activated when all requirements are met, or should be opt-in.
    2. Determine the AutoPlugins that, when present (or absent), act as the requirements for the AutoPlugin.
    3. Determine the settings/configurations to that the AutoPlugin injects when activated.
    4. 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 the Web and Javascript 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:

    1. Add dependencies on plugins in project/plugins.sbt as usual with addSbtPlugin
    2. Add key plugins to projects, which will automatically select the plugin + dependent plugin settings to add for those projects.
    3. 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 defines

    myProject.enablePlugins(Web && Javascript).disablePlugins(MyPlugin)

    then the MyPlugin settings (and anything that activates only when MyPlugin is activated) will not be added.

  2. 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.

  3. abstract class BackgroundJobService extends Closeable
  4. trait BuildCommon extends AnyRef
  5. trait BuildExtra extends BuildCommon with DefExtra
  6. sealed trait ClasspathDep [PR <: ProjectReference] extends AnyRef
  7. final case class ClasspathDependency (project: ProjectReference, configuration: Option[String]) extends ClasspathDep[ProjectReference] with Product with Serializable
  8. trait CommandLineUIService extends InteractionService
  9. final class ConsoleMain extends AppMain
  10. trait DefExtra extends AnyRef
  11. 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.

  12. final case class Extracted (structure: BuildStructure, session: SessionSettings, currentRef: ProjectRef)(implicit showKey: Show[Def.ScopedKey[_]]) extends Product with Serializable
  13. 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.

  14. abstract class JobHandle extends AnyRef
  15. trait OptionSyntax extends AnyRef
  16. 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
  17. 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.

  18. sealed trait Plugins extends AnyRef

    An expression that matches AutoPlugins.

  19. sealed trait PluginsFunctions extends AnyRef
  20. sealed trait Project extends ProjectDefinition[ProjectReference]
  21. sealed trait ProjectDefinition [PR <: ProjectReference] extends AnyRef
  22. trait ProjectExtra extends AnyRef
  23. 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(".").

  24. final case class ResolvedClasspathDependency (project: ProjectRef, configuration: Option[String]) extends ClasspathDep[ProjectRef] with Product with Serializable
  25. sealed trait ResolvedProject extends ProjectDefinition[ProjectRef]
  26. class RichURI extends AnyRef

    Extends URI with additional convenience methods.

  27. 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.

  28. final case class ScopedKeyData [A](scoped: Def.ScopedKey[A], value: Any) extends Product with Serializable
  29. final class ScriptMain extends AppMain
  30. 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 the start method.

    All methods on this API are expected to be called from the same thread.

  31. final class xMain extends AppMain

    This class is the entry point for sbt.

Ungrouped