* Allow tasks to provide State transformations that are applied after all tasks complete.
* Provide convenience methods for preserving state across invocations.
* Option of session or persisted state.
Moves many methods previously provided by implicit conversions directly onto the classes
for better discoverability, especially with scaladoc.
1. Initialize now allowed in more places. Minor renamings in Initialize to avoid conflicts
a. map -> apply
b. get -> evaluate
2. Identity on Scoped* is deprecated- it is now redundant
3. Can now use += and <+= for String, Int, Long, Double settings.
There may be some problematic corner cases in inference, especially with +=, ++, <+=, <++=
4. Some classes with a scoped: ScopedKey[T] method now have scopedKey: ScopedKey[T] instead.
5. The implicit conversion to ScopedKey[T] is now deprecated. Use the scopedKey method.
6. :== and ::= are now private[sbt] to better reflect that they were internal use only.
idFun[T]: T => T instead of identity[T](t: T): T
doesn't require a new class file when used as a function value
replaced overloads of :== that assigned the Scoped reference on
the right to the Scoped on the left with <<= scoped.identity
build and publish main sources and docs by default
control built-in artifacts with 'publish-artifact'
// disable publishing docs
publishArtifact in (Compile,packageDoc) := false
// enable publishing test jar, docs, and sources
publishArtifact in Test := true
- drop fillThis: handle in injectStreams instead
- simplify InputParser construction (at the expense of implementation simplicity)
- split out ScopeKey/initialization parts of Setting with separate Initialize trait
+ makes Apply obsolete
+ makes the Initialize trait properly composable
+ this allowed splitting the InputParser definition into
an Initialize for parsing and one for the action
- implement test-only
- inject resolved scope
- make all constructing methods end in = for lowest precedence
- rename Scope constructing method 'apply' to 'in' to allow 'apply' to
be used on single settings as well as tuples and 'in' reads better