SBuild server - Hackathon project
Scala Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
sbuild @ d5ce701


SBuild Server

An server for SBuild, serving as a long running daemon to reduce initialization time and gain from warmed up JVM.

This project was initiated and initially developed at the ScalaDays Hackathon in Berlin.

The Goal for this Hackathon: SBuild Server

proposal by Tobias Roeser

SBuild is a Scala based build tool, which uses plain Scala files as configuration format, but these files need to be compiled by SBuild (at least once) before the build can run.

With a server running on the local developer machine it could get a large speedup. Because the server runs permanently, it has no extra startup time and gains additional momentum from already loaded and JIT-ed classfiles.


Writing a server application which spawns separated SBuild instances per request. The Server should use a REST API to accept job. The implementation should be based on Spray. Effects to the filesystem should be directly produced by the server, but all output (stderr, stdout, return code) need to be returned to the client.

The client should be a simple command line app accepting all sbuild command line options additional to some potential extra options needed to control the client-server communication.

Advanced features like support for multiple SBuild versions can be ignored for now.