Commit Graph

1550 Commits

Author SHA1 Message Date
Eugene Yokota 8c9dfda089 Split log output per channel
LogManager implementation is modified to use ManagedLogger, which can swap out backing Appenders without re-creating the log instance.

The State was also changed to track `currentCommand: Option[Exec]`. `Exec` knows the origin of the command invocation, and using that we can now send the network-originated events only to the network clients.

Combined together, this implements log splitting between the sbt clients (channels).
2017-01-13 03:00:02 -05:00
Eugene Yokota 9ee69e5dd4 Fix test 2017-01-06 11:27:41 -05:00
Eugene Yokota 1bf50e10c8 Use Exec in State 2017-01-06 11:27:41 -05:00
Eugene Yokota d96ef58605 Unifying towards using events 2017-01-06 11:27:06 -05:00
Eugene Yokota fa7253ece3 Start lightweight client
This is the beginning of a lightweight client, which talks to the
server over Contraband-generated JSON API. Given that the server is
started on port 5173:

```
$ cd /tmp/bogus
$ sbt client localhost:5173
> compile
StatusEvent(Processing, Vector(compile, server))
StatusEvent(Ready, Vector())
StatusEvent(Processing, Vector(, server))
StatusEvent(Ready, Vector())
```
2017-01-06 11:27:06 -05:00
Dale Wijnand 7fcfec8b8e
-sbinary/+sjson-new, -datatype/+contraband & upgrades
* start to replace sbinary with sjson-new
* upgrade from sbt/datatype to sbt/contraband
* upgrade and migrate to new sbt modules APIs
2017-01-05 21:59:00 +00:00
Dale Wijnand 43821667bf
Upgrade scalariform version 2016-12-11 12:13:11 +00:00
Eugene Yokota fe1a24cf7c Adjust to 1.0.x 2016-10-27 02:42:12 -04:00
Eugene Yokota 75deb4e55d Change "command_exec" to just "exec" 2016-10-27 02:42:12 -04:00
Eugene Yokota 5e0b087daa Use logger 2016-10-27 02:42:12 -04:00
Eugene Yokota a89fcb37ca Exec and CommandExchange refactoring 2016-10-27 02:42:12 -04:00
Eugene Yokota 3359163636 Adds serverPort attribute key 2016-10-27 02:42:12 -04:00
Eugene Yokota ebf4715dd1 Refactor to CommandExchange and CommandChannel 2016-10-27 02:42:12 -04:00
Eugene Yokota 48d3b01e6b Move files around 2016-10-27 02:42:12 -04:00
Eugene Yokota 19b079caf2 Change type to command_exec 2016-10-27 02:42:12 -04:00
Eugene Yokota 1b1f2abfbe Use util 0.1.0-M9 that implements thread-friendly readLine 2016-10-27 02:42:12 -04:00
Eugene Yokota 3381f59ae8 Implement ConsoleListener 2016-10-27 02:42:12 -04:00
Johan Andrén ff211d08f9 Server hooked in as a CommandListener 2016-10-27 02:42:12 -04:00
Eugene Yokota f9dd8b73b7 Refactor to abstract listening for command line 2016-10-27 02:42:12 -04:00
Eugene Yokota 649dc0ce3c This is where we can multiplex commands 2016-10-27 02:42:12 -04:00
Eugene Yokota ec0fe7bb21 Split using newline. Also more error handling. 2016-10-27 02:42:12 -04:00
Johan Andrén 9557107c97 First sloppy stab at an embedded server in sbt 2016-10-27 02:42:12 -04:00
Dale Wijnand 84052b2717
Remove an unused import 2016-10-05 11:12:25 -05:00
Dale Wijnand 2f84e05282
Migrate to blackbox.Context 2016-10-05 11:12:24 -05:00
eugene yokota 87ef5287f6 Merge pull request #2662 from dwijnand/publishTo-TaskKey
[sbt 1.0] Make publishTo & otherResolvers TaskKey's
2016-09-29 01:43:36 -04:00
eugene yokota 8dab60eb92 Merge pull request #2760 from dwijnand/AutoPlugin-extraProjects-1.0
FPORT: Add extraProjects adn derivedProjects. Fixes #2532
2016-09-29 00:46:06 -04:00
Eugene Yokota 0321f0cd48
Add extraProjects adn derivedProjects. Fixes #2532
This adds support to generate synthetic subprojects from an auto plugin.

In addition, a method called `projectOrigin` is added to distinguish
Organic, BuildExtra, ProjectExtra, and GenericRoot.

