Commit Graph

366 Commits

Author SHA1 Message Date
Mark Harrah 19315265c1 taking care of deprecations removed in Scala master 2012-11-14 11:48:06 -05:00
Benjy 0e472a99f9 Analysis.groupBy implementation. 2012-11-10 19:01:41 -05:00
Mark Harrah 1f88fe9d7c Parser.failOnException method, don't let rhs of alias fail the parse. Fixes #572.
alias only parses the right hand side for tab completion help.
The assignment should happen whether or not the parse is successful because the
context may change by the time the alias is actually evaluated.
In particular, the 'set' command uses the loaded project for tab completion in 0.12.1.
When a .sbtrc file is processed, the project has not been loaded yet, so aliases
involving set fail.  Wrapping the rhs in failOnException addresses this.
2012-10-15 12:42:27 -04:00
Jason Zaugg efa362c583 Fix #552 Compensate for JLine's absent EOF detection.
In the unsupported terminal mode, JLine treats a broken
stdin as an endless stream of empty lines. This is problematic
for idea-sbt-plugin: if the IntelliJ process is forcibly killed
and leaves the child SBT process running, it consumes considerable
CPU processing these.

Patching JLine itself would be the cleanest solution (the change
has already been applied to JLine 2), but I've shied away from that
and instead wrapped the InputStream that is read by JLine to
intercept the result of -1 from read(). When this happens, the
flat `inputEof` is set to true.
2012-09-23 15:58:15 -04:00
Mark Harrah c8ffd6a54d better error message for null setting values 2012-09-18 13:22:40 -04:00
Mark Harrah d17de8e83a back all ConsoleLoggers by a common ConsoleOut
The common ConsoleOut merges (overwrites) consecutive Resolving xxxx ... lines
when ansi codes are enabled.
2012-09-01 09:56:09 -04:00
Eugene Vigdorchik b65a7078f1 Fix compilation error for 2.10.0-M5 for all but main project. 2012-07-17 15:20:37 -04:00
Mark Harrah e5ffceaef8 clean up token completions and make providing a general completion function easier 2012-07-13 14:33:27 -04:00
Mark Harrah fa97cc0d22 basic code for cleaning up Manifest.toString 2012-07-13 14:33:27 -04:00
Mark Harrah 73166e2e57 clean up Completions and allow arbitrary 'display' for Token 2012-07-13 14:33:27 -04:00
Mark Harrah af85595da0 JLine completion integration now considers a suggestion with a newline to be preformatted 2012-07-13 14:33:27 -04:00
Mark Harrah 9fea4d1703 methods for working with Scala identifiers 2012-07-13 14:33:27 -04:00
Mark Harrah a509c47207 print completions containing a newline first and on separate lines 2012-07-13 14:33:27 -04:00
Eugene Vigdorchik 35cfba21c0 Break compiler dependency from 'collection' project. 2012-07-13 14:33:26 -04:00
Mark Harrah e9ed0feb87 repeatDep parser combinator 2012-07-06 10:28:51 -04:00
Mark Harrah 2196cbedaf remove most occurrences of ScalaObject 2012-07-01 15:16:41 -04:00
Mark Harrah fbb09b1433 fix task tests 2012-07-01 15:16:41 -04:00
Mark Harrah 4e574d0df3 better handling of multi-loggers with mixed escape sequence support
* multi-logger supports ansi escapes if at least one logger support them
 * escape sequences removed from strings for loggers without escape support
2012-07-01 15:16:41 -04:00
Mark Harrah 935eed087f another fix related to #460 2012-05-23 20:13:52 -04:00
Mark Harrah fbee96939d print message and stack trace when exception occurs in completion 2012-05-21 22:23:44 -04:00
Mark Harrah 1f9433f175 Second try at printing message when stack trace suppressed.
Problems:

  1. Without a message, users don't find 'last'
  2. Showing a message for every error clutters output.

This tries to address these issues by:

1. Only showing the message when other feedback has not been provided and
   'last' would not usually be helpful.  This will require ongoing tweaking.
   For now, all commands except 'compile' display the message.  'update' could
   omit the message as well, but perhaps knowing about 'last' might be
   useful there.

2. Including the exact command to show the output:
    last test:compile
   and not just
    last <task>

3. Highlighting the command in blue for visibility as an experiment.

Review by @ijuma and @retronym, please.
2012-05-19 18:20:19 -04:00
Mark Harrah eec347e2dd ensure enableEcho called after jline.Terminal.getTerminal. fixes #460 2012-05-19 18:20:19 -04:00
Eugene Vigdorchik e5bedb3e14 Refactor according to the comments. 2012-05-17 07:24:24 -04:00
Eugene Vigdorchik 29e5143ded Additional method in ProcessIO to process inheriting input. 2012-05-17 07:24:24 -04:00
Eugene Vigdorchik f3253e496d Use java 7 Redirect.INHERIT to inherit subprocess' input stream. 2012-05-17 07:24:24 -04:00
Mark Harrah 05fb991488 move to revised warning interface in the compiler 2012-05-06 14:15:03 -04:00
Mark Harrah 740094c4d2 enhance 'projects' to allow temporarily adding/removing builds to the session 2012-04-06 20:28:31 -04:00
Mark Harrah ec8f9884e0 fix sample method interpretation of completions argument 2012-03-25 20:36:05 -04:00
Mark Harrah 94b4a3784a rank settings, tasks and use this to restrict help/settings/tasks output. fixes #315 2012-03-25 20:35:09 -04:00
Mark Harrah c7c4969eb7 Revert "work around for 2.10. pattern matching on KNil now requires KNil()"
This reverts commit 2f726b34c3.

This commit caused "java.lang.Error: typeConstructor inapplicable for <none>" when running 'sxr'
2012-03-17 22:58:13 -04:00
Mark Harrah 474cd75d06 print-warnings task for Scala 2.10+ to avoid needing to rerun 'compile' to see deprecation/unchecked warnings 2012-03-17 19:31:55 -04:00
Mark Harrah 8fc5db4a8a work around for 2.10. pattern matching on KNil now requires KNil() 2012-03-17 19:31:03 -04:00
Mark Harrah 0e130d29e9 fix argument parsing, which unintentionally required two characters. ref #396 2012-03-13 08:01:58 -04:00
Indrajit Raychaudhuri 51db55d847 Replace `Pair.apply` with `Util.pairID`, avoids extra class generation 2012-03-12 05:25:12 +05:30
e.e d3si9n 9239e2fd46 fixes NotQuoted 2012-03-11 15:02:50 -04:00
e.e d3si9n feb315b878 StringVerbatim is now stateless 2012-03-11 13:19:13 -04:00
e.e d3si9n e6e778a1a3 removed Octal 2012-03-11 13:12:23 -04:00
e.e d3si9n 8a7a3228e8 implemented parser for escaped string and verbatim string 2012-03-11 07:31:39 -04:00
Mark Harrah 48170f649a convenience functions for testing parsers 2012-03-10 14:16:40 -05:00
Mark Harrah d6bc087271 handle absence of CONT signal 2012-03-09 13:38:45 -05:00
Mark Harrah 1848d14815 handle CONT signal to reset JLine after resuming from stop. fixes #394 2012-03-09 07:08:38 -05:00
Mark Harrah 26be0c0be4 move error processing to complete/ 2012-03-09 07:08:38 -05:00
Mark Harrah 5893aa0e55 cleanup SourcePosition hierarchy 2012-02-25 12:01:07 -05:00
Mark Harrah 4b43a154cb cleanup, fix compilation 2012-02-19 22:41:26 -05:00
Daniel C. Sobral be6cd00b81 Fix file descriptor leak.
Close an InputStream when finished reading it. When given an
OutputStream to connect to a process input, close it when the
transfer is completed. Protect System.in in this latter case.
2012-02-19 16:30:30 -05:00
Daniel C. Sobral 0f3c75a2ea Revert "explicitly close streams"
Revert "explicitly close streams on java.lang.Process to avoid descriptor leaks"

This reverts commit 3191eedf9e.
2012-02-19 16:30:30 -05:00
Eugene Vigdorchik 786fe5f4ce Remember the range for settings read from .sbt files 2012-02-16 16:58:51 +04:00
Mark Harrah 6e90399a30 Merge pull request #342 from vigdorchik/wip_sourcepos_eugenevigdorchik
Wip sourcepos eugenevigdorchik
2012-01-30 14:34:03 -08:00
Eugene Vigdorchik e2c1ef32fa More cleanup. 2012-01-30 19:06:26 +04:00
Eugene Vigdorchik 5f0774fe9a Change SourcePosition definition + minor cleanup. 2012-01-30 19:06:24 +04:00
Eugene Vigdorchik c6cba20682 Add SourcePosition to setting. 2012-01-30 19:06:18 +04:00
Mark Harrah 4945534614 split command core to main/command/ 2012-01-29 14:36:27 -05:00
Mark Harrah f11a053cc9 Merge branch 'parsing_changes' into 0.12 2012-01-15 13:09:41 -05:00
Mark Harrah c3c7c92053 work around unclosed jline history-related streams 2012-01-14 21:09:11 -05:00
Mark Harrah e23abdfce3 explicitly close streams on java.lang.Process to avoid descriptor leaks 2012-01-14 21:09:11 -05:00
Mark Harrah 74eaee5a5e new aggregation approach, still need exclusion mechanism 2012-01-09 08:01:24 -05:00
Mark Harrah 392ec5150a moved task axis before the key 2012-01-09 08:00:29 -05:00
Mark Harrah a9ccd74eb8 fix 'not' parser combinator, add EOF 2011-12-13 17:29:08 -05:00
Mark Harrah 0ff6b65376 treat case differences differently 2011-12-13 17:15:05 -05:00
Mark Harrah 9e708b17e2 fixes #280. sort aggregate and classpath dependencies separately to keep cycle detection for them separate 2011-11-27 17:48:01 -05:00
Mark Harrah b94c6e8949 in cyclic error message, put each node string on different line 2011-11-05 08:53:42 -04:00
Mark Harrah 1578dcc46f missing import 2011-11-04 13:44:09 -04:00
Mark Harrah 30bdcf68d4 preserve IOException type when translating exceptions. fixes #253 2011-11-04 13:40:59 -04:00
Mark Harrah 8beb823a9b cleanup, add regex for escape sequences to be used later 2011-10-30 18:39:18 -04:00
Mark Harrah 64bf50cd08 task execution interruptible using ctrl+c. fixes #228,#229
- interrupts task execution only
- no further tasks scheduled
- existing tasks interrupted
- a task must terminate any other started threads when interrupted
- set cancelable to true to enable
- currently, 'run' properly terminates if the application properly
   terminates when interrupted
- 'console' does not, 'test' depends on the test framework

- also bundled: set connectInput to true to connect standard input to forked run
2011-10-18 22:43:25 -04:00
Mark Harrah 5898cba4a8 brief API documentation on some core settings types 2011-10-16 20:20:45 -04:00
softprops 591f90ce71 add support for a masked readline 2011-10-13 20:42:39 -04:00
Mark Harrah f18c44d00d fix stackoverflow caused by using List.separate, as tracked down by pvlugter 2011-10-09 21:48:15 -04:00
Mark Harrah ba4c6de918 generalize addArtifact arguments to Initialize[...]. fixes #207 2011-10-01 14:40:14 -04:00
Mark Harrah 5874d45525 local settings, sbt-package-private for now 2011-10-01 14:40:14 -04:00
Mark Harrah f8e3084e8f fix parser test 2011-10-01 14:40:14 -04:00
Mark Harrah 3d4ad0b076 fix laziness of parser failure messages 2011-09-26 08:20:07 -04:00
Mark Harrah 7d85f3c047 fix order of returned lists in Util.separate 2011-09-26 08:20:07 -04:00
Mark Harrah 9756e99e16 provide consecutive tab press count for completion combinators 2011-09-20 20:51:47 -04:00
Mark Harrah fdb47eca8d fix dependsOn breakage from Initialize rework 2011-08-26 23:27:03 -04:00
Mark Harrah 8e4906f410 fix undefined key suggestion for updating settings 2011-08-14 10:53:38 -04:00
Mark Harrah 8ce9950327 allow setting initialization to be partially dynamic and run in parallel 2011-08-14 10:53:37 -04:00
Mark Harrah 0b5e6484ba drop unused KApply from settings 2011-08-14 10:53:37 -04:00
Mark Harrah 93b64e0fd3 clean up undefined reference checking to be a proper function 2011-08-14 10:53:37 -04:00
Mark Harrah 4a5a64a8f0 fix ++ command to not require a space after it 2011-08-14 10:53:37 -04:00
Mark Harrah 01b27f5875 Settings overhaul, intended to be source compatible where it matters.
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.
2011-08-14 10:53:37 -04:00
Mark Harrah ebddc4009f fix ScalaProviderTest 2011-08-14 10:53:37 -04:00
Mark Harrah b35d9bfcfb preserve key+configuration ambiguity through task+extra parsing. fixes #135 2011-08-05 21:59:49 -04:00
Mark Harrah baea865ecf try out simplified display of scoped keys 2011-08-04 07:20:25 -04:00
Mark Harrah 96d46b2c7a Seq[Setting[_]] <=> SettingsDefinition 2011-07-30 18:11:20 -04:00
Mark Harrah 65c1320c60 for undefined references, suggest the nearest defined scope that is more specific if it exists. fixes #135 2011-07-27 22:35:20 -04:00
Mark Harrah 9c70e479d8 display all undefined settings at once 2011-07-25 21:59:22 -04:00
Mark Harrah f2328e164e add ability to hide a token until it is explicitly started 2011-07-24 22:35:27 -04:00
Mark Harrah a6dd6b07b5 proper resolvedScoped implementation 2011-07-19 21:29:05 -04:00
Mark Harrah b272920ef3 clean up whitespace handling in commands. fixes #97 2011-07-12 07:47:31 -04:00
Mark Harrah a6f7e9840c global settings preparation: separate compilation/loading stages of Eval 2011-07-09 16:54:41 -04:00
Mark Harrah 8d778b72ed part II of fix for #90 2011-07-09 16:54:41 -04:00
Mark Harrah a612cc0ba1 settings example and simple test 2011-06-29 21:44:55 -04:00
Mark Harrah c25c92da40 add missing Attributed.get method 2011-06-29 21:44:37 -04:00
Mark Harrah 9578ed3db0 move locks test to scripted tests 2011-06-26 12:27:06 -04:00
Mark Harrah 5c8d619880 apply javac log level approach to directJavac 2011-06-26 12:27:06 -04:00
Mark Harrah 2b6d5c1316 add extraLoggers to make it easier to add loggers 2011-06-22 19:17:10 -04:00
Mark Harrah eec68ee8da minor changes to parsers 2011-06-17 18:03:59 -04:00
Mark Harrah 8c89a8b137 honor formatEnabled setting, fixes #48 2011-06-10 08:08:51 -04:00
Mark Harrah cb2c37afa0 rearrange products settings
1. enables exporting jar to classpath instead of class directory
2. starts to make post-processing class files easier
2011-05-31 18:37:07 -04:00
Mark Harrah d1ad850a12 error handling adjustments, including showing failing task in red (for #29) 2011-05-30 22:10:01 -04:00
Mark Harrah f0608da0a8 more release-worthy compile message and analysis toString 2011-05-29 19:17:31 -04:00
Mark Harrah fa90cc7de6 forgot a test 2011-05-26 22:24:26 -04:00
Mark Harrah 59ffcac74a back A.Key with Manifest, dropping object equality. fixes #27
type inference restoration pending switch to 2.9.0
2011-05-26 08:21:33 -04:00
Mark Harrah e702de0fe3 fixes #23 2011-05-23 18:40:03 -04:00
Mark Harrah dd5177bc2b task axis delegation 2011-05-23 08:13:13 -04:00
Mark Harrah 3cc8c52dea build sxr, api docs and use sbinary 0.4.0 2011-05-17 20:09:20 -04:00
Mark Harrah c53c94c72a logging cleanup 2011-05-07 22:02:06 -04:00
Mark Harrah 13a0c155df support extra axis for streams 2011-05-07 22:02:06 -04:00
Mark Harrah 7c2880915d Use standard {build}/id syntax for 'project' command 2011-05-07 22:02:06 -04:00
Mark Harrah 99110c1dd3 basic optional input support 2011-05-07 22:02:06 -04:00
Mark Harrah 767beb7993 test fixes 2011-05-07 22:02:05 -04:00
Mark Harrah 375f09cd26 speed up startup 2011-05-02 20:43:19 -04:00
Mark Harrah 58d2e3415c trying out different costs for edit distance 2011-04-26 22:29:30 -04:00
Mark Harrah f4998e1d4a fix tab completion for filtered parsers 2011-04-26 20:49:43 -04:00
Mark Harrah 21b95c1b72 work on parser error handling 2011-04-25 20:20:05 -04:00
Mark Harrah b727cf94f2 task/setting/attribute descriptions 2011-04-20 20:18:58 -04:00
Mark Harrah df1e038481 fix matched signature 2011-04-19 22:20:16 -04:00
Mark Harrah 23fed6d061 use left, some, right to avoid extra anonymous classes 2011-04-19 17:58:05 -04:00
Mark Harrah ed7721bb7d 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 19ac4b51b2 support explicitly defining sequences of settings in .sbt files 2011-04-13 19:09:33 -04:00
Mark Harrah 8b7e421807 improve error messages for cycles 2011-04-13 19:06:36 -04:00
Mark Harrah 90aa53a19e String representation for Compiled 2011-04-13 19:04:53 -04:00
Mark Harrah c368a34d36 clean up scope delegation implementation 2011-04-12 20:58:59 -04:00
Mark Harrah 944bd82306 work on tests 2011-04-08 19:17:58 -04:00
Mark Harrah 5409dd91d8 reorganize main 2011-04-08 19:15:13 -04:00
Mark Harrah 33206fc537 move toSeq up from IMap to PMap 2011-04-07 22:50:26 -04:00
Mark Harrah 1ddf5c8c31 'inspect actual <key>' for actual dependencies, 'inspect <key>' for declared 2011-03-29 20:53:21 -04:00
Mark Harrah e016e644ae newline before JLine's above threshold prompt 2011-03-25 18:22:30 -04:00
Mark Harrah c803a4a16d tab completion fixes and cleanup 2011-03-24 21:28:02 -04:00
Mark Harrah 339c59bad4 tab completion: print message when input is invalid 2011-03-24 21:28:02 -04:00
Mark Harrah 7feebe2f85 tab completion: example-checking off by default, 'matches' convenience method 2011-03-24 21:28:02 -04:00
Mark Harrah c9f8d70ee5 command logging through Streams, 'last' without a key to redisplay it 2011-03-21 20:26:04 -04:00
Mark Harrah 95e5206c3f work on displaying task errors 2011-03-20 22:54:01 -04:00
Mark Harrah 309bc5caeb reintegrate history commands, add proper parsing for recursive commands 2011-03-11 16:52:44 -05:00
Mark Harrah 93b13e80b7 success indication and timestamps for actions 2011-03-06 21:57:31 -05:00
Mark Harrah f9e8534a89 join for tasks and settings 2011-03-01 08:48:14 -05:00
Mark Harrah 9e080d7418 configurable shell prompt
for example:
 Command.ShellPrompt := {
   s => Project.extract(s).cid + "> "
 }
2011-02-21 19:35:05 -05:00
Mark Harrah d264ab0ad2 add 'seq' combinator that applies one or more parsers, collecting all valid results 2011-02-21 10:00:40 -05:00
Mark Harrah fb29d8e11e tweak URI character class for improved completion 2011-02-19 15:29:51 -05:00
Mark Harrah 333b2833fe make completion cross product lazier 2011-02-18 20:58:13 -05:00
Mark Harrah 5d74d2d985 return position at which parsing fails 2011-02-18 20:57:39 -05:00
Mark Harrah a6df926d41 fix issue with updating a non-definitive setting 2011-02-15 18:43:44 -05:00
Mark Harrah 86d82141a3 cleanup/rework related to Settings/InputParser
- 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
2011-02-11 20:22:17 -05:00
Mark Harrah c54d412e66 some more example tab completion combinators 2011-02-08 20:33:34 -05:00
Mark Harrah b503716e38 'get' now shows defining scope, related definitions, dependencies 2011-02-06 11:33:56 -05:00
Mark Harrah 80ae202965 overhaul Streams injection 2011-02-05 21:39:34 -05:00
Mark Harrah 6688c4fdf1 improve Setting construction
- 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
2011-02-04 22:02:39 -05:00
Mark Harrah 8183b717dd session manipulation commands
save, clear, list, and remove session settings
2011-02-02 22:56:11 -05:00
Mark Harrah 536e95cca5 translate Uninitialized message to use 'display' 2011-01-31 18:16:25 -05:00
Mark Harrah 2f41690269 KList updates
- exchange variance annotations on KList for a bounded existential
   in KList.toList
 - add foldr (reason for dropping variance annotations)
 - add functions stating equivalence between
   + KList[M,H :+: T] and KCons[H,T,M]
   + KList[M,HNil] and KNil
2011-01-28 21:07:29 -05:00
Mark Harrah e41d4cc8c8 convenience method on Settings to get all (Scope, AttributeKey[_]) pairs 2011-01-25 22:19:03 -05:00
Mark Harrah 1be53be310 make Uri parser fail (instead of error) on malformed inputs 2011-01-25 22:18:18 -05:00
Mark Harrah d906455aed split load-time project structure scope resolution into two phases
first phase resolves referenced build URIs as each build is loaded
second phase resolves references without an explicit project ID
  (this requires the whole structure to be known and this isn't available during the first phase)
setting resolution is unchanged (done after both phases)
2011-01-25 22:14:02 -05:00
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 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 4a0461c34f minor updates to utilities 2010-10-30 11:54:43 -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 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 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
Mark Harrah 9c8cf4451d remove call-by-name modifier for error function, doesn't work well 2010-08-04 19:48:48 -04:00
Mark Harrah fbb8db8132 adding more commands 2010-07-27 23:01:45 -04:00
Mark Harrah 384924691b unnecessary import in BufferedLogger 2010-07-19 12:32:13 -04:00
Mark Harrah b1b53e115e first shot at general command/definition model 2010-07-17 12:07:41 -04:00
Mark Harrah 96c50975f2 * move Environment classes to util/env module
* move TrapExit, SelectMainClass to run module
* rearrange some compilation-related code
* Jetty-related code moved to web module
2010-07-14 19:24:50 -04:00
Mark Harrah 5cd6ef268c - Stuart's improvements to triggered execution
- continue splitting original sbt module
 * separated process, testing modules
 * various IO, logging, classpath migration
 * split out javac interface
2010-07-05 12:53:37 -04:00
Mark Harrah 7ecfc0b8f8 discovery, persistence, frontend, and various fixes to incremental 2010-07-02 06:57:03 -04:00
Mark Harrah ba725d5046 Relation.make 2010-06-27 09:16:16 -04:00
Mark Harrah f1b5e0cf50 MList -> KList, Relation[T] -> Relation[A,B] 2010-06-24 18:09:07 -04:00