Skip to content

update-vlang-graph: delete the linker's manifest sidecars after a build - #143

Merged
quaesitor-scientiam merged 1 commit into
masterfrom
remove-build-manifests
Oct 29, 2026
Merged

quaesitor-scientiam merged 1 commit into
masterfrom
remove-build-manifests

Conversation

@quaesitor-scientiam

Copy link
Copy Markdown
Owner

Summary

The Windows linker writes a <exe>.manifest beside each exe it builds. build_one renames the build into place and never removed that sidecar, so every build left files such as bin/graphify.exe.new.exe.manifest behind, untracked (bin/*.new in .gitignore doesn't match them).

build_one now deletes the sidecars after a successful swap:

  • tmp + '.manifest' (the sidecar of the .new.exe it just built), and
  • out + '.manifest' (any older sidecar of the final name).

Checks

  • The sidecar is named after the temporary file. Built a hello-world exe the same way, renamed it, deleted hello.new.exe.manifest, and the exe still ran (printed hi, exit 0).
  • The removal is best-effort (or {}), like the other cleanup in build_one. A failure leaves litter but cannot fail a build.
  • A failed build can leave <name>.new.exe.manifest behind. The next successful build of the same binary uses the same temporary name, so it removes it then.
  • bin/update-vlang-graph.vsh compiles with v build.

Review: /vreview, standard mode, full-file read of the script; the swallowed-write detector reports no findings.

🧙 Built with WOZCODE

The Windows linker writes a `<exe>.manifest` beside each exe it builds. build_one
renames the build into place and never removed the sidecar, so every build left
`graphify.exe.new.exe.manifest` and similar files in bin/, untracked. The manifest
is already embedded in the exe, which runs without the sidecar (checked with a
hello-world build), so build_one now removes the sidecars after the swap. Removal
is best-effort, as the other cleanup in build_one is, so a failure leaves litter
but doesn't fail the build.

Co-Authored-By: WOZCODE <contact@withwoz.com>
@quaesitor-scientiam
quaesitor-scientiam merged commit 0c312d9 into master Oct 29, 2026
14 checks passed
@quaesitor-scientiam
quaesitor-scientiam deleted the remove-build-manifests branch October 29, 2026 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants