Commit Graph

126 Commits

Author SHA1 Message Date
Ethan Atkins 2921dfa005 Bump sbt version 2020-09-07 09:49:43 -07:00
Ethan Atkins c01be0395d Bump sbt build to 1.4.0-M2 2020-08-19 09:26:27 -07:00
Ethan Atkins ba345dd797 Add multi-client ui to server
This commit makes it possible for the sbt server to render the same ui
to multiple clients. The network client ui should look nearly identical
to the console ui except for the log messages about the experimental
client.

The way that it works is that it associates a ui thread with each
terminal. Whenever a command starts or completes, callbacks are invoked
on the various channels to update their ui state. For example, if there
are two clients and one of them runs compile, then the prompt is changed
from AskUser to Running for the terminal that initiated the command
while the other client remains in the AskUser state. Whenever the client
changes uses ui states, the existing thread is terminated if it is
running and a new thread is begun.

The UITask formalizes this process. It is based on the AskUser class
from older versions of sbt. In fact, there is an AskUserTask which is
very similar. It uses jline to read input from the terminal (which could
be a network terminal). When it gets a line, it submits it to the
CommandExchange and exits. Once the next command is run (which may or
may not be the command it submitted), the ui state will be reset.

The debug, info, warn and error commands should work with the multi
client ui. When run, they set the log level globally, not just for the
client that set the level.
2020-06-24 19:40:17 -07:00
Dale Wijnand 8d6ca826f9 Update sbt to 1.3.8 2020-02-15 08:49:53 +00:00
Ethan Atkins c18284948d Bump sbt version 2020-01-18 16:11:37 -08:00
Eugene Yokota d21d698e96 sbt 1.3.6 2019-12-27 01:51:25 -05:00
Ethan Atkins d7a191e277 Bump sbt version 2019-11-30 14:59:44 -08:00
Ethan Atkins a0dc3fc06a Bump sbt dogfood version 2019-09-05 10:20:24 -07:00
Ethan Atkins 34bdc21adc Bump sbt version to 1.3.0-RC5 2019-08-29 16:20:37 -07:00
Ethan Atkins 58ff066b64 Bump sbt to use 1.3.0-RC4 2019-08-20 15:28:08 -07:00
Eugene Yokota 8bd1615e1f use sbt 1.3.0-RC3 2019-07-17 14:53:39 -04:00
Eugene Yokota 44451b9a24 sbt 1.3.0-RC2 2019-06-10 17:36:01 +02:00
Eugene Yokota 2376de63d1 sbt 1.3.0-RC1 2019-05-17 11:23:02 -04:00
Eugene Yokota 668a0379eb sbt 1.3.0-M3 2019-05-03 16:43:52 -04:00
Eugene Yokota 38018eb69f use sbt 1.3.0-M2 2019-03-24 13:32:20 -04:00
Eugene Yokota 1d09a15cb3 sbt 1.2.8 2019-02-23 04:36:06 -05:00
Eugene Yokota 0843cd6a3c sbt 1.2.3 2018-09-14 03:28:12 -04:00
Eugene Yokota fa3b0f0313 sbt 1.2.1 2018-08-16 15:55:25 -04:00
Eugene Yokota 305a8de319 1.2.1-SNAPSHOT 2018-07-30 20:28:42 -04:00
Eugene Yokota 8ec0e0193e sbt-houserules 0.3.7 2018-06-14 02:51:09 -04:00
Eugene Yokota 94a57dcf00 Move fakeboot to home
https://github.com/sbt/sbt/pull/4143 kept failing, and while I was debugging,
I noticed that the target that it was downloading scala-compiler was in
/tmp/... for the remote instance.
This moves the fakeboot to a full path, which should make the build
less susceptible to failure due to random network issues.
2018-05-04 19:37:42 -04:00
Eugene Yokota f607b6c73f sbt 1.1.2 2018-03-27 06:52:32 -04:00
Dale Wijnand e8d1a30474
Update mimaPreviousArtifacts/sbt.version 2018-02-14 10:53:37 +00:00
Eugene Yokota 4c3b770b27 bump to sbt 1.0.4 2017-12-19 20:57:09 -05:00
Eugene Yokota 12be2e28a6 Use sbt 1.0.0 2017-08-26 14:40:58 -04:00
Dale Wijnand a495aa7cb0
Upgrade to sbt 1.0.0-RC3 2017-08-01 14:35:27 +01:00
Eugene Yokota b2220fe9d4
sbt 1.0.0-RC2 2017-07-20 06:56:37 +01:00
Eugene Yokota bcc74a962e bump to using sbt 1.0.0-M6
We are missing the plugin for Scalafmt but I think we need to use beta2 ourselves.
2017-06-13 01:09:19 -04:00
Dale Wijnand 0b33c195ef
Upgrade the build to sbt 1.0.0-M5
Some plugins remain commented out, for now.

sbt-doge is no longer needed because a variant of it has been folded
into sbt 1.

For some reason scripted requires src/doc jars of sbt, so switch back to
using `publishAll` rather than `publishLocalBinAll`. :(

Also, the sys.prop change in scripted is to force log4j2 to not use a
thread context classloader, and avoid the following:

    ERROR StatusLogger Unable to create custom ContextSelector. Falling back to default.
     java.lang.ClassCastException: Cannot cast org.apache.logging.log4j.core.async.AsyncLoggerContextSelector to org.apache.logging.log4j.core.selector.ContextSelector
    	at java.lang.Class.cast(Class.java:3369)
    	at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceOf(LoaderUtil.java:201)
    	at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceOfProperty(LoaderUtil.java:226)
    	at org.apache.logging.log4j.core.impl.Log4jContextFactory.createContextSelector(Log4jContextFactory.java:97)
    	at org.apache.logging.log4j.core.impl.Log4jContextFactory.<init>(Log4jContextFactory.java:58)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    	at java.lang.Class.newInstance(Class.java:442)
    	at org.apache.logging.log4j.LogManager.<clinit>(LogManager.java:94)
    	at org.apache.logging.log4j.spi.ThreadContextMapFactory.createThreadContextMap(ThreadContextMapFactory.java:73)
    	at org.apache.logging.log4j.ThreadContext.init(ThreadContext.java:223)
    	at org.apache.logging.log4j.ThreadContext.<clinit>(ThreadContext.java:202)
    	at org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createDefaultInjector(ContextDataInjectorFactory.java:83)
    	at org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createInjector(ContextDataInjectorFactory.java:67)
    	at org.apache.logging.log4j.core.lookup.ContextMapLookup.<init>(ContextMapLookup.java:34)
    	at org.apache.logging.log4j.core.lookup.Interpolator.<init>(Interpolator.java:117)
    	at org.apache.logging.log4j.core.config.AbstractConfiguration.<init>(AbstractConfiguration.java:125)
    	at org.apache.logging.log4j.core.config.DefaultConfiguration.<init>(DefaultConfiguration.java:46)
    	at org.apache.logging.log4j.core.layout.PatternLayout$Builder.build(PatternLayout.java:650)
    	at org.apache.logging.log4j.core.layout.PatternLayout.createDefaultLayout(PatternLayout.java:487)
    	at sbt.internal.util.ConsoleAppender.<init>(ConsoleAppender.scala:245)
    	at sbt.internal.util.ConsoleAppender$.apply(ConsoleAppender.scala:196)
    	at sbt.internal.util.ConsoleLogger.<init>(ConsoleAppender.scala:42)
    	at sbt.internal.util.ConsoleLogger$.apply(ConsoleAppender.scala:34)
    	at sbt.test.ScriptedRunner.run(ScriptedTests.scala:221)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at Scripted$.doScripted(Scripted.scala:125)
    	at $0483e89d182e9d240274$.$anonfun$scriptedTask$5(build.sbt:301)
2017-05-11 09:44:42 +01:00
Dale Wijnand 5945e3e477
Bump to sbt 0.13.13 2016-12-11 12:08:28 +00:00
Eugene Yokota e3a06b72c0 Use 0.13.11 2016-05-01 03:06:26 -04:00
Dale Wijnand 553dffec39 Upgrade to 0.13.9. 2015-08-19 12:16:03 +01:00
Andrzej Jozwik 29c99c0780 Updated to 0.13.8 2015-03-26 08:56:16 +01:00
Eugene Yokota 607b686cb2 Fixes #1752. Fixes cached resolution too verbose.
- Fixes cached resolution being too verbose
- Adds new UpdateLogging named "Default"
- When global logLevel or logLevel in update is Debug, Default will
bump up to Full UpdateLogging.
2014-12-04 12:34:30 -05:00
Josh Suereth 4c2d88649e Fix formatting issues and bump to sbt 0.13.5 2014-05-28 09:12:55 -04:00
Eugene Yokota b730c00b75 sbt 0.13.2 2014-05-01 12:05:52 -04:00
Mark Harrah 48fb98f2d1 0.13.1 2013-12-10 10:18:42 -05:00
Mark Harrah 005384f9af Use sbt 0.13.0 to build the 0.13 branch. 2013-09-10 08:30:00 -04:00
Mark Harrah 5c1ca5d1ec use 0.12.4 final for building 2013-06-27 14:12:47 -04:00
Mark Harrah 26a0692fd3 build with 0.12.4-RC3 2013-06-20 16:55:17 -04:00
Mark Harrah a1f9ac3bc1 build with 0.12.4-RC2 2013-06-05 19:55:24 -04:00
Mark Harrah 19d75ae2f9 preparation for 0.13.0-Beta1 2013-06-01 10:56:30 -04:00
Mark Harrah 7bfd24b4d6 build with 0.12.2 2013-01-18 18:49:20 -05:00
Mark Harrah ca9f094b83 use 0.12.1 to build 2012-10-12 10:52:23 -04:00
Mark Harrah 46ac72ab40 version bumps 2012-08-01 09:32:48 -04:00
Mark Harrah 04966c887d bump versions 2012-03-14 21:01:38 -04:00
Mark Harrah 094bc7c7a5 version bump 2012-02-19 22:41:26 -05:00
Mark Harrah 8342080917 build with 0.11.2 2011-11-27 17:58:13 -05:00
Mark Harrah e1652a2867 build with 0.11.1 2011-11-09 18:30:35 -05:00
Mark Harrah a2e30494fe use 0.11.0 for building 2011-09-26 08:20:07 -04:00