diff --git a/CHANGELOG.md b/CHANGELOG.md index a10ce76f..3e3983ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Miscellaneous + +- Update native android sdk name to `sentry.native.android.kmp` ([#353](https://github.com/getsentry/sentry-kotlin-multiplatform/pull/353)) + ### Dependencies - Bump Cocoa SDK from v8.44.0 to v8.48.0 ([#345](https://github.com/getsentry/sentry-kotlin-multiplatform/pull/345)) diff --git a/buildSrc/src/main/java/Config.kt b/buildSrc/src/main/java/Config.kt index be68afeb..226e9b12 100644 --- a/buildSrc/src/main/java/Config.kt +++ b/buildSrc/src/main/java/Config.kt @@ -83,6 +83,7 @@ object Config { val kmpCocoaSdkName = "sentry.cocoa.kmp" val kmpJavaSdkName = "sentry.java.kmp" val kmpAndroidSdkName = "sentry.java.android.kmp" + val kmpNativeAndroidSdkName = "sentry.native.android.kmp" val javaPackageName = "maven:io.sentry:sentry" val androidPackageName = "maven:io.sentry:sentry-android" val cocoaPackageName = "cocoapods:sentry-cocoa" diff --git a/sentry-kotlin-multiplatform/build.gradle.kts b/sentry-kotlin-multiplatform/build.gradle.kts index 1dbea644..7b246d0d 100644 --- a/sentry-kotlin-multiplatform/build.gradle.kts +++ b/sentry-kotlin-multiplatform/build.gradle.kts @@ -204,6 +204,7 @@ buildkonfig { buildConfigField(STRING, "SENTRY_KMP_COCOA_SDK_NAME", Config.Sentry.kmpCocoaSdkName) buildConfigField(STRING, "SENTRY_KMP_JAVA_SDK_NAME", Config.Sentry.kmpJavaSdkName) buildConfigField(STRING, "SENTRY_KMP_ANDROID_SDK_NAME", Config.Sentry.kmpAndroidSdkName) + buildConfigField(STRING, "SENTRY_KMP_NATIVE_ANDROID_SDK_NAME", Config.Sentry.kmpNativeAndroidSdkName) buildConfigField(STRING, "VERSION_NAME", project.version.toString()) buildConfigField(STRING, "SENTRY_JAVA_PACKAGE_NAME", Config.Sentry.javaPackageName) diff --git a/sentry-kotlin-multiplatform/src/androidMain/kotlin/io/sentry/kotlin/multiplatform/SentryPlatformOptions.android.kt b/sentry-kotlin-multiplatform/src/androidMain/kotlin/io/sentry/kotlin/multiplatform/SentryPlatformOptions.android.kt index 2770c89a..8fa945fe 100644 --- a/sentry-kotlin-multiplatform/src/androidMain/kotlin/io/sentry/kotlin/multiplatform/SentryPlatformOptions.android.kt +++ b/sentry-kotlin-multiplatform/src/androidMain/kotlin/io/sentry/kotlin/multiplatform/SentryPlatformOptions.android.kt @@ -10,6 +10,7 @@ internal actual fun SentryPlatformOptions.prepareForInit() { if (sdkVersion?.packageSet?.none { it.name == BuildKonfig.SENTRY_ANDROID_PACKAGE_NAME } == true) { sdkVersion?.addPackage(BuildKonfig.SENTRY_ANDROID_PACKAGE_NAME, BuildKonfig.SENTRY_ANDROID_VERSION) } + nativeSdkName = BuildKonfig.SENTRY_KMP_NATIVE_ANDROID_SDK_NAME } internal actual fun SentryOptions.toPlatformOptionsConfiguration(): PlatformOptionsConfiguration = diff --git a/sentry-kotlin-multiplatform/src/androidUnitTest/kotlin/io/sentry/kotlin/multiplatform/SentryAndroidBridgeTest.kt b/sentry-kotlin-multiplatform/src/androidUnitTest/kotlin/io/sentry/kotlin/multiplatform/SentryAndroidBridgeTest.kt new file mode 100644 index 00000000..49981170 --- /dev/null +++ b/sentry-kotlin-multiplatform/src/androidUnitTest/kotlin/io/sentry/kotlin/multiplatform/SentryAndroidBridgeTest.kt @@ -0,0 +1,36 @@ +package io.sentry.kotlin.multiplatform + +import io.sentry.kotlin.multiplatform.fakes.FakeSentryInstance +import junit.framework.TestCase.assertEquals +import kotlin.test.BeforeTest +import kotlin.test.Test + +class SentryAndroidBridgeTest { + private lateinit var fixture: Fixture + + @BeforeTest + fun setup() { + fixture = Fixture() + } + + @Test + fun `init sets native android sdk name`() { + val sut = fixture.getSut() + + sut.init { } + + val option = SentryPlatformOptions().apply { + fixture.sentryInstance.lastConfiguration?.invoke(this) + } + + assertEquals(BuildKonfig.SENTRY_KMP_NATIVE_ANDROID_SDK_NAME, option.nativeSdkName) + } +} + +internal class Fixture { + val sentryInstance = FakeSentryInstance() + + fun getSut(): SentryBridge { + return SentryBridge(sentryInstance) + } +}