This repository was archived by the owner on Feb 26, 2026. It is now read-only.
Merged
Conversation
0f53da1 to
ccb443c
Compare
462e749 to
c1703c8
Compare
c1703c8 to
7c326d6
Compare
fortmarek
commented
Feb 14, 2025
| packages: [String: AbsolutePath], | ||
| path: AbsolutePath | ||
| ) async throws -> Target { | ||
| // Some of the products, such as "regular" are approximations until XcodeGraph supports these SwiftPM-specific products |
Member
Author
There was a problem hiding this comment.
This is probably the weakest part of the PR. It might have been better to completely skip some targets like .plugin, but then they would not be represented for the hashing that should happen in selective testing. I'd rather not have ideal mapping here than skip those targets.
fortmarek
commented
Feb 14, 2025
Member
Author
There was a problem hiding this comment.
This is taken from tuist/tuist where it will be removed in favor of the definition here.
6 tasks
pepicrft
approved these changes
Feb 17, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds new functionality to
XcodeGraphMapperthat converts local package targets referenced by the Xcode project to Xcode targets. This translation is lossy in some cases – in other words, theTargetrepresentation is not a perfect representation of the package target.However, it's been the most straightforward way to unlock selective testing or
tuist graphto be usable also for local packages.The alternative to mapping a SwiftPM target to an Xcode target was to modify
Graphto not only holdprojects, but alsolocalPackages. The models in thelocalPackagesproperty would then be idiomatic to SwiftPM. However, intuist/tuist, this would mean a ton of refactoring to bring selective testing and graph for that part of the graph – as thegraphTraversercurrently works only with XcodeTargets.We can still consider doing that down the line, but I believe the current strategy brings the most value while being a good enough approximation of the SwiftPM part of the graph.