Skip to content

Conversation

@mokagio
Copy link
Contributor

@mokagio mokagio commented May 21, 2025

Description

See https://linear.app/a8c/issue/AINFRA-216 and its sub-issues.

This PR uses the set up established by #15654 to move all pods to SwiftPM, except for:

Steps to reproduce && Testing information

See green CI and that the prototype build for a spin.

Screenshots


  • I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.

@dangermattic
Copy link
Collaborator

dangermattic commented May 21, 2025

1 Warning
⚠️ This PR is larger than 300 lines of changes. Please consider splitting it into smaller PRs for easier and faster reviews.

Generated by 🚫 Danger

@mokagio mokagio force-pushed the ainfra-216-migrate-woocommerce-ios-from-cocoapods-to-spm branch 3 times, most recently from 703df05 to 0a09f7b Compare May 21, 2025 09:19
@wpmobilebot
Copy link
Collaborator

wpmobilebot commented May 21, 2025

App Icon📲 You can test the changes from this Pull Request in WooCommerce iOS Prototype by scanning the QR code below to install the corresponding build.

App NameWooCommerce iOS Prototype
Build Number30037
VersionPR #15658
Bundle IDcom.automattic.alpha.woocommerce
Commitdcabc22
Installation URL3u4gfc8o6rlh8
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@mokagio mokagio force-pushed the ainfra-216-migrate-woocommerce-ios-from-cocoapods-to-spm branch 7 times, most recently from 6d2ba1b to 336878b Compare May 22, 2025 21:41
269014D42BEA9335006056E0 /* UserAgent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45551F112523E7F1007EF104 /* UserAgent.swift */; };
26AE25F52C6C0A110032A600 /* Account.swift in Sources */ = {isa = PBXBuildFile; fileRef = B505F6CE20BEE38B00BB1B69 /* Account.swift */; };
26B15E442A269F79000C35E4 /* ip-location.json in Resources */ = {isa = PBXBuildFile; fileRef = 26B15E432A269F79000C35E4 /* ip-location.json */; };
26B542452BEAC6A6003A55B5 /* Pods_NetworkingWatchOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6132DCC72AA9C070E2033628 /* Pods_NetworkingWatchOS.framework */; };
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Most of the framework projects no longer have pods target, therefore a lot of CocoaPods plumbing has been removed from their project files.

But keep in mind, the project files will soon disappear, too, with the move of the frameworks to packages.

@@ -1,6 +1,15 @@
{
"originHash" : "9ea1ab4271974e9606eddf01e2528d962e975d6abd3fb314fae28d3eeeb07fe9",
"originHash" : "30ecaceed4e1b487697506426e20d60843bbce1a647790dd9bc8b78d8b2edcf7",
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I commented in #15654 that I'm surprised we still have the Package.resolved in the workspace when there are no longer package dependencies there, only the internal Modules package.

Xcode keeps generating this file, so there must be something still configured for it in there.

I'm delaying tackling this inconsistency till after having moved everything to SwiftPM. It should be simpler to diagnose then, with less moving parts in Xcode itself.

import Combine
import Foundation
import Kingfisher
import UIKit
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Some import required tweaking after the move to SwiftPM. I haven't investigate, but my guess is that the packaging and linking is slightly different and therefore some headers that were implicitly part of the linkage no longer are. As you can see, the footprint is small.

@mokagio mokagio added this to the 22.5 milestone May 22, 2025
@mokagio mokagio added the category: tooling Anything that involves building & maintaining the project, including scripts, `Fastfile`, etc. label May 22, 2025
@mokagio mokagio force-pushed the ainfra-216-migrate-woocommerce-ios-from-cocoapods-to-spm branch 2 times, most recently from 67239b8 to e6bd110 Compare May 23, 2025 01:53
@mokagio mokagio force-pushed the ainfra-216-migrate-woocommerce-ios-from-cocoapods-to-spm branch from e6bd110 to 487d618 Compare May 23, 2025 02:39
@mokagio mokagio marked this pull request as ready for review May 23, 2025 02:41
@mokagio mokagio force-pushed the ainfra-216-migrate-woocommerce-ios-from-cocoapods-to-spm branch from 41ac1c5 to dcabc22 Compare May 23, 2025 03:05
@mokagio mokagio requested review from a team May 23, 2025 03:08
@mokagio mokagio enabled auto-merge May 23, 2025 07:07
Copy link
Contributor

@staskus staskus left a comment

Choose a reason for hiding this comment

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

The project continues to work as before 👍

@mokagio mokagio merged commit 83c3b21 into trunk May 23, 2025
13 checks passed
@mokagio mokagio deleted the ainfra-216-migrate-woocommerce-ios-from-cocoapods-to-spm branch May 23, 2025 09:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category: tooling Anything that involves building & maintaining the project, including scripts, `Fastfile`, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants