Hive Hive
Sign in

Fixed external SwiftPM builds with symlinked .build/checkouts

Metadata
Source
GitHub
Version
4.195.7
Published
May 26, 2026 · 14:39 UTC
Repository
tuist/tuist
Update

Projects that consume external SwiftPM packages with custom module maps no longer fail to build when .build/checkouts is symlinked to a cache volume, a common CI setup. Starting with Xcode 26.5, the explicit-modules dependency scanner resolves symlinks before opening paths, so the previous module-map flags anchored on $(SRCROOT)/../../tuist-derived/… could escape into the cache volume and produce a ‘module map file … not found’ error. Tuist now anchors those generated module-map paths to $(PROJECT_DIR) for external SwiftPM packages, which keeps the path inside the tuist-derived directory and avoids traversing the symlinked checkouts tree. The literal $(PROJECT_DIR) token stays machine-portable, so binary cache and selective-testing hashes remain consistent across machines. The change’s