fix(cli): preserve module names for xcframework wrappers
GitHub issue · Closed
Source
tuist/tuist #10938
Domains
Generated projects
Summary
- Fix the SwiftPM wrapper regression where same-name source wrappers around
.xcframework binaries inherited the suffixed artifact name as their module name after the wrapper collision handling added in 4.181.1.
- Split wrapper artifact naming from module naming so Tuist can still emit
...Wrapper products to avoid ProcessXCFramework collisions while preserving the original import/module name via PRODUCT_MODULE_NAME and module-map flags.
- Add regression coverage for same-name wrapper targets, including the header and module-map path that local packages use.
Testing
xcodebuild test -workspace Tuist.xcworkspace -scheme TuistUnitTests -destination 'platform=macOS' -only-testing:TuistLoaderTests/PackageInfoMapperTests/map_whenWrapperTargetSharesProductNameWithBinaryXcframework_suffixesProductName -only-testing:TuistLoaderTests/PackageInfoMapperTests/map_whenWrapperTargetSharesProductNameWithBinaryXcframework_keepsOriginalModuleNameInModuleMap CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY='' COMPILATION_CACHE_ENABLE_CACHING=NO