Nyb is a general, “meta” build system similar to Bazel. Nyb, like Bazel, goes on top of language-specific toolchains to speed up builds and better manage dependencies, especially in the context of a monorepo. Contrary to Bazel, the adaption of the existing toolchains is minimal. You can have most of the benefits of a Bazel-inspired system without jettisoning Maven, Gradle, Lerna, Docker, and all the other build systems that you already use.
Nyb does one thing and does it well: it analyzes source file changes and builds and tests again only the stuff these changes impact. Through distributed execution, Continuous Integration gets a speed-up. Distributed caching gives the same benefits for local development than an artifact repository.
Nyb is organized around a scheduler. The scheduler sends actions to an executor for the targets that need a rebuild. Targets are skipped if the source files did not change or the action results are already in the action cache. If an action result is in the action cache, the outputs for the action are downloaded from the content-addressable storage.
Nyb is extremely lightweight. The goal is not to replace your toolchains, only to orchestrate them in a better, more integrated way.
More background info is available here.
Compatibility: Linux, Windows, and Mac OSX.