Hive Hive
Sign in

feat(graph/apple): multi-arch, swift_macro, .hmap, and select() for apple_library

GitHub issue · Closed

Metadata
Source
tuist/once #88
Updated
Jun 24, 2026
Domains
Once
Details

Summary

  • Build out the four “Not yet implemented” features the Apple graph guide previously listed: multi-arch + lipo fan-out, a swift_macro rule plus auto-loaded compiler plugins on apple_library, binary .hmap emission alongside the modulemap, and a manifest-level select() runtime for configurable = True attributes.
  • Keep all toolchain knowledge in the Starlark prelude. Rust gains one new generic primitive, write_bytes(path, list[int]), used by the prelude to emit the Apple header-map binary; the format itself is constructed in Starlark. The hardcoded APPLE_RULES export name is now the generic RULES, and the executor docstring states explicitly that Rust has no knowledge of the build systems composed on top of its primitives.
  • Apple graph docs updated to match: the rules list is split into “Implemented” (apple_library, swift_macro) and “Declared, awaiting implementation” (the bundle / app / test-host kinds), the agent workflows section is removed, and a Configurable attributes section documents the TOML select shape.

Testing

  • cargo test -p once-frontend (60 passed)
  • cargo check --workspace
Comments

No GitHub comments yet.