Repository navigation
build: an app builds its plugins, web and package with fizzy's build API - #843
Conversation
An app built on fizzy can now:
- build a plugin against an executable's own modules: `fizzy.framework(fizzy_dep, .native |
.web)` and the SDK's `plugin.staticModule(b, framework, .{})`. A plugin's own dependencies,
C ones included, are then built by its build for each target rather than copied by fizzy's,
so a plugin can bring its own tree-sitter grammar (graphl does). Unwired `"plugin"` modules
are still copied, now with `tape` and `replay` too.
- say which executables link each plugin, with a module per target:
`.{ .name, .targets = &.{ .{ .target = .web, .module = ... } } }`.
- get what it built from `fizzy.addApp`: the executables and the web build (`web`, `web_page`,
`web_files`); `fizzy.addWebSteps(b, fizzy_dep)` adds a `web` step.
- add to its package: `package-dirs` (files beside the executable) and `vpk-args` (appended to
`vpk pack`), as dependency options.
Agent-Team: linux Worker: claude Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
PM note: how this PR will be handledWhat it is for: build: an app builds its plugins, web and package with fizzy's build API Rules that apply: touches the SDK or plugin ABI: the shape fingerprint must be recorded; touches build scripts; changes agent rules or guides. Things to watch (checked by rule):
What happens next:
A living status comment below is kept current. Nothing here is a merge decision. |
Where this PR standsStage: Author's turn What the PM needs before approving (ticks as it is met; the full CI runs only at the end, after the reviews are clean):
Rules that apply: touches the SDK or plugin ABI: the shape fingerprint must be recorded; touches build scripts; changes agent rules or guides. Reviews at the current commit (
Updated 2026-10-25 21:12 UTC by the PM. This comment is edited in place. |
Part of fizzyedit/work#346 ## Goal Line-length sweep of build.zig (work#141, plans#76 lint step); this round merges main (conflict with fizzyedit#843's build.zig changes). ## What changed and why Merged origin/main into the branch. The one conflict, in `buildApp`/`addApp`, took main's new code; the sweep's wrapping elsewhere in build.zig is kept. Diff against main is build.zig only. ## How it was verified check-fmt ok; `scripts/zb build` ok; lint reports no failures. ## Not done / follow-ups Other files' line-length sweeps; a few long lines main added in build.zig (doc examples, panic messages) are left unwrapped. <!-- agent-finish: generated below --> <details><summary>Changes (1 files, +75/-13)</summary> ```text build.zig | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 75 insertions(+), 13 deletions(-) ``` </details> <details><summary>Gates: 6 of 6 passed</summary> ### `scripts/check-fmt.sh` (exit 0) ```text check-fmt: listing tracked files check-fmt: checking 534 files ``` ### `scripts/zb build --summary all` (exit 0) ```text ... (earlier output omitted) | +- compile lib tree-sitter debug native (reused) | +- compile lib freetype debug native (reused) | +- compile lib tree-sitter debug native (reused) | +- options (reused) | +- options (reused) | +- translate-c dvui-c cached | | +- compile exe translate-c debug native (+21 more reused dependencies) | +- options cached | +- options cached +- install text cached | +- compile lib text debug native cached 11ms MaxRSS:40M | +- WriteFile plugin_root.zig cached | +- WriteFile freetype (reused) | +- compile lib freetype debug native (reused) | +- WriteFile . (reused) | +- compile lib tree-sitter debug native (reused) | +- compile lib freetype debug native (reused) | +- compile lib tree-sitter debug native (reused) | +- options (reused) | +- translate-c dvui-c (+1 more reused dependencies) | +- options (reused) | +- options (reused) +- install markdown cached | +- compile lib markdown debug native cached 11ms MaxRSS:37M | +- WriteFile plugin_root.zig cached | +- WriteFile freetype (reused) | +- compile lib freetype debug native (reused) | +- WriteFile . (reused) | +- compile lib tree-sitter debug native (reused) | +- compile lib freetype debug native (reused) | +- compile lib tree-sitter debug native (reused) | +- options (reused) | +- translate-c dvui-c (+1 more reused dependencies) | +- options (reused) | +- options (reused) | +- translate-c (reused) +- install image cached +- compile lib image debug native cached 12ms MaxRSS:36M +- WriteFile plugin_root.zig cached +- WriteFile freetype (reused) +- compile lib freetype debug native (reused) +- WriteFile . (reused) +- compile lib tree-sitter debug native (reused) +- compile lib freetype debug native (reused) +- compile lib tree-sitter debug native (reused) +- options (reused) +- translate-c dvui-c (+1 more reused dependencies) +- options (reused) +- options (reused) ``` ### `scripts/zb build test --summary all` (exit 0) ```text ... (earlier output omitted) +- WriteFile freetype cached +- compile lib freetype debug native cached 12ms MaxRSS:39M +- WriteFile . cached +- compile lib tree-sitter debug native cached 11ms MaxRSS:39M +- compile lib freetype debug native (reused) +- compile lib tree-sitter debug native (reused) +- translate-c dvui-c cached | +- compile exe translate-c debug native cached 3ms MaxRSS:39M | +- options cached | +- options cached | +- options cached | +- run exe generate-def (aarch64.zig) cached | | +- compile exe generate-def debug native cached 5ms MaxRSS:39M | +- run exe generate-def (amdgcn.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (arm.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (bpf.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (common.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (hexagon.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (loongarch.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (mips.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (neon.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (nvptx.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (powerpc.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (riscv.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (s390x.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (ve.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (wasm.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (x86_64.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (x86.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (xcore.zig) cached | +- compile exe generate-def debug native (reused) +- options cached +- options cached ``` ### `scripts/zb build test-integration --summary all` (exit 0) ```text ... (earlier output omitted) | +- options (reused) | +- options (reused) +- run test fizzy-glass-tests cached | +- compile test fizzy-glass-tests debug native cached 15ms MaxRSS:39M | +- WriteFile freetype (reused) | +- compile lib freetype debug native (reused) | +- WriteFile . (reused) | +- compile lib tree-sitter debug native (reused) | +- compile lib freetype debug native (reused) | +- compile lib tree-sitter debug native (reused) | +- translate-c dvui-c (+1 more reused dependencies) | +- options (reused) | +- options (reused) +- run test fizzy-plugin-loader-tests 2 pass (2 total) 8ms MaxRSS:11M | +- compile test fizzy-plugin-loader-tests debug native success 2s MaxRSS:254M | +- WriteFile freetype (reused) | +- compile lib freetype debug native (reused) | +- WriteFile . (reused) | +- compile lib tree-sitter debug native (reused) | +- compile lib freetype debug native (reused) | +- compile lib tree-sitter debug native (reused) | +- translate-c dvui-c (+1 more reused dependencies) | +- options (reused) | +- options (reused) +- run test fizzy-text-plugin-tests 101 pass (101 total) 284ms MaxRSS:15M | +- compile test fizzy-text-plugin-tests debug native success 3s MaxRSS:354M | +- options (reused) | +- WriteFile freetype (reused) | +- compile lib freetype debug native (reused) | +- WriteFile . (reused) | +- compile lib tree-sitter debug native (reused) | +- compile lib freetype debug native (reused) | +- compile lib tree-sitter debug native (reused) | +- translate-c dvui-c (+1 more reused dependencies) | +- options (reused) | +- options (reused) +- run test fizzy-workbench-plugin-tests 1 pass (1 total) 15ms MaxRSS:10M +- compile test fizzy-workbench-plugin-tests debug native success 746ms MaxRSS:181M +- options (reused) +- options (reused) +- WriteFile freetype (reused) +- compile lib freetype debug native (reused) +- WriteFile . (reused) +- compile lib tree-sitter debug native (reused) +- compile lib freetype debug native (reused) +- compile lib tree-sitter debug native (reused) +- translate-c dvui-c (+1 more reused dependencies) +- options (reused) +- options (reused) ``` ### `scripts/zb build check-web --summary all` (exit 0) ```text ... (earlier output omitted) | | +- run exe generate-def (amdgcn.zig) cached | | | +- compile exe generate-def debug native (reused) | | +- run exe generate-def (arm.zig) cached | | | +- compile exe generate-def debug native (reused) | | +- run exe generate-def (bpf.zig) cached | | | +- compile exe generate-def debug native (reused) | | +- run exe generate-def (common.zig) cached | | | +- compile exe generate-def debug native (reused) | | +- run exe generate-def (hexagon.zig) cached | | | +- compile exe generate-def debug native (reused) | | +- run exe generate-def (loongarch.zig) cached | | | +- compile exe generate-def debug native (reused) | | +- run exe generate-def (mips.zig) cached | | | +- compile exe generate-def debug native (reused) | | +- run exe generate-def (neon.zig) cached | | | +- compile exe generate-def debug native (reused) | | +- run exe generate-def (nvptx.zig) cached | | | +- compile exe generate-def debug native (reused) | | +- run exe generate-def (powerpc.zig) cached | | | +- compile exe generate-def debug native (reused) | | +- run exe generate-def (riscv.zig) cached | | | +- compile exe generate-def debug native (reused) | | +- run exe generate-def (s390x.zig) cached | | | +- compile exe generate-def debug native (reused) | | +- run exe generate-def (ve.zig) cached | | | +- compile exe generate-def debug native (reused) | | +- run exe generate-def (wasm.zig) cached | | | +- compile exe generate-def debug native (reused) | | +- run exe generate-def (x86_64.zig) cached | | | +- compile exe generate-def debug native (reused) | | +- run exe generate-def (x86.zig) cached | | | +- compile exe generate-def debug native (reused) | | +- run exe generate-def (xcore.zig) cached | | +- compile exe generate-def debug native (reused) | +- options cached | +- options cached | +- options cached | +- options cached | +- options cached | +- options cached | +- options cached | +- options cached | +- options cached | +- options cached | +- translate-c cached 13ms MaxRSS:34M +- compile obj rehome-fixture-web debug wasm32-freestanding success 45ms MaxRSS:105M +- translate-c dvui-c (+1 more reused dependencies) +- options (reused) +- options (reused) ``` ### `scripts/zb build test-sdk-version --summary all` (exit 0) ```text ... (earlier output omitted) +- WriteFile . cached +- compile lib tree-sitter debug native cached 9ms MaxRSS:34M +- compile lib freetype debug native (reused) +- compile lib tree-sitter debug native (reused) +- options cached +- options cached +- translate-c dvui-c cached | +- compile exe translate-c debug native cached 5ms MaxRSS:39M | +- options cached | +- options cached | +- options cached | +- run exe generate-def (aarch64.zig) cached | | +- compile exe generate-def debug native cached 5ms MaxRSS:35M | +- run exe generate-def (amdgcn.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (arm.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (bpf.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (common.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (hexagon.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (loongarch.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (mips.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (neon.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (nvptx.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (powerpc.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (riscv.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (s390x.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (ve.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (wasm.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (x86_64.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (x86.zig) cached | | +- compile exe generate-def debug native (reused) | +- run exe generate-def (xcore.zig) cached | +- compile exe generate-def debug native (reused) +- options cached +- options cached ``` </details> --------- Co-authored-by: fizzy-linux[bot] <346940526+fizzy-linux[bot]@users.noreply.github.com> Co-authored-by: fizzy-windows[bot] <347008912+fizzy-windows[bot]@users.noreply.github.com> Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Part of fizzyedit/work#335
Changes
PM: this lands MichaelBelousov's #834 commit fe294e6 unchanged (his authorship kept) plus one commit (6b7f323) that only adds the
anytypereason comment atsdk/plugin_sdk.zig. The file list above is the PR's real diff; the earlier list was computed against an old base.Gates
scripts/check-fmt.sh(exit 0)scripts/zb build --summary all(exit 0)scripts/zb build test --summary all(exit 0)scripts/zb build test-integration --summary all(exit 0)scripts/zb build check-web --summary all(exit 0)scripts/zb build test-sdk-version --summary all(exit 0)