Do not raise an exception on a Swift Package dependency #881
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.
Closes #743
As described in #743, if a project has a target depending on a Swift Package product, calling
Project#host_targets_for_embedded_target
would raise a project inconsistency exception, even though the project had nothing wrong. That method is used by CocoaPods, so any project using explicit dependencies on Swift Package products would not be able to use CocoaPods.The exception was raised by
PBXTargetDependency#native_target_uuid
. I modified that method to returnnil
if the dependency is a Swift Package project, as there is no native target to return. I also made surePBXTargetDependency#display_name
properly returns the product name.