A thin client for sbt.
Inspired by Eugene's PR, I decided to write a thin client without the JVM startup overhead.
There are a couple of ways to install sbt-client
:
-
If you are on a Mac and you trust me enough to download a random binary file when I tell you to, you can download the binary from the GitHub release.
-
If you don't mind installing Rust, you can download the latest version by installing from source.
-
Install Rust (on a Mac this is simply
brew install rust
) -
Check that
~/.cargo/bin
is on your$PATH
. -
Clone this repo.
-
Run
cargo install
. This will create~/.cargo/bin/sbt-client
.
In the root directory of an sbt project, run sbt-client <some sbt command>
.
e.g. sbt-client clean
.
If sbt is not running, it will automatically start it for you and keep it
running in the background. So the next time you run sbt-client
it will be much
more snappy.
Note: this assumes that sbt
is on your $PATH
. To start the server, sbt-client
simply runs sbt
with no arguments.
sbt-client clean
starting an sbt server:
sbt-client clean
again, now that the server is running:
sbt-client compile
displaying compilation errors:
$ time sbt-client clean
[info] Processing
[success] Done
sbt-client clean 0.00s user 0.00s system 5% cpu 0.075 total
- Developed and tested on MacOS
- Should also work on Linux
- Will NOT work on Windows