Forward-port of #2717 and #2738
2016-09-29 01:46:17 +01:00
Dale Wijnand befb0925e3
Make publishTo & otherResolvers TaskKey's
Fixes #2059
2016-09-29 01:35:51 +01:00
eugene yokota bd1b3cfe00 Improve `show` when key returns a `Seq` (#2752)
This changes the output to:

```
> show externalDependencyClasspath
[info] Updating {file:/xxx/hello/}root...
[info] Resolving jline#jline;2.12.1 ...
[info] Done updating.
[info] *
Attributed(/Users/xxx/.sbt/boot/scala-2.11.8/lib/scala-library.jar)
[info] *
Attributed(/Users/xxx/.ivy2/cache/commons-io/commons-io/jars/commons-io-
2.4.jar)
```
2016-09-23 02:12:44 +01:00
Eugene Yokota 15c078ab0b Quieter ivyLoggingLevel for CI
`ivyLoggingLevel` is dropped to `UpdateLogging.Quiet` when Jenkins or
Travis is detected.
2016-09-15 22:57:07 -04:00
Eugene Yokota 357a146460 Silent startup for scalas
Fixes #840
2016-09-15 03:42:23 -04:00
eugene yokota 26d0b25a12 Merge pull request #2721 from eed3si9n/wip/zinc_x2
bumping to zinc 1.0.0-X3
2016-09-07 00:45:31 -04:00
Eugene Yokota f4400ed171 zinc 1.0.0-X3 2016-09-06 23:39:34 -04:00
Dale Wijnand 1ba7bb0fb9 Merge pull request #2712 from Duhemm/fport/key-selection-build-level
Forward port #2469 & #2708
2016-09-01 09:23:01 +01:00
Martin Duhem faf6120c93 Unspecified project axis means current project or its build 2016-08-31 10:42:32 +02:00
Eugene Yokota 9655f50c55 bumping to zinc 1.0.0-X2 2016-08-30 21:37:20 -04:00
kenji yoshida 27fe8eb6f7 remove unused imports (#2719) 2016-08-30 07:29:17 +01:00
Eugene Yokota 829ec4dd3a Update Defaults and scripted to := style 2016-08-29 23:02:10 -04:00
xuwei-k 857fc0f5da use JavaConverters instead of JavaConversions
- https://issues.scala-lang.org/browse/SI-9684
- 0c5b42d974
2016-08-30 01:31:04 +09:00
Martin Duhem 3da38b14db Fix key selection for build level keys
PR #2469 added build keys to tab completion, with the side effect of
considering as available candidate in key selection, thus making sbt
think that some inputs were ambiguous (e.g. `baseDirectory`): should it
apply to the current project or to the build level key?

This commit fixes this issue by improving the key selection:
 - If there's no candidate, we return the default key
 - If there's a single possible project level key, and zero or more
   build level keys, then we select the project level key.
 - If there are zero project level key, and a single build level key,
   then we select the build level key
 - If there are multiple candidates, sbt says that the input is
   ambiguous.

Fixes #2707
2016-08-26 08:14:28 +02:00
Martin Duhem 3c9d2ff57a Completion for build-level keys
sbt's shell provided completion only for keys that were relative to a
defined project, but didn't provide completion for keys that belong to
the build definition only.

This commit fixes this issue by defining a new kind of `Parser` (from
which completions are generated) which runs its input simultaneously on
distinct parsers. We now define a parser for project-level keys and
another parser for build-level keys. These two parsers are eventually
combined, and we get the completions of both parsers.

Fixes sbt/sbt#2460
2016-08-26 08:14:28 +02:00
kenji yoshida 0c086a7761 `aggregate` can now be used inside a .sbt file (#2683)
(cherry picked from commit b92e5773f7)
2016-07-27 23:35:16 +09:00
Dale Wijnand c5f59d4406 Check formatting with TravisCI
Fixes #2657
2016-07-18 12:58:30 -04:00
eugene yokota f221d0ab28 Merge pull request #2667 from OlegYch/fix-project-macro-error-message
Better error message from project macro
2016-07-18 11:29:26 -04:00
eugene yokota 4b0ccd2dab Merge pull request #2670 from dwijnand/remove-404-resolvers
Remove resolvers to repositories that don't exist
2016-07-18 11:10:18 -04:00
Dale Wijnand b245cf5f58 Remove resolvers to repositories that don't exist
Fixes #2195
2016-07-15 08:16:40 +01:00
eugene yokota 5abccaedd2 Merge pull request #2673 from dwijnand/leave-update-options-alone
Don't redefine updateOptions to ignore ThisBuild
2016-07-14 22:35:28 -04:00
Dale Wijnand 84c611af36 Remove unused vals/defs 2016-07-12 14:31:35 +01:00
Dale Wijnand 886d95c0e5 Don't redefine updateOptions to ignore ThisBuild
Fixes #2671
2016-07-12 13:24:14 +01:00
Dale Wijnand deea82542c Remove unused imports 2016-07-12 11:55:10 +01:00