Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ability to register file system input dependencies during the configure phase #20605

Open
andrewrk opened this issue Jul 13, 2024 · 0 comments
Open
Labels
enhancement Solving this issue will likely involve adding new logic or components to the codebase. zig build system std.Build, the build runner, `zig build` subcommand, package management
Milestone

Comments

@andrewrk
Copy link
Member

Extracted from #20580.

One pattern in build.zig scripts is to walk a directory during the configure phase and create steps based on the set of files found, perhaps including the file contents found as well. Since it's only possible to create steps during the configure phase, it means the configure phase must be rerun if any files observed this way are added, removed, or modified.

So, the build system API needs a way for build scripts to declare that they have introduced a logical dependency on a particular file system path.

The file system watch mechanism will then respond to detected changes to these files by exiting the build runner process with a special notification to the parent process that it needs to be rerun for exactly this reason.

Related:

@andrewrk andrewrk added enhancement Solving this issue will likely involve adding new logic or components to the codebase. zig build system std.Build, the build runner, `zig build` subcommand, package management labels Jul 13, 2024
@andrewrk andrewrk added this to the 0.14.0 milestone Jul 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Solving this issue will likely involve adding new logic or components to the codebase. zig build system std.Build, the build runner, `zig build` subcommand, package management
Projects
None yet
Development

No branches or pull requests

1 participant