-
Notifications
You must be signed in to change notification settings - Fork 52
Support universal binary framework #185
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support universal binary framework #185
Conversation
| case "-dependency_info": | ||
| dependencyInfo = args[i + 1] | ||
| i += 1 | ||
| case let input where ["", "a"].contains(URL(string: args[i])?.pathExtension): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here is the single line change that this PR introduces. Previously it was,
case let input where input.hasSuffix(".a"):There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To verify that a change would be caught: #186
9d88208 to
8201f77
Compare
| 'EXCLUDED_ARCHS' => 'arm64' | ||
| } | ||
| args = ['xcodebuild'] | ||
| args = ['set -o pipefail;', 'xcodebuild'] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
errors in xcodebuild were not failing a step as args.push("| tee #{LOG_NAME}") was swallowing an error.
This PR adds support for static frameworks with multiple architectures. If a static framework contains multiple architectures, input arguments to
libtooldo not have path extensions (contrary to static libraries, where.ais always used). XCRemoteCache to recognize input files by expecting '.a` extension. To support a case for static frameworks, this PR adds the same behavior where a file with no extension is passed.In this PR, an E2E test to cover a scenario described in #184 is added:
StaticFrameworkis addedStaticFrameworkfor WatchOS simulatorxcodebuildstep. Previously, failedxcodebuildwas not propagated, because| tee ..was swallowing an error.Refactoring&Fix summary:
Fixes #184