Skip to content
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

Xcode 12.5 - Fix SPM binary dependency explicit requirement #636

Merged
merged 34 commits into from
Jun 24, 2021

Conversation

scannillo
Copy link
Contributor

@scannillo scannillo commented Feb 22, 2021

Summary of changes

  • Xcode 12.5 beta2 fixes an issue which required us to 1) expose our binary dependencies (PPRiskMagnes & KountDataCollector) as product libraries and to 2) have merchants explicitly include them via SPM
  • Now, SPM merchants only need to check a single box (PayPalDataCollector or BraintreeDataColletor) to get the target and its binary dependency
  • Xcode 12.5 beta removes the workaround needed for removing a duplicate copy of the libKountDataCollector.a framework.

Notes

  • I opted to for "Braintree via SPM requires XCode 12.5", instead of us keeping our workarounds for XCode 12.4 merchants. Let me know if y'all prefer otherwise.

Checklist

  • Added a changelog entry
  • Confirm CI on MacOS 11 works

Authors

@scannillo

@scannillo scannillo requested a review from a team as a code owner February 22, 2021 20:10
@scannillo scannillo marked this pull request as draft February 22, 2021 20:11
@scannillo scannillo force-pushed the spm-binary-fix-xcode12-5 branch from e5fd3ae to 8968262 Compare February 22, 2021 20:24
@scannillo scannillo marked this pull request as ready for review February 22, 2021 20:43
@sestevens
Copy link
Contributor

My only hesitation with this is that since Xcode 12.5 requires Big Sur, merchants who use SPM but can't upgrade to Big Sur (for whatever reason) won't be able to upgrade their Braintree integrations.

@scannillo
Copy link
Contributor Author

@sestevens My only hesitation with this is that since Xcode 12.5 requires Big Sur, merchants who use SPM but can't upgrade to Big Sur (for whatever reason) won't be able to upgrade their Braintree integrations.

I understand this concern. My first pass on this PR was how do we maintain support for XCode 12.4 as well as introduce the 12.5 fixes for merchants who can update. Then I thought ... nah, merchants can figure out how to upgrade if they want to get these fixes. We can only offer so many workarounds to these package manager bugs, and if Apple released a fix it is OK if we are tightly coupled to whatever version Apple provides that fix in.

Let me know if that makes sense!

@scannillo
Copy link
Contributor Author

Update - we are still waiting on GH Actions to release Mac OS 11 to their CI.

@JetForMe
Copy link

Update - we are still waiting on GH Actions to release Mac OS 11 to their CI.

You should do what we're going to try to do: host our own private runner to point the GH action to.

@JackoPlane
Copy link

@scannillo Since this is effecting the drop in component as well, Is there any provided workaround for the Drop in project? Maybe even a branch of the drop in repo that has SPM pointing to this branch until GH Actions release macOS 11

Samantha Cannillo and others added 3 commits June 2, 2021 16:17
Signed-off-by: Samantha Cannillo <samantha.cannillo@getbraintree.com>
…ement

Signed-off-by: Samantha Cannillo <samantha.cannillo@getbraintree.com>
sestevens and others added 8 commits June 2, 2021 16:40
Signed-off-by: Samantha Cannillo <samantha.cannillo@getbraintree.com>
…S version since BigSur isn't available yet)

Signed-off-by: Samantha Cannillo <samantha.cannillo@getbraintree.com>
Signed-off-by: Sarah Koop <skoop@paypal.com>
Signed-off-by: Sarah Koop <skoop@paypal.com>
Samantha Cannillo added 2 commits June 22, 2021 14:22
Signed-off-by: Sarah Koop <skoop@paypal.com>
…ase.yml

Signed-off-by: Sarah Koop <skoop@paypal.com>
@scannillo scannillo force-pushed the spm-binary-fix-xcode12-5 branch from cec7a10 to ae79f18 Compare June 22, 2021 19:28
Samantha Cannillo added 3 commits June 22, 2021 14:29
Signed-off-by: Sarah Koop <skoop@paypal.com>
…in READMEs

Signed-off-by: Sarah Koop <skoop@paypal.com>
Signed-off-by: Sarah Koop <skoop@paypal.com>
CHANGELOG.md Outdated
Comment on lines 4 to 5
* Re-add `BraintreeCore` dependency to `PayPalDataCollector` for Swift Package Manager archive issue workaround (fixes #679)
* Remove SPM product libraries for `KountDataCollector` and `PPRiskMagnes` (this was a workaround for an Xcode bug discussed in #576; bug resolved in Xcode 12.5)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Re-add `BraintreeCore` dependency to `PayPalDataCollector` for Swift Package Manager archive issue workaround (fixes #679)
* Remove SPM product libraries for `KountDataCollector` and `PPRiskMagnes` (this was a workaround for an Xcode bug discussed in #576; bug resolved in Xcode 12.5)
* Swift Package Manager
* Re-add `BraintreeCore` dependency to `PayPalDataCollector` for Swift Package Manager archive issue workaround (fixes #679)
* Remove SPM product libraries for `KountDataCollector` and `PPRiskMagnes` (this was a workaround for an Xcode bug discussed in #576; bug resolved in Xcode 12.5)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be nice to group both of these under Swift Package Manager.

Also, maybe we should add a note in the changelog calling out that merchants using SPM can delete the Kount run script and remove the explicit dependencies on KountDataCollector and PPRiskMagnes?

And shouldn't CardinalMobile be listed here too?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good callouts - I made an update, let me know what you think!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@scannillo scannillo merged commit 19027dd into master Jun 24, 2021
@scannillo scannillo deleted the spm-binary-fix-xcode12-5 branch November 18, 2021 04:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants