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