Dependency Management

A Resolver can resolve and retrieve
dependencies. Many types of Resolvers can publish dependencies as
well. A repository is a closely linked idea that typically refers to
the actual location of the dependencies. However, sbt is not very
consistent with this terminology and repository and resolver are
occasionally used interchangeably.

Initialize describes how to
initialize a setting using other settings, but isn’t bound to a
particular setting yet. Combined with an initialization method and a
setting to initialize, it produces a full
Setting.

Methods

Settings and Tasks

:=, +=, ++= These construct a
Setting, which is the fundamental
type in the settings system.

value This uses the value of another setting or task in the
definition of a new setting or task. This method is special (it is a
macro) and cannot be used except in the argument of one of the
setting definition methods above (:=, …) or in the standalone
construction methods Def.setting and Def.task. See
Task-Graph for
details.

in specifies the Scope or part of the
Scope of a setting being referenced. See
scopes.

File and IO

/ When called on a single File, this is new File(x,y). For
Seq[File], this is applied for each member of the sequence..

* and ** are methods for selecting children (*) or descendants
(**) of a File or Seq[File] that match a filter.

|, ||, &&, &, -, and -- are methods for combining
filters, which are often used for selecting Files. See
NameFilter and
FileFilter. Note that methods with
these names also exist for other types, such as collections (like
Seq) and Parser (see
Parsing Input).

pair Used to construct mappings from a File to another File or
to a String. See Mapping Files.

get forces a PathFinder (a
call-by-name data structure) to a strict Seq[File] representation.
This is a common name in Scala, used by types like Option.

hide Marks a Configuration as
internal and not to be included in the published metadata.

Parsing

These methods are used to build up
Parsers from smaller
Parsers. They closely follow the
names of the standard library’s parser combinators. See
Parsing Input for the full documentation. These are
used for
Input Tasks and
Commands.

~, ~>, <~ Sequencing methods.

??, ? Methods for making a Parser optional. ? is postfix.

id Used for turning a Char or String literal into a Parser. It is
generally used to trigger an implicit conversion to a Parser.

|, || Choice methods. These are common method names in Scala.

^^^ Produces a constant value when a Parser matches.

+, * Postfix repetition methods. These are common method names
in Scala.

map, flatMap Transforms the result of a Parser. These are common
method names in Scala.

filter Restricts the inputs that a Parser matches on. This is a
common method name in Scala.

- Prefix negation. Only matches the input when the original parser
doesn’t match the input.

examples, token Tab completion

!!! Provides an error message to use when the original parser
doesn’t match the input.