Skip to content

feat: rename podspecs to umbrella + ObjC core#733

Merged
denischilik merged 18 commits into
mainfrom
feat/update_podspecs_names
Apr 9, 2026
Merged

feat: rename podspecs to umbrella + ObjC core#733
denischilik merged 18 commits into
mainfrom
feat/update_podspecs_names

Conversation

@denischilik
Copy link
Copy Markdown
Contributor

Summary

Restructures CocoaPods so the public pod mParticle-Apple-SDK matches the Swift umbrella (same module as SPM product mParticle-Apple-SDK), and introduces mParticle-Apple-SDK-ObjC for the ObjC core.

Changes

  • mParticle-Apple-SDK.podspec: Swift umbrella sources; depends on mParticle-Apple-SDK-ObjC + RoktContracts.
  • mParticle-Apple-SDK-ObjC.podspec: ObjC core (former root podspec content); module_name unchanged (mParticle_Apple_SDK_ObjC).
  • Removed mParticle-Apple-SDK-Umbrella.podspec (content folded into root podspec).
  • Updated release workflows, Scripts/release.sh, AGENTS.md, and Xcode project references.
  • Trunk push order: Swift → ObjC → umbrella.

Kit podspecs can keep depending on mParticle-Apple-SDK; ObjC remains transitive.

Made with Cursor

denischilik and others added 15 commits April 8, 2026 13:52
- Set mParticle-Apple-SDK pod module_name to mParticle_Apple_SDK_ObjC and
  mParticle-Apple-SDK-Umbrella to mParticle_Apple_SDK.
- Replace __has_include mParticle_Apple_SDK/mParticle.h blocks with
  @import mParticle_Apple_SDK_ObjC in kit headers, sources, tests, and
  Obj-C SPM examples.

Made-with: Cursor
Set CLANG_ENABLE_MODULES on mParticle-Apptimize and mParticle-Adobe project
configs. Replace @import mParticle_Apple_SDK_ObjC in kit public headers with
explicit umbrella imports so builds succeed when modules are disabled or for
Firebase/GA4 kits that need mParticle_Apple_SDK.h.

Made-with: Cursor
Revert bracket imports; keep using the ObjC module import with Clang modules
enabled where configured (e.g. Apptimize, Adobe Xcode projects).

Made-with: Cursor
- mParticle-Apple-SDK.podspec: Swift umbrella (public pod name unchanged)
- mParticle-Apple-SDK-ObjC.podspec: ObjC core (replaces former root podspec)
- Remove mParticle-Apple-SDK-Umbrella.podspec
- Update release workflows, release.sh, AGENTS.md, and Xcode project refs

Made-with: Cursor
@denischilik denischilik requested a review from a team as a code owner April 9, 2026 14:07
@cursor
Copy link
Copy Markdown

cursor Bot commented Apr 9, 2026

PR Summary

Medium Risk
Medium risk because it changes CocoaPods packaging/publish order and updates kit imports, which can break downstream consumers or CI linting if module names/dependencies are mismatched.

Overview
Restructures CocoaPods distribution into a Swift umbrella + ObjC core. The root mParticle-Apple-SDK.podspec is repurposed to ship only Swift umbrella sources and now depends on a new mParticle-Apple-SDK-ObjC.podspec, which contains the former ObjC core spec (and depends on mParticle-Apple-SDK-Swift).

Updates build/release automation to match the new pod layout. CI pod lint steps now include all three podspecs, release drafting bumps the new ObjC podspec version, and publishing pushes podspecs in dependency order (Swift pod → ObjC core → umbrella).

Aligns kits with the new module/import boundaries. Many kits’ ObjC headers/tests switch from conditional mParticle.h includes to @import mParticle_Apple_SDK_ObjC;, SPM ObjC example apps include <mParticle_Apple_SDK.h>, and a couple kit Xcode projects enable modules to support the module imports.

Reviewed by Cursor Bugbot for commit d2a4fa4. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 9, 2026

📦 SDK Size Impact Report

Measures how much the SDK adds to an app's size (with-SDK minus without-SDK).

Metric Target Branch This PR Change
App Bundle Impact 1.75 MB 1.75 MB +N/A
Executable Impact 848 bytes 848 bytes +N/A
XCFramework Size 6.38 MB 6.38 MB +N/A

➡️ SDK size impact change is minimal.

Raw measurements

Target branch (main):

{"baseline_app_size_kb":84,"baseline_executable_size_bytes":75464,"with_sdk_app_size_kb":1880,"with_sdk_executable_size_bytes":76312,"sdk_impact_kb":1796,"sdk_executable_impact_bytes":848,"xcframework_size_kb":6532}

This PR:

{"baseline_app_size_kb":84,"baseline_executable_size_bytes":75464,"with_sdk_app_size_kb":1880,"with_sdk_executable_size_bytes":76312,"sdk_impact_kb":1796,"sdk_executable_impact_bytes":848,"xcframework_size_kb":6532}

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 26719cf. Configure here.

@denischilik denischilik changed the title feat(cocoapods): rename podspecs to umbrella + ObjC core feat: rename podspecs to umbrella + ObjC core Apr 9, 2026
@denischilik denischilik force-pushed the feat/update_podspecs_names branch from 8838dac to 26719cf Compare April 9, 2026 15:55
thomson-t
thomson-t previously approved these changes Apr 9, 2026
* main:
  chore: remove stale Carthage and semantic-release artifacts (#730)

# Conflicts:
#	Scripts/release.sh
@denischilik denischilik requested a review from thomson-t April 9, 2026 17:26
@denischilik denischilik merged commit 7effb98 into main Apr 9, 2026
139 of 140 checks passed
@denischilik denischilik deleted the feat/update_podspecs_names branch April 9, 2026 18:00
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.

4 participants