Commit Graph

121 Commits

Author SHA1 Message Date
Mark Harrah 818382766e add Types.idFun to replace Predef.identity, replace a :== overload
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
2011-04-16 11:24:58 -04:00
Mark Harrah f42c93901b work on tests 2011-04-08 19:17:58 -04:00
Mark Harrah 76ab8f8e53 detect cyclic references after freeze and translate nodes to keys 2011-04-07 22:51:25 -04:00
Mark Harrah 1e7d628dbb lift anonymous Incompletes to the next keyed, empty Incomplete 2011-04-06 20:52:48 -04:00
Mark Harrah 32d1bc9e4e correctly chain Incompletes for flatMap 2011-04-06 20:44:54 -04:00
Mark Harrah 15f490c625 fix input tasks not being keyed & not showing up in failed task list 2011-04-04 19:10:35 -04:00
Mark Harrah 07dbba65d1 memoize aggregation, cleanup 2011-03-23 07:06:51 -04:00
Mark Harrah 0123351a8f initially only display originating task failures only 2011-03-21 20:50:20 -04:00
Mark Harrah 63b1c3441b work on displaying task errors 2011-03-20 22:54:01 -04:00
Mark Harrah 3a0ce0e47d handle duplicates in task dependency declarations 2011-03-01 08:52:17 -05:00
Mark Harrah c1cc482b94 overhaul Streams injection 2011-02-05 21:39:34 -05:00
Mark Harrah 684da642c5 cleanup in TaskExtra 2011-01-28 21:14:12 -05:00
Mark Harrah 21dabc0fab load a single Streams instance per session and store it in BuildStructure 2011-01-21 17:22:18 -05:00
Mark Harrah 087bc569e0 multi-project model based on Settings and ProjectRef 2011-01-18 18:48:32 -05:00
Mark Harrah 6d2bbbe0c1 TaskGroups, Context in tasks, new tasks
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
2010-11-24 14:18:59 -05:00
Mark Harrah 46a6a1af16 'test' task 2010-11-24 14:03:26 -05:00
Mark Harrah fdb4a98d8b Task.doFinally 2010-11-13 20:02:25 -05:00
Mark Harrah a76d75bca6 more flexible scalac logging
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'
2010-10-23 16:34:22 -04:00
Mark Harrah da0444e5a3 task execution engine: fix addition of new tasks
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
2010-09-17 20:16:21 -04:00
Mark Harrah 47e9428144 TaskMap: memoizes task-producing functions 2010-09-17 19:41:20 -04:00
Mark Harrah 62b30c0156 shorten toString for task Info, correct it for Incomplete 2010-09-12 22:41:02 -04:00
Mark Harrah be8b63cb38 fix implied transformation loop
'implied' state was not reset on transformed
 Task, so it was processed again (and again...)
2010-09-08 14:32:28 -04:00
Mark Harrah 1659e05213 more methods for changing Task 'implied' state
implied(flag: Boolean)
local
2010-09-08 14:31:14 -04:00
Mark Harrah cde1f57361 closeQuietly should be quiet 2010-09-08 14:30:27 -04:00
Mark Harrah 0c12c5e2bd merge ProjectContainer into Project, rearrange sub project methods 2010-09-06 00:15:20 -04:00
Mark Harrah 8f1768d6a8 add Logger to Streams 2010-09-04 08:45:34 -04:00
Mark Harrah caa655ae06 add owner name function to context 2010-09-04 08:44:21 -04:00
Mark Harrah 0c59e9d5a6 minor updates for p2 2010-08-30 09:10:25 -04:00
Mark Harrah 62691e6681 cross-configurations 2010-08-27 19:17:03 -04:00
Mark Harrah 368bdd2701 task system cleanup
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
2010-08-21 22:55:42 -04:00
Mark Harrah 51518c8d90 eliminate overloading of #| between type classes
this allows function parameter type to be inferred for binary/text
 and implicit conversions to ProcessBuilder to kick in
