Commit Graph

349 Commits

Author SHA1 Message Date
Dale Wijnand 1a2bfc546b Notify & enable users to stay in the warm shell
Notify & enable users to stay in sbt's shell on the warm JVM by hitting
[ENTER] while sbt is running.

Looks like this; first I run 'sbt about', then I hit [ENTER]:

    $ sbt about
    [info] !!! Executing in batch mode !!! For better performance, hit [ENTER] to remain in the sbt shell

    [info] Loading global plugins from /Users/dnw/.dotfiles/.sbt/0.13/plugins
    [info] Loading project definition from /s/t/project
    [info] Set current project to t (in build file:/s/t/)
    [info] This is sbt 0.13.14-SNAPSHOT
    [info] The current project is {file:/s/t/}t 0.1.0-SNAPSHOT
    [info] The current project is built against Scala 2.12.1
    [info] Available Plugins: sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.CorePlugin, sbt.plugins.JUnitXmlReportPlugin, sbt.plugins.Giter8TemplatePlugin
    [info] sbt, sbt plugins, and build definitions are using Scala 2.10.6
    >
    >

Fixes #2987
2017-04-04 19:43:28 -04:00
Dale Wijnand c7be291946
Fix StateOps#fail != fail 2017-03-27 14:38:02 +01:00
Eugene Yokota b6d8b565de Codegen change 2017-03-23 14:30:51 -04:00
Eugene Yokota 180bdfd129 Bump underlying modules to latest 2017-03-23 12:41:24 -04:00
Dale Wijnand e67cd6948b
Fix a bunch but not all compile warnings 2017-03-03 01:33:44 +01:00
Dale Wijnand e83564a6b7
Move some server pieces from main-command to main 2017-01-20 17:07:25 +00:00
Josh Soref eefef9d686 spelling: publish 2017-01-20 08:21:56 +00:00
Josh Soref ae22cc2293 spelling: incoming 2017-01-20 08:17:56 +00:00
Josh Soref c81894e45b spelling: command 2017-01-20 08:10:32 +00:00
Josh Soref f66acb8c0e spelling: abstraction 2017-01-20 08:06:55 +00:00
Dale Wijnand c239b553b6
Fix logic in client 2017-01-17 11:49:00 +00:00
Eugene Yokota d91df1f189 Adjust to 1.0.x 2017-01-16 08:44:13 -05:00
Eugene Yokota 1b79cb85b6 Safer template resolver
Fixes #2761

With sbt 0.13.13-RC1 rediscovered that the dependency pulled in from
Giter8 was affecting the plugins. To avoid this, this change splits up
the template resolver implementation to another module called
sbt-giter8-resolver, and it will be downloaded using Ivy into
`~/.sbt/0.13/templates/`, and then launched reflectively using Java as
the interface.
2017-01-16 08:44:13 -05:00
Eugene Yokota 729119a15a Fix parser for new command 2017-01-16 08:43:23 -05:00
Eugene Yokota 73a427c0b8 Adds templateResolvers and `new` command
This adds `new` command, which helps create a new build definition. The
`new` command is extensible via a mechanism called the template
resolver,
which evaluates the arbitrary arguments passed to the command to find
and run a template.

As a reference implementation [Giter8][g8] is provided as follows:

    sbt new eed3si9n/hello.g8

This will run eed3si9n/hello.g8 using Giter8.

  [g8]: http://www.foundweekends.org/giter8/
2017-01-16 08:43:23 -05:00
Eugene Yokota 0365d7cb11 Uncomment publishEvent 2017-01-14 02:30:59 -05:00
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 66301dbaf1 Adjust from rebasing 2017-01-06 11:35:08 -05:00
Eugene Yokota a2df1a4b53 Formatting fix 2017-01-06 11:27:41 -05:00
Eugene Yokota a0dde10f8a Use NonFatal 2017-01-06 11:27:41 -05:00
Eugene Yokota 892e25d23f Introduce execId that gets sent back
Now the client can put an id on each exec.
This can then be tracked and/or be used to block the user input.
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 46d8f952e4 Refactor to make NetworkChannel per client connection 2017-01-06 11:27:06 -05:00
Eugene Yokota d618f91c6d Replace var with AtomicReference 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
Eugene Yokota 272e733b87 Update to Contraband 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 18233ace05 Using sbt-datatype + sjson-new for JSON serialization 2016-10-27 09:27:41 -04:00
Eugene Yokota e7456b5653 Use the new FullReader 2016-10-27 09:20:06 -04:00
Eugene Yokota a94107e673 Handle closed socket 2016-10-27 02:42:12 -04:00
Eugene Yokota fe1a24cf7c Adjust to 1.0.x 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 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 9529f0c304 Add `-error` etc for log levels with one hyphen 2016-09-15 02:23:37 -04:00
Eugene Yokota 06724d1c4b Rename early command to `early(command)`
Fixes #2734, Ref #1041
e93c4450a1 added a feature called early
command, which uses `--` as a prefix to denote some commands that runs
ahead of session loading. While the feature might be useful especially
for logging, `--` is too useful just for this purpose.
2016-09-15 01:45:50 -04:00
Dale Wijnand 84c611af36 Remove unused vals/defs 2016-07-12 14:31:35 +01:00
Dale Wijnand deea82542c Remove unused imports 2016-07-12 11:55:10 +01:00
Dale Wijnand 32760bed55 Remove some fatal exception catching 2016-07-07 18:21:25 +01:00
Dale Wijnand 387674a451 Remove some heads and tails 2016-07-07 18:21:25 +01:00
Dale Wijnand 12d2b5a63b Cleanup commandProj 2016-06-21 08:09:30 +01:00
Eugene Yokota ee272d780e Reorganize directory structure 2016-05-06 16:01:49 -04:00