Граф коммитов

475 Коммитов

Автор SHA1 Сообщение Дата
Ted Mielczarek e8b64ca447 Pull in app_dirs to get a better default local disk cache location 2016-11-17 10:59:15 -05:00
Ted Mielczarek a41f7e451e Don't block sending compile result to client on cache write. Fixes #19.
This change makes `get_cached_or_compile` return a `Future` for the
cache write instead of blocking on it. The server then waits for the
result on a thread. It also changes the server to record cache write
timings, and display the average in the stats.
2016-11-02 17:15:14 -04:00
Ted Mielczarek 1d591f811b daemonize the server process on unix 2016-10-26 16:22:52 -04:00
Ted Mielczarek d115dc2c63 use local-encoding crate for stdout conversion 2016-09-21 15:57:28 -04:00
Ted Mielczarek 30199bef4a drop openssl dep from hyper for now 2016-08-25 15:34:42 -04:00
Ted Mielczarek 657cb895f1 drop rusoto, import some simple s3 code and use that 2016-08-12 14:03:37 -04:00
Ted Mielczarek 3444252dff use rusoto master YOLO 2016-08-08 21:15:03 -04:00
Ted Mielczarek 1565f6a85e switch back to released version of which, switch to a rusoto branch with a bug fix 2016-08-08 15:06:06 -04:00
Ted Mielczarek 4c460d133b use my fork of which-rs until a fix gets released 2016-07-27 12:47:31 -04:00
Ted Mielczarek fe628ffd62 Update to a released rusoto, and 'cargo update' while we're at it 2016-07-15 11:31:56 -04:00
Ted Mielczarek dc5f2e295d bump sha1 crate to 0.2.0 2016-07-15 10:42:08 -04:00
Stefan Ilic 11771a06da Started using which crate (#14) 2016-07-14 06:38:26 -04:00
Stefan Ilic 8b8bbc339c Start using fern for logging (#9) 2016-06-28 07:12:54 -04:00
Ted Mielczarek 86aa35b191 Detect MSVC -showIncludes prefix (not actually wired up to anything yet) 2016-06-24 07:01:25 -04:00
Ted Mielczarek 7676daf23c switch to the rusoto feature_mutex_credentials branch 2016-06-10 13:39:32 -04:00
Ted Mielczarek b16e3a2f4b try using my rusoto fork 2016-06-07 15:46:01 -04:00
Ted Mielczarek 68eebc2694 Implement S3Cache
Unlike sccache1, you need to specify both bucket and region, like:
SCCACHE_BUCKET=sccache
SCCACHE_REGION=us-east-1

Pretty limited testing, no automated tests currently.
2016-06-03 15:09:38 -04:00
Ted Mielczarek c11f6635df Implement fetching/storing to cache, interfaces for doing so, implement a disk cache 2016-05-21 14:14:26 -04:00
Ted Mielczarek a29fc7c1fe turn Compiler into CompilerKind, make a Compiler struct to hold some more info about compilers 2016-05-18 14:30:11 -04:00
Ted Mielczarek 3f9ee125d1 drop format_size code in favor of number_prefix crate 2016-05-12 15:46:22 -04:00
Ted Mielczarek 0744b40549 Support running compile commands on the server.
This change lets the server run compile commands for supported compilers.
It doesn't do any output caching yet, but if it detects that a commandline
is a supported compiler it will send a `CompileStarted` message to the client,
run the compiler on a background thread, and then send a `CompileFinished`
message with the exit status and stdout/stderr when it completes.
2016-05-12 14:47:46 -04:00
Ted Mielczarek d9e5315b9d Add compiler detection in server.
This change adds a large amount of support code to allow the server
to run compiler detection on a background thread.

It adds general support for running tasks in the server (`run_task`)
and handling their results, as well as support for using `MockCommandCreator`
across threads in a safe way. This also required making `SccacheServer`
generic over `CommandCreatorSync` so that its process execution could
be mocked for tests.

The server still does not yet actually run compile commands.
2016-05-04 13:56:59 -04:00
Ted Mielczarek 228c72f9fb Implement Mock versions of CommandCreator et. al. 2016-05-02 15:11:20 -04:00
Ted Mielczarek 3010a53dc3 Rework server to use mio 2016-04-29 09:32:01 -04:00
Ted Mielczarek 16d74015a9 Somewhat-fleshed-out skeleton.
Has a protocol (defined in protocol.proto), client-server bits,
and some basic request handling. Doesn't actually execute commands yet.
2016-04-26 16:43:03 -04:00