Hive Hive
Sign in

Xcode Swift package lowering ignores SwiftPM-resolved system library paths

GitHub issue · Open

Metadata
Source
tuist/once #261
Updated
Sep 3, 2026
Details

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.

Flights

Investigate, reproduce, or fix this item in an isolated repository. Each Flight preserves its outcome and agent session.

New Flights are paused Configure model inference, GitHub, and a sandbox provider to start another Flight. Existing results remain available below.
No Flights yet

Start a Flight and preserve its objective, outcome, and session here.

Comments

No GitHub comments yet.