Sciweavers

OOPSLA
2015
Springer

A sound and optimal incremental build system with dynamic dependencies

8 years 7 months ago
A sound and optimal incremental build system with dynamic dependencies
Build systems are used in all but the smallest software projects to invoke the right build tools on the right files in the right order. A build system must be sound (after a build, generated files consistently reflect the latest source files) and efficient (recheck and rebuild as few build units as possible). Contemporary build systems provide limited efficiency because they lack support for expressing finegrained file dependencies. We present a build system called pluto that supports the definition of reusable, parameterized, interconnected builders. When run, a builder notifies the build system about dynamically required and produced files as well as about other builders whose results are needed. To support fine-grained file dependencies, we generalize the traditional notion of time stamps to allow builders to declare their actual requirements on a file’s content. pluto collects the requirements and products of a builder with their stamps in a build summary. This ena...
Sebastian Erdweg, Moritz Lichter, Manuel Weiel
Added 16 Apr 2016
Updated 16 Apr 2016
Type Journal
Year 2015
Where OOPSLA
Authors Sebastian Erdweg, Moritz Lichter, Manuel Weiel
Comments (0)