-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Labels
acceptedThis proposal is planned.This proposal is planned.proposalThis issue suggests modifications. If it also has the "accepted" label then it is planned.This issue suggests modifications. If it also has the "accepted" label then it is planned.zig build systemstd.Build, the build runner, `zig build` subcommand, package managementstd.Build, the build runner, `zig build` subcommand, package management
Milestone
Description
Once #14603 or similar is merged, std.Build.anonymousDependency is redundant: its use cases can be instead handled by specifying a local path in build.zig.zon and calling std.Build.dependency as you would for a remote dependency.
In fact, anonymousDependency is strictly less useful. Here are some key use cases it does not support:
- Temporarily overriding a dependency path for a package to refer to a local development copy. This will be particularly useful once ability to specify additional build dependency mirrors that affect any package in the full dependency tree #14292 is implemented.
- Referencing a vendored dependency which in turn has remote dependencies. This is impossible via
anonymousDependencybecause the build system cannot call into the actual package manager (which is integrated into the compiler).
As such, std.Build.anonymousDependency should be removed, giving one obvious and straightforward way to reference local dependencies.
InKryptionjmrico01, theoparis, menduz, natecraddock, uwni and 1 more
Metadata
Metadata
Assignees
Labels
acceptedThis proposal is planned.This proposal is planned.proposalThis issue suggests modifications. If it also has the "accepted" label then it is planned.This issue suggests modifications. If it also has the "accepted" label then it is planned.zig build systemstd.Build, the build runner, `zig build` subcommand, package managementstd.Build, the build runner, `zig build` subcommand, package management