Skip to content

Commit 90a6b6d

Browse files
buenaflorclaude
andcommitted
ref(apple)!: Rename the cinterop package prefix from cocoapods to cocoa
The bundled Sentry Cocoa cinterop package was named after the delivery mechanism, which became a misnomer once the Apple build moved from the Kotlin CocoaPods plugin to SwiftPM. Rename the prefix to cocoa, naming the platform SDK instead. This also disambiguates the bundled binding from a consumer's own pod("Sentry") cinterop, which always generates cocoapods.Sentry and previously collided with ours. BREAKING CHANGE: Code importing cocoapods.Sentry.* directly in Apple source sets must import cocoa.Sentry.* instead. Code using public SDK types such as SentryPlatformOptions is unaffected. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 608b76b commit 90a6b6d

19 files changed

Lines changed: 49 additions & 45 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,14 @@
22

33
## Unreleased
44

5+
### Breaking Changes
6+
7+
- Rename the bundled Sentry Cocoa cinterop package prefix from `cocoapods` to `cocoa` ([#557](https://github.com/getsentry/sentry-kotlin-multiplatform/pull/557))
8+
- If you imported `cocoapods.Sentry.*` directly in Apple source sets, replace it with `cocoa.Sentry.*`. Code using public SDK types such as `SentryPlatformOptions` is unaffected.
9+
510
### Internal
611

712
- Build the Apple SDK against Sentry Cocoa via SwiftPM (spm4Kmp) instead of the Kotlin CocoaPods plugin ([#557](https://github.com/getsentry/sentry-kotlin-multiplatform/pull/557))
8-
- The published klibs keep the `cocoapods.Sentry` import prefix, so no changes are required for consumers
913

1014
### Dependencies
1115

sentry-kotlin-multiplatform/build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,9 +159,9 @@ kotlin {
159159

160160
appleTargets.forEach { target ->
161161
target.swiftPackageConfig(cinteropName = "sentryCocoa") {
162-
// Keep the legacy Kotlin CocoaPods `cocoapods.Sentry.*` import prefix so
163-
// published klib symbols stay identical.
164-
packageDependencyPrefix = "cocoapods"
162+
// Part of the published klib API: consumers can import `cocoa.Sentry.*` directly,
163+
// so renaming this prefix is a breaking change.
164+
packageDependencyPrefix = "cocoa"
165165
minIos = Config.Cocoa.iosDeploymentTarget
166166
minMacos = Config.Cocoa.osxDeploymentTarget
167167
minTvos = Config.Cocoa.tvosDeploymentTarget

sentry-kotlin-multiplatform/src/appleMain/kotlin/io/sentry/kotlin/multiplatform/SentryApple.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package io.sentry.kotlin.multiplatform
22

33
import Internal.Sentry.SentryCrashMonitorTypeCPPException
44
import Internal.Sentry.SentryDependencyContainer
5-
import cocoapods.Sentry.SentrySDK
5+
import cocoa.Sentry.SentrySDK
66
import io.sentry.kotlin.multiplatform.nsexception.setSentryUnhandledExceptionHook
77

88
/** Convenience extension to setup unhandled exception hook */

sentry-kotlin-multiplatform/src/appleMain/kotlin/io/sentry/kotlin/multiplatform/SentryBridge.apple.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package io.sentry.kotlin.multiplatform
22

33
import Internal.Sentry.PrivateSentrySDKOnly
44
import Internal.Sentry.kSentryLevelError
5-
import cocoapods.Sentry.SentrySDK
5+
import cocoa.Sentry.SentrySDK
66
import io.sentry.kotlin.multiplatform.extensions.toCocoaBreadcrumb
77
import io.sentry.kotlin.multiplatform.extensions.toCocoaUser
88
import io.sentry.kotlin.multiplatform.extensions.toCocoaUserFeedback
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package io.sentry.kotlin.multiplatform
22

3-
import cocoapods.Sentry.SentryAttachment
4-
import cocoapods.Sentry.SentryBreadcrumb
5-
import cocoapods.Sentry.SentryEvent
6-
import cocoapods.Sentry.SentryException
7-
import cocoapods.Sentry.SentryId
8-
import cocoapods.Sentry.SentryLevel
9-
import cocoapods.Sentry.SentryMessage
10-
import cocoapods.Sentry.SentryOptions
11-
import cocoapods.Sentry.SentryScope
12-
import cocoapods.Sentry.SentryUser
13-
import cocoapods.Sentry.SentryUserFeedback
3+
import cocoa.Sentry.SentryAttachment
4+
import cocoa.Sentry.SentryBreadcrumb
5+
import cocoa.Sentry.SentryEvent
6+
import cocoa.Sentry.SentryException
7+
import cocoa.Sentry.SentryId
8+
import cocoa.Sentry.SentryLevel
9+
import cocoa.Sentry.SentryMessage
10+
import cocoa.Sentry.SentryOptions
11+
import cocoa.Sentry.SentryScope
12+
import cocoa.Sentry.SentryUser
13+
import cocoa.Sentry.SentryUserFeedback
1414

1515
internal typealias CocoaUser = SentryUser
1616
internal typealias CocoaBreadcrumb = SentryBreadcrumb
@@ -23,4 +23,4 @@ internal typealias CocoaUserFeedback = SentryUserFeedback
2323
internal typealias CocoaSentryEvent = SentryEvent
2424
internal typealias CocoaMessage = SentryMessage
2525
internal typealias CocoaSentryException = SentryException
26-
internal typealias CocoaSentryLogger = cocoapods.Sentry.SentryLogger
26+
internal typealias CocoaSentryLogger = cocoa.Sentry.SentryLogger

sentry-kotlin-multiplatform/src/appleMain/kotlin/io/sentry/kotlin/multiplatform/extensions/SentryEventExtensions.apple.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package io.sentry.kotlin.multiplatform.extensions
22

3-
import cocoapods.Sentry.SentryId
3+
import cocoa.Sentry.SentryId
44
import io.sentry.kotlin.multiplatform.CocoaSentryEvent
55
import io.sentry.kotlin.multiplatform.SentryEvent
66

sentry-kotlin-multiplatform/src/appleMain/kotlin/io/sentry/kotlin/multiplatform/extensions/SentryLevelExtensions.apple.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package io.sentry.kotlin.multiplatform.extensions
22

33
import io.sentry.kotlin.multiplatform.SentryLevel
44
import kotlinx.cinterop.convert
5-
import cocoapods.Sentry.SentryLevel as CocoaSentryLevel
5+
import cocoa.Sentry.SentryLevel as CocoaSentryLevel
66

77
internal fun SentryLevel.toCocoaSentryLevel() = this.toInt().convert<CocoaSentryLevel>()
88

sentry-kotlin-multiplatform/src/appleMain/kotlin/io/sentry/kotlin/multiplatform/extensions/SentryOptionsExtensions.apple.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.sentry.kotlin.multiplatform.extensions
22

3-
import cocoapods.Sentry.SentryHttpStatusCodeRange
4-
import cocoapods.Sentry.experimental
3+
import cocoa.Sentry.SentryHttpStatusCodeRange
4+
import cocoa.Sentry.experimental
55
import io.sentry.kotlin.multiplatform.CocoaSentryOptions
66
import io.sentry.kotlin.multiplatform.SentryEvent
77
import io.sentry.kotlin.multiplatform.SentryOptions

sentry-kotlin-multiplatform/src/appleMain/kotlin/io/sentry/kotlin/multiplatform/log/CocoaSentryLoggerAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.sentry.kotlin.multiplatform.log
22

33
import io.sentry.kotlin.multiplatform.SentryAttributes
4-
import cocoapods.Sentry.SentryLogger as CocoaSentryLogger
4+
import cocoa.Sentry.SentryLogger as CocoaSentryLogger
55

66
/**
77
* Adapter that bridges KMP [SentryLogger] to the Cocoa SDK's [CocoaSentryLogger].

sentry-kotlin-multiplatform/src/appleMain/kotlin/io/sentry/kotlin/multiplatform/log/SentryLogConverters.apple.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package io.sentry.kotlin.multiplatform.log
22

3-
import cocoapods.Sentry.SentryStructuredLogAttribute
3+
import cocoa.Sentry.SentryStructuredLogAttribute
44
import io.sentry.kotlin.multiplatform.SentryAttributeValue
55
import kotlinx.cinterop.convert
66
import platform.Foundation.NSNumber
77
import platform.Foundation.timeIntervalSince1970
8-
import cocoapods.Sentry.SentryLog as CocoaSentryLog
9-
import cocoapods.Sentry.SentryLogLevel as CocoaSentryLogLevel
8+
import cocoa.Sentry.SentryLog as CocoaSentryLog
9+
import cocoa.Sentry.SentryLogLevel as CocoaSentryLogLevel
1010
import io.sentry.kotlin.multiplatform.SentryAttributes as KmpSentryAttributes
1111

1212
/**

0 commit comments

Comments
 (0)