Commit Graph

918 Commits

Author SHA1 Message Date
Mark Harrah ba9c2c0e14 cleanup and fixes 2011-01-24 18:08:43 -05:00
Mark Harrah 5f9c6f7f26 improve commands, proper build/project base resolution
finish alias support
better project printing in 'projects'
completion support for 'help'
resolve URIs in ProjectRef against base URI of defining build in keys and project relations
resolve base directories and record build URI in BuildUnit
preserve relative paths in File to URI conversion for later resolution
2011-01-23 22:34:17 -05:00
Mark Harrah 092c012b0b make explicit the separation between parsing and execution
Parser[() => State] instead of Parser[State]
2011-01-22 15:01:10 -05:00
Mark Harrah d49706b297 redo Command to use Parser
nested commands still need work
2011-01-22 14:01:59 -05:00
Mark Harrah bcc8c37f4d multi-project model based on Settings and ProjectRef 2011-01-18 18:48:32 -05:00
Mark Harrah c24c0b7a23 fully-scoped Settings 2011-01-18 18:48:32 -05:00
Mark Harrah 625ddd703c part I of revised approach to commands/projects
no privileged project member of State
no separation of Command and Apply, so no pre-filtering on State
use entries in State attributes map instead of mixing in traits to project object:
  HistoryPath, Logger, Analysis, Navigate, Watch, TaskedKey
rework Navigation to be standalone instead of mixin
2011-01-18 18:48:32 -05:00
Mark Harrah 783d732868 Remove obsolete comments 2011-01-18 18:43:58 -05:00
Mark Harrah f0ef14289d update completion example with newer combinators 2011-01-18 18:43:17 -05:00
Mark Harrah 5cb2ba2a7d JLine integration for tab completion combinators 2011-01-18 18:07:48 -05:00
Mark Harrah 62958e2f19 fix flatMap in completion 2010-12-14 06:08:20 -05:00
Mark Harrah ddb4381454 fixes and improvements to tab completions combinators 2010-12-13 22:44:25 -05:00
Mark Harrah c436a1d3eb Settings 2010-12-12 21:33:32 -05:00
Mark Harrah 99230f02a2 fixes and additions to completion combinators
filter,map,flatMap
remove incorrect reductions
2010-12-08 22:16:12 -05:00
Mark Harrah 29efa529cd parser combinators with builtin tab completion support
lacks memoization
lacks error messages for normal parsing
2010-12-06 19:48:49 -05:00
Mark Harrah 93fb4f3dca more useful, stackable version of Tracked.changed 2010-12-02 19:53:14 -05:00
Mark Harrah f075adb25b fix FilesInfo style type member, fix PlainFileInfo to track existence 2010-12-02 19:51:56 -05:00
Mark Harrah f1f8c0eb0b Format for types that can be read/written to/from InputStream/OutputStream
use case: java.util.jar.Manifest
2010-12-02 19:45:58 -05:00
Mark Harrah 1cd848cd9b introduce sbt.log.format for explicit formatting control
implements issue #134
if true, formatting enabled
if false, formatting disabled
if unset, formatting configured as before
sbt.log.noformat is no longer recommended, but is supported:
 a. setting it to 'true' explicitly disables formatting
 b. if 'false' or unspecified, autodetection is used
 c. sbt.log.format takes precedence if defined
2010-12-02 19:18:08 -05:00
Mark Harrah 8ed0f36dbe 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 23471ae3cb cleanup 2010-11-24 14:04:32 -05:00
Mark Harrah 53ab627df9 fix cache test 2010-11-09 20:43:58 -05:00
Mark Harrah 9fcd42db32 Type cache in API extraction for smaller cache size and faster I/O
manually implement Modifiers, use byte-size bit field
2010-10-30 17:46:56 -04:00
Mark Harrah d85f438035 make serializable abstract Lazy template 2010-10-30 11:56:40 -04:00
Mark Harrah 4a0461c34f minor updates to utilities 2010-10-30 11:54:43 -04:00
Mark Harrah e30368b314 overhaul caching, mainly InputCache
better underlying model
supports arbitrary length unions and products
(unions actually limited to 256 elements to encode length as byte)
2010-10-26 18:02:27 -04:00
Mark Harrah 6402a766b5 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 7dca038bde improving incremental compilation
support lazy arguments in data type generator
SafeLazy implementation that explicitly clears the reference to the thunk
in API representation, drop synthetic modifier and merge deferred into abstract
handle cyclic structures in API generation, display, comparison, persistence
gzip compile cache file
bump to 2.8.1.RC3, project definition cleanup
fix main method detection to check for the right name
properly view inherited definitions
exclude constructors of ancestors
2010-10-22 21:55:16 -04:00
Mark Harrah 0425532275 fix tests, discovery
updated compile tests for new minimal AnalysisCallback
moved discovery to discovery/ subproject and updated for new approach
fixed discovery to only find public methods when searching for annotated definitions
extracting inherited definitions unimplemented in api/, so some discovery tests fail
moved discovery classes from sbt.inc package to sbt.compile
2010-10-06 08:24:13 -04:00
Mark Harrah 5a71431031 add conversion from xsbti.Logger to sbt.Logger 2010-09-27 18:51:35 -04:00
Mark Harrah d8ed444f56 add another Process constructor 2010-09-27 18:50:17 -04:00
Mark Harrah 3dd98e8723 reorganize Process implicits
split out Process implicits to ProcessExtra trait
give them unique names to avoid shadowing when used
2010-09-21 21:57:15 -04:00
Mark Harrah 1f9c13e721 Rework external dependency tracking and multi-projects
Reduce AnalysisCallback interface:
  remove discovery
  simplify dependency notification methods
Use map of classpath entry to Analysis for locating
  source API for external dependencies
Handle classpath changes by locating class
  on classpath and either locating Analysis/Source
  as above or comparing Stamp.  This requires storing
  the class name of a binary dependency now.
Make this process aware of full classpath, including
  boot classpath
2010-09-17 21:59:43 -04:00
Mark Harrah 0b77a070dd merge Pkg into Private
this better represents the original source
2010-09-17 21:29:29 -04:00
Mark Harrah ccb3a840c6 Attributed, attaches attributes to arbitrary data 2010-09-17 20:46:31 -04:00
Mark Harrah b033bc889d toString for HList and KList 2010-09-12 22:27:11 -04:00
Mark Harrah f884fa9cdd hierarchical in-memory settings 2010-09-08 14:29:00 -04:00
Mark Harrah 58d7de7237 rework ConsoleLogger
can send output to a PrintWriter
control over color, still need custom formatter
replace IvyLogger with normal Logger
2010-09-04 08:24:26 -04:00
Mark Harrah f14e7883ed fix PMap test 2010-09-04 08:12:17 -04:00
Mark Harrah 30e47ace17 reworked tracking
added memoization for Set[File] => Set[File]
2010-09-04 08:11:05 -04:00
Mark Harrah 34df04c378 cleanup 2010-09-04 08:07:51 -04:00
Mark Harrah 12336b79f6 minor updates for p2 2010-08-30 09:10:25 -04:00
Mark Harrah dd8d58a9c0 cross-configurations 2010-08-27 19:17:03 -04:00
Mark Harrah d12adcd7ae fix Logger/Process 2010-08-22 19:07:46 -04:00
Mark Harrah 5b21bae244 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 48d5ec5da4 clean up Process subproject
no longer has any dependencies
small ProcessLogger interface to send buffered out/err to
commented out (but working) implicit conversions from Logger -> ProcessLogger
  for use in an integrating project to get original functionality
2010-08-21 22:49:11 -04:00
Mark Harrah 6d0d3a1e4d remove Rewrite 2010-08-14 09:49:28 -04:00
Mark Harrah 9520c6eae3 KList updates
add conversion from List[M[_]] to KList[M, HList]
required KList to be covariant in its HList parameter
2010-08-14 09:46:49 -04:00
Mark Harrah 3bc345ffe0 type alias A ~>| B for [T]A[T] => Option[B[T]] 2010-08-10 08:40:14 -04:00
Mark Harrah 6cada88fb3 split out read-only RMap from PMap 2010-08-10 08:39:30 -04:00