Skip to content

Commit f09930a

Browse files
fix: align kit dependency declarations and fix release-draft sed patterns (#684)
* fix: align kit dependency declarations and fix release-draft sed patterns - Fix Package.swift sed to handle both single-line and multi-line .package() declarations when updating mParticle-Apple-SDK dependency on major release - Fix podspec sed to match dependency with or without /mParticle subspec - Standardize all kit podspecs to use bare 'mParticle-Apple-SDK' (default subspec resolves to mParticle automatically) - Reformat 4 single-line Package.swift declarations to consistent multi-line style (radar, comscore, clevertap, branchmetrics) Made-with: Cursor * feat: add pod publish script * docs: update RELEASE.md and add pod publish script Rewrite RELEASE.md to reflect the current two-workflow release process and document the manual CocoaPods publish step using the new script. Made-with: Cursor * adjust trunk issues * fix: run background pod pushes in parent shell Made-with: Cursor * fix(ci): propagate background pod trunk push failures Collect each background job's PID and call wait per-PID so any non-zero exit code is captured and causes the script to exit 1. set -e does not apply to background processes, so bare wait always returned 0 regardless of child failures. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(rokt-kit): update to RoktPlacementOptions API from rokt-contracts-apple PlacementOptions was renamed to RoktPlacementOptions and moved to the rokt-contracts-apple shared contracts package in rokt-sdk-ios commit fe4c9b6. The new constructor is init(timestamp:) rather than init(jointSdkSelectPlacements:dynamicPerformanceMarkers:). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(rokt-kit): update ObjC API names for rokt-contracts-apple move Types moved from Rokt_Widget to rokt-contracts-apple and received new ObjC names via @objc() attributes. Update imports and rename: - Add @import RoktContracts (RoktEmbeddedView, RoktPlacementOptions now in this module) - InitComplete -> RoktInitComplete - Builder -> RoktConfigBuilder - CacheConfig -> RoktCacheConfig Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(rokt-kit): rename all RoktEvent subclasses to Rokt-prefixed ObjC names All RoktEvent subclass inner classes received explicit @objc() names in rokt-contracts-apple (rokt-sdk-ios PR #101). Update all usages in MPKitRokt.m to the new ObjC names: - ShowLoadingIndicator -> RoktShowLoadingIndicator - HideLoadingIndicator -> RoktHideLoadingIndicator - PlacementReady/Interactive/Closed/Completed/Failure -> Rokt* variants - OfferEngagement/PositiveEngagement/FirstPositiveEngagement -> Rokt* variants - OpenUrl -> RoktOpenUrl - EmbeddedSizeChanged -> RoktEmbeddedSizeChanged - CartItemInstantPurchase* / InstantPurchaseDismissal / CartItemDevicePay -> Rokt* variants - ColorMode -> RoktColorMode Build verified locally: ** BUILD SUCCEEDED ** Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(ci): fix ObjC test compilation errors after RoktContracts source migration Add @import RoktContracts to expose RoktEvent, RoktEmbeddedView and RoktPlacementOptions (moved from binary Rokt_Widget to source-based RoktContracts). Update PlacementOptions → RoktPlacementOptions and ShowLoadingIndicator → RoktShowLoadingIndicator to match @objc names. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent d77e28f commit f09930a

File tree

37 files changed

+172
-156
lines changed

37 files changed

+172
-156
lines changed

.github/workflows/release-draft.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,16 +90,21 @@ jobs:
9090
- name: Update kit dependency on core SDK for major release
9191
if: github.event.inputs.bump-type == 'major'
9292
run: |
93-
# Podspec: '~> X.Y' → '~> MAJOR.0'
93+
# Podspec: '~> X.Y' → '~> MAJOR.0' (handles with or without /mParticle subspec)
9494
find Kits -name "*.podspec" -exec \
95-
sed -i '' "s/'mParticle-Apple-SDK', '~> [^']*'/'mParticle-Apple-SDK', '~> ${MAJOR}.0'/" {} +
95+
sed -i '' "s/\('mParticle-Apple-SDK[^']*'\), '~> [^']*'/\1, '~> ${MAJOR}.0'/" {} +
9696
97-
# Package.swift: .upToNextMajor(from: "X.Y.Z") → .upToNextMajor(from: "MAJOR.0.0")
97+
# Package.swift: branch/upToNextMajor → .upToNextMajor(from: "MAJOR.0.0")
98+
# Handles both single-line and multi-line .package() declarations
9899
find Kits -name "Package.swift" -exec \
99100
sed -i '' "/mparticle-apple-sdk/{
100-
n
101+
s/branch: \"[^\"]*\"/.upToNextMajor(from: \"${MAJOR}.0.0\")/
102+
t
101103
s/.upToNextMajor(from: \"[^\"]*\")/.upToNextMajor(from: \"${MAJOR}.0.0\")/
104+
t
105+
n
102106
s/branch: \"[^\"]*\"/.upToNextMajor(from: \"${MAJOR}.0.0\")/
107+
s/.upToNextMajor(from: \"[^\"]*\")/.upToNextMajor(from: \"${MAJOR}.0.0\")/
103108
}" {} +
104109
105110
- name: Generate changelog entry

Kits/adjust/adjust-5/mParticle-Adjust-5.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ Pod::Spec.new do |s|
1414
s.tvos.deployment_target = "15.6"
1515
s.source_files = 'Sources/mParticle-Adjust/**/*.{h,m,mm}'
1616
s.resource_bundles = { 'mParticle-Adjust-5-Privacy' => ['Sources/mParticle-Adjust/PrivacyInfo.xcprivacy'] }
17-
s.dependency 'mParticle-Apple-SDK/mParticle', '~> 9.0'
17+
s.dependency 'mParticle-Apple-SDK', '~> 9.0'
1818
s.dependency 'Adjust', '~> 5.0'
1919
end

Kits/adobe/adobe-5/mParticle-Adobe-5.podspec

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@ Pod::Spec.new do |s|
2020
s.subspec 'Adobe' do |ss|
2121
ss.ios.source_files = 'Sources/mParticle-Adobe/**/*.{h,m,mm}'
2222
ss.ios.resource_bundles = { 'mParticle-Adobe-5-Privacy' => ['Sources/mParticle-Adobe/PrivacyInfo.xcprivacy'] }
23-
ss.ios.dependency 'mParticle-Apple-SDK/mParticle', '~> 9.0'
23+
ss.ios.dependency 'mParticle-Apple-SDK', '~> 9.0'
2424
ss.tvos.source_files = 'Sources/mParticle-Adobe/**/*.{h,m,mm}'
2525
ss.tvos.resource_bundles = { 'mParticle-Adobe-5-Privacy' => ['Sources/mParticle-Adobe/PrivacyInfo.xcprivacy'] }
26-
ss.tvos.dependency 'mParticle-Apple-SDK/mParticle', '~> 9.0'
26+
ss.tvos.dependency 'mParticle-Apple-SDK', '~> 9.0'
2727
end
2828

2929
s.subspec 'AdobeMedia' do |ss|
3030
ss.ios.source_files = 'Sources/mParticle-AdobeMedia/**/*.{h,m,mm}'
3131
ss.ios.resource_bundles = { 'mParticle-Adobe-5-Media-Privacy' => ['Sources/mParticle-AdobeMedia/PrivacyInfo.xcprivacy'] }
32-
ss.ios.dependency 'mParticle-Apple-SDK/mParticle', '~> 9.0'
32+
ss.ios.dependency 'mParticle-Apple-SDK', '~> 9.0'
3333
ss.ios.dependency 'mParticle-Apple-Media-SDK'
3434
ss.ios.dependency 'AEPCore', '~> 5.0'
3535
ss.ios.dependency 'AEPUserProfile', '~> 5.0'
@@ -41,6 +41,6 @@ Pod::Spec.new do |s|
4141
# AdobeMedia not supported on tvOS; fall back to Adobe source
4242
ss.tvos.source_files = 'Sources/mParticle-Adobe/**/*.{h,m,mm}'
4343
ss.tvos.resource_bundles = { 'mParticle-Adobe-5-Privacy' => ['Sources/mParticle-Adobe/PrivacyInfo.xcprivacy'] }
44-
ss.tvos.dependency 'mParticle-Apple-SDK/mParticle', '~> 9.0'
44+
ss.tvos.dependency 'mParticle-Apple-SDK', '~> 9.0'
4545
end
4646
end

Kits/appsflyer/appsflyer-6/mParticle-AppsFlyer-6.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ Pod::Spec.new do |s|
1414
s.ios.deployment_target = "15.6"
1515
s.ios.source_files = 'Sources/mParticle-AppsFlyer/**/*.{h,m,mm}'
1616
s.ios.resource_bundles = { 'mParticle-AppsFlyer-6-Privacy' => ['Sources/mParticle-AppsFlyer/PrivacyInfo.xcprivacy'] }
17-
s.ios.dependency 'mParticle-Apple-SDK/mParticle', '~> 9.0'
17+
s.ios.dependency 'mParticle-Apple-SDK', '~> 9.0'
1818
s.ios.dependency 'AppsFlyerFramework', '~> 6.0'
1919
end

Kits/apptentive/apptentive-6/mParticle-Apptentive-6.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ Pod::Spec.new do |s|
1313
s.ios.deployment_target = "15.6"
1414
s.ios.source_files = 'Sources/mParticle-Apptentive/**/*.{h,m,mm}'
1515
s.ios.resource_bundles = { 'mParticle-Apptentive-6-Privacy' => ['Sources/mParticle-Apptentive/PrivacyInfo.xcprivacy'] }
16-
s.ios.dependency 'mParticle-Apple-SDK/mParticle', '~> 9.0'
16+
s.ios.dependency 'mParticle-Apple-SDK', '~> 9.0'
1717
s.ios.dependency 'ApptentiveKit', '~> 6.6'
1818
end

Kits/apptimize/apptimize-3/mParticle-Apptimize-3.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ Pod::Spec.new do |s|
1313
s.ios.deployment_target = "15.6"
1414
s.ios.source_files = 'Sources/mParticle-Apptimize/**/*.{h,m,mm}'
1515
s.ios.resource_bundles = { 'mParticle-Apptimize-3-Privacy' => ['Sources/mParticle-Apptimize/PrivacyInfo.xcprivacy'] }
16-
s.ios.dependency 'mParticle-Apple-SDK/mParticle', '~> 9.0'
16+
s.ios.dependency 'mParticle-Apple-SDK', '~> 9.0'
1717
s.ios.dependency 'Apptimize', '~> 3.5'
1818
end

Kits/branchmetrics/branchmetrics-3/Package.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ let package = Package(
99
.library(name: "mParticle-BranchMetrics", targets: ["mParticle-BranchMetrics"])
1010
],
1111
dependencies: [
12-
.package(url: "https://github.com/mParticle/mparticle-apple-sdk", branch: "workstation/9.0-Release"),
12+
.package(
13+
url: "https://github.com/mParticle/mparticle-apple-sdk",
14+
branch: "workstation/9.0-Release"
15+
),
1316
.package(url: "https://github.com/BranchMetrics/ios-branch-sdk-spm", .upToNextMajor(from: "3.4.1"))
1417
],
1518
targets: [

Kits/branchmetrics/branchmetrics-3/mParticle-BranchMetrics-3.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ Pod::Spec.new do |s|
1313
s.ios.deployment_target = "15.6"
1414
s.ios.source_files = 'Sources/mParticle-BranchMetrics/**/*.{h,m,mm}'
1515
s.ios.resource_bundles = { 'mParticle-BranchMetrics-3-Privacy' => ['Sources/mParticle-BranchMetrics/PrivacyInfo.xcprivacy'] }
16-
s.ios.dependency 'mParticle-Apple-SDK/mParticle', '~> 9.0'
16+
s.ios.dependency 'mParticle-Apple-SDK', '~> 9.0'
1717
s.ios.dependency 'BranchSDK', '~> 3.4'
1818
end

Kits/braze/braze-12/mParticle-Braze-12.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Pod::Spec.new do |s|
1616
s.tvos.deployment_target = "15.6"
1717
s.source_files = 'Sources/mParticle-Braze/**/*.{h,m,mm}'
1818
s.resource_bundles = { 'mParticle-Braze-12-Privacy' => ['Sources/mParticle-Braze/PrivacyInfo.xcprivacy'] }
19-
s.dependency 'mParticle-Apple-SDK/mParticle', '~> 9.0'
19+
s.dependency 'mParticle-Apple-SDK', '~> 9.0'
2020
s.dependency 'BrazeKit', '~> 12.0'
2121
s.dependency 'BrazeKitCompat', '~> 12.0'
2222
s.ios.dependency 'BrazeUI', '~> 12.0'

Kits/braze/braze-13/mParticle-Braze-13.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Pod::Spec.new do |s|
1616
s.tvos.deployment_target = "15.6"
1717
s.source_files = 'Sources/mParticle-Braze/**/*.{h,m,mm}'
1818
s.resource_bundles = { 'mParticle-Braze-13-Privacy' => ['Sources/mParticle-Braze/PrivacyInfo.xcprivacy'] }
19-
s.dependency 'mParticle-Apple-SDK/mParticle', '~> 9.0'
19+
s.dependency 'mParticle-Apple-SDK', '~> 9.0'
2020
s.dependency 'BrazeKit', '~> 13.0'
2121
s.dependency 'BrazeKitCompat', '~> 13.0'
2222
s.ios.dependency 'BrazeUI', '~> 13.0'

0 commit comments

Comments
 (0)