2010-08-21 22:45:50 -04:00
Mark Harrah 1fef28d812 a standard task system on top of the 'tasks' module
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
2010-08-14 09:55:49 -04:00
Mark Harrah bf2057f647 Fix issue with view being called multiple times for the same task (view -> viewCache) 2010-08-14 09:45:26 -04:00
Mark Harrah 371a66bc3f rm dead-end standard tasks 2010-08-10 08:45:36 -04:00
Mark Harrah 9c2268e919 task running command 2010-07-19 12:38:42 -04:00
Mark Harrah 37185c0fb6 discovery, persistence, frontend, and various fixes to incremental 2010-07-02 06:57:03 -04:00
Mark Harrah c1b9cdb209 MList -> KList, Relation[T] -> Relation[A,B] 2010-06-24 18:09:07 -04:00
Mark Harrah 0168aae0c6 fix overloading issue in task demo 2010-06-21 21:25:02 -04:00
Mark Harrah 64618fe56a wideConvert lets the serious errors pass through, use it in Execute 2010-06-10 21:25:37 -04:00
Mark Harrah 4572f1b6ca update task tests 2010-06-10 08:19:15 -04:00
Mark Harrah 647a78467e allow homogeneous inputs in addition to heterogeneous inputs (Node) 2010-06-10 08:17:51 -04:00
Mark Harrah d6626e1e11 show Incomplete 2010-06-10 08:16:39 -04:00
Mark Harrah 899920a0a0 conversions 2010-06-10 08:14:50 -04:00
Mark Harrah 5eed8ccbef graph evaluator, rewrite, general updates 2010-06-07 08:53:21 -04:00
Mark Harrah ec19be6152 variance fixes, inference fixes with Result hierarchy 2010-06-01 08:38:56 -04:00
Mark Harrah 75a784d5ec MList covariant, initial Node 2010-05-30 21:14:18 -04:00
Mark Harrah 483e759f41 small change to DebugListener 2010-05-30 17:03:41 -04:00
Mark Harrah 362f2cce4f fix some compile errors in standard tasks 2010-04-01 20:15:59 -04:00
Mark Harrah c0e6e0c088 fix for staged compilation task 2010-02-14 20:25:45 -05:00
Mark Harrah a33223a02c legal cleanup 2010-02-07 23:45:19 -05:00
Mark Harrah 3e3519b3a7 cleanup 2010-01-27 20:39:07 -05:00
Mark Harrah 725beacd9a Ignore 'unknown resolver' errors, work with published version of SBinary, work towards fixing OOME:PermGen issues on reload 2010-01-26 18:41:03 -05:00
Mark Harrah af288bb199 API: base types with applied type parameters
Compile task: fix detection of classpath changes
Aggressive compiler seems to work on scalaz now
2010-01-23 11:52:39 -05:00
Mark Harrah 5f9f3729d1 work on source api parts 2010-01-22 20:17:49 -05:00
Mark Harrah 6f6b795b39 * Basic API serialization
* Fixes to API extraction and equality checking
 * Reworked tracking
 * New compile infrastructure based on API changes
 * Example application for testing
2010-01-05 19:50:43 -05:00
Mark Harrah a301df2ff1 Cleaning up tasks and caching 2009-12-11 18:56:09 -05:00
Mark Harrah f139e5a9c1 Changes to assist with scripted testing of sbt 0.6.x series 2009-12-04 21:31:03 -05:00
Mark Harrah 0f539ec321 Fixing tests, still need to fix launcher test 2009-11-11 18:41:39 -05:00
Mark Harrah 56e96c3f49 New generalized launcher 2009-09-26 02:18:04 -04:00
Mark Harrah 39546077ee Some comments and better organization of compile-related code. 2009-09-05 15:01:04 -04:00
Mark Harrah 8bfb2802fb Filling in logging and making cross-compile work. 2009-09-05 12:19:34 -04:00
Mark Harrah 12c5f5a0d5 Mostly working cross-compile task.
Analyzer plugin is now a proper internal phase to get around bootstrapping issues.
Correctly handle source tags.
2009-09-03 23:40:47 -04:00
Mark Harrah 26da622276 General improvement of tasks/caches/tracking:
- 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.
2009-08-30 21:53:38 -04:00
Mark Harrah 65c4cac90c Added a couple of methods on Iterables for Task 2009-08-30 21:49:50 -04:00
Mark Harrah 81e546fa30 Add toString to TaskFailure exception 2009-08-30 21:45:49 -04:00
Mark Harrah 74adf5d9f6 Moved type parameter for FileInfo(s).Style to abstract type 2009-08-30 13:01:02 -04:00
Mark Harrah 6e414e96c5 Compile task with dependency tracking. Checkpoint: compiles successfully. 2009-08-30 11:10:37 -04:00
Mark Harrah 573994dd4e tuple caches, stamped caches, Path API, another type of change detection, and copying/archiving based on (source,target) tuples 2009-08-29 10:19:00 -04:00
Mark Harrah a70ddd8e32 Tests and fixes for analysis plugin and the task scheduler. 2009-08-18 23:25:34 -04:00
Mark Harrah 56b047035a Change TaskRunner to throw an exception instead of using Either 2009-08-16 20:33:46 -04:00
Mark Harrah 65fc0e0453 Initial xsbt commit 2009-08-16 14:29:08 -04:00