Hive
Local path package is no longer recognized as an external dependency after Tuist 4.193.0
GitHub issue · Open
What happened?
A project that models a local Swift package through Tuist’s XcodeProj-based external dependency integration no longer generates after upgrading Tuist.
The Example project declares the local package in Example/Tuist/Package.swift:
.package(path: "../../")
and consumes its product in Example/Project.swift:
.external(name: "OpenAttributeGraph")
The same project generates successfully with Tuist 4.193.0. With both 4.202.5 and 4.203.0-rc.1, generation fails because OpenAttributeGraph is not recognized as a configured external dependency.
I expected the existing local external dependency configuration to continue generating, or for the required migration to be documented.
This may be related to #6272, but this reproduction runs tuist install and tuist generate from the same Example root that contains Tuist/Package.swift; it is also a version regression from 4.193.0.
A working workaround is to migrate the dependency to native local Swift package integration:
packages: [
.package(path: ".."),
]
// Target dependency
.package(product: "OpenAttributeGraph")
The minimal migration diff is available in https://github.com/OpenSwiftUIProject/OpenAttributeGraph/pull/232.
How do we reproduce it?
The public OpenAttributeGraph repository can be used as the sample project:
- Clone
https://github.com/OpenSwiftUIProject/OpenAttributeGraph. - Check out commit
787779107f00a893b7de9937479dce03342d114f. - Change
Example/mise.tomlfrom Tuist4.193.0to4.203.0-rc.1. - Run:
cd Example
mise trust mise.toml
mise install
mise exec -- tuist install
mise exec -- tuist generate --no-open
- Observe the external dependency error.
Changing the pin back to 4.193.0 makes generation succeed. The failure also reproduces with 4.202.5.
Error log
`OpenAttributeGraph` is not a valid configured external dependency
macOS version
26.5.2
Tuist version
4.202.5 and 4.203.0-rc.1 (works with 4.193.0)
Xcode version
26.3 (17C529)
Investigate, reproduce, or fix this item in an isolated repository. Each Flight preserves its outcome and agent session.
Start a Flight and preserve its objective, outcome, and session here.
No GitHub comments yet.