Ensure TARGET_TEMP_DIR values do not collide when package PIF targets differ only in case#982
Uh oh!
There was an error while loading. Please reload this page.
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.
It turns out that SwiftPM will allow a package to have targets/products whose names only differ in case (and this is somewhat common in real packages), which could cause TARGET_TEMP_DIR collisions and build failures on case-insensitive filesystems like APFS on macOS. Introduce a TARGET_NAME_DISCRIMINANT which is used to differentiate these only when the collision exists.
Notably this isn't enough to solve the issue of colliding products in every case, but it's a necessary prerequisite.
Closes https://github.com/MobileNativeFoundation/XCLogParser.git