# integrate the build runner and the compiler server · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/986a30e373f6b2f0da2de64570013c83cacc17b6)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 986a30e373f6b2f0da2de64570013c83cacc17b6

Requested commit: 986a30e373f6b2f0da2de64570013c83cacc17b6

Commit: 986a30e373f6b2f0da2de64570013c83cacc17b6

Tree: 5033b9860e08795a5719ab6619c122060ad69165

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
integrate the build runner and the compiler server

The compiler now provides a server protocol for an interactive session
with another process. The build runner uses this protocol to communicate
compilation errors semantically from zig compiler subprocesses to the
build runner.

The protocol is exposed via stdin/stdout, or on a network socket,
depending on whether the CLI flag `--listen=-` or e.g.
`--listen=127.0.0.1:1337` is used.

Additionally:

 * add the zig version string to the build runner cache prefix

 * remove --prominent-compile-errors CLI flag because it no longer does
   anything. Compilation errors are now unconditionally displayed at the
   bottom of the build summary output when using the terminal-based
   build runner.

 * Remove the color field from std.Build. The build steps are no longer
   supposed to interact with stderr directly. Instead they communicate
   semantically back to the build runner, which has its own logic about
   TTY configuration.

 * Use the cleanExit() pattern in the build runner.

 * Build steps can now use error.MakeFailed when they have already
   properly reported an error, or they can fail with any other error
   code in which case the build runner will create a simple message
   based on this error code.

```

## Parents

- [c583d140135fe5a57d055d9c0b8bdf59698f29e1](https://git.cafe/gitcafe/zig/commit/c583d140135fe5a57d055d9c0b8bdf59698f29e1?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/986a30e373f6b2f0da2de64570013c83cacc17b6?format=markdown)
