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
add syncTask task constructor and copy-resources/copy-test-resources instances
add console-quick, test-console, console, test-run
add IntegrationTest trait
make Context available through 'context' task
update 'last' and 'show' to use Context to retrieve task by name
drop SingleProject (superseded by Project)
add TaskGroup to be able to inject groups of named tasks
fix watchPaths missing flat sources
proper logging in a few more places, such as compile
the custom scalac Reporter now delegates to an instance of
an sbt interface called xsbti.Reporter
handling compilation logging is now mainly done on the sbt-side of the
compiler interface
the xsbti.Reporter interface provides access to richer information
about errors and warnings, including source file, line, and offset
xsbti.Reporter can be implemented by users to get access to
detailed information without needing to parse the logging output
the CompileFailed exception that is thrown when compilation fails now
includes an array of the problems, providing detailed
error and warning information that can, for example, be consumed
by doing a mapFailure on 'compile' and using 'Compile.allProblems'
dependencies of a task being added were filtered
to remove already added ones all at once
however, as each new dependency is added, the
'new' state of tasks could change
this fix checks and adds dependencies one at a time
KList.map -> transform
can now drop trailing 'H' from multi-Task 'mapH'
compressed Action hierarchy by merging (Flat)Map{ped,All,Failure} into (Flat)Mapped
moved most information in Info into attributes: AttributeMap to allow future changes
map, flatMap on single/parallel tasks
dependsOn for side-effect-only dependencies
variants to handle failure- operations similar to catch/finally
fork, join, reduce, ...
initial structure to handle tags, needs to be moved to generic map
per-task streams:
file-backed, named input/output streams and readers
keyed by task name
grab streams of current task or another task's streams
pipe between tasks, ProcessBuilders (partially unify tasks/processes)
access to command line, current State from any task
multi-project aggregation controllable per-task
open issue: overloading #| with multiple type classes does not work
* Fixes to API extraction and equality checking
* Reworked tracking
* New compile infrastructure based on API changes
* Example application for testing
- Specify behavior of ChangeReport and give it a toString implementation.
- Cache initialization.
- Specify cleaning behavior on TaskDefinition and Tracked instances.
- Sync task implementation handles output changes.