Hive
Xcode Swift package lowering ignores SwiftPM-resolved system library paths
GitHub issue · Open
Summary
Once 0.50.0 fails to lower Swift package system-library targets when SwiftPM resolves the target outside the conventional Sources/<target> directory.
Public reproduction
Use an Xcode project that consumes awslabs/aws-crt-swift release v0.52.1.
Its manifest declares:
.systemLibrary(name: "LibNative")
The package contains:
Source/LibNative/module.modulemap
swift package dump-package reports the target as type system but omits its resolved path. Once consequently assumes Sources/LibNative and fails with (notice the “s” in Sources/):
Swift package system target `aws-crt-swift/LibNative` has no module.modulemap
SwiftPM reports the correct path through:
swift package \
--package-path <package-path> \
--disable-automatic-resolution \
describe \
--type json
which resolves LibNative to Source/LibNative (no “s” in Source/).
Expected behavior
Once should use SwiftPM-resolved target paths when dump-package omits them, rather than assuming Sources/<target>.
This should apply generically to Swift package targets and should not contain package-specific path handling.
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.