Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(Kotlin): Merge Kotlin and Kotlin Multiplaform into one #12302

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Because the SDK provides a unified API for all supported platforms directly leve
<Note>
Some functionality may not be available in the shared Kotlin Multiplatform layer yet. You may have to use the native SDKs directly, or write your own platform-specific code.

To access the native SDK init options, use the [Native Platform Options initialization](/platforms/kotlin-multiplatform/initialization-strategies/#native-platform-options).
To access the native SDK init options, use the [Native Platform Options initialization](/platforms/kotlin/guides/kotlin-multiplatform/initialization-strategies/#native-platform-options).
</Note>

## Supported Platforms
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,16 @@ sdk: sentry.kotlin.kmp
categories:
- mobile
- desktop
keywords: ["kotlin"]
keywords:
- kotlin
- kmp
---

<PlatformContent includePath="getting-started-primer" />

## Install

Sentry captures data by using an SDK within your applications runtime.
Sentry captures data by using an SDK within your application's runtime.

<PlatformContent includePath="getting-started-install" />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ sidebar_order: 3
description: "Learn how to manually set up the SDK."
---

If you can't (or prefer not to) use the [gradle plugin](/platforms/kotlin-multiplatform/#install), you can follow the instructions below to configure your application manually.
If you can't (or prefer not to) use the [gradle plugin](/platforms/kotlin/guides/kotlin-multiplatform/#install), you can follow the instructions below to configure your application manually.

## Install

Expand Down Expand Up @@ -92,6 +92,6 @@ If you already use SPM or prefer it over other package managers on Apple platfor

In order to install the Sentry Kotlin Multiplatform SDK, you need to use Cocoapods and Swift Package Manager simultaneously, which might seem unconventional at first, especially if you're accustomed to using SPM for all your dependencies. However, you can achieve a smooth integration by using the Kotlin Cocoapods plugin specifically for compiling and building the shared framework. You can then continue to manage all other dependencies with SPM as usual.

Follow the steps for our primary installation method [Cocoapods](/platforms/kotlin-multiplatform/manual-setup/#install) to install the Sentry Kotlin Multiplatform SDK.
Follow the steps for our primary installation method [Cocoapods](/platforms/kotlin/guides/kotlin-multiplatform/manual-setup/#install) to install the Sentry Kotlin Multiplatform SDK.

After you've consumed the shared framework in your application via Cocoapods, you can continue with SPM for other dependencies without disrupting your existing workflow.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ If you need additional help, [ask on GitHub](https://github.com/getsentry/sentry

## "Missing API declaration" after App Store review

Starting May 1, 2024, Apple requires all apps submitted to the App Store to provide a list of privacy-related APIs they use, including the reasons under which they use it. If you received an email from Apple with the message "ITMS-91053: Missing API declaration", your app doesn't fulfill the requirements. To solve this, follow our [Apple Privacy Manifest](/platforms/kotlin-multiplatform/data-management/apple-privacy-manifest) guide.
Starting May 1, 2024, Apple requires all apps submitted to the App Store to provide a list of privacy-related APIs they use, including the reasons under which they use it. If you received an email from Apple with the message "ITMS-91053: Missing API declaration", your app doesn't fulfill the requirements. To solve this, follow our [Apple Privacy Manifest](/platforms/kotlin/guides/kotlin-multiplatform/data-management/apple-privacy-manifest) guide.

## Tests Not Working

Expand All @@ -22,7 +22,7 @@ This example shows you how to fix the issue for the iOS simulator target, but th

**1. Download the Sentry xcframework**

- Choose the Sentry Cocoa release based on the version specified in the [version compatibility table](/platforms/kotlin-multiplatform/#cocoa-sdk-version-compatibility-table)
- Choose the Sentry Cocoa release based on the version specified in the [version compatibility table](/platforms/kotlin/guides/kotlin-multiplatform/#cocoa-sdk-version-compatibility-table)
- Download the `Sentry.xcframework.zip` on [GitHub](https://github.com/getsentry/sentry-cocoa/releases), and unzip it.

**2. Create a frameworks directory and insert `Sentry.framework`**
Expand Down
6 changes: 2 additions & 4 deletions docs/platforms/kotlin/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
title: Kotlin
caseStyle: camelCase
supportLevel: production
sdk: sentry.java
fallbackPlatform: java
Comment on lines -5 to -6
Copy link
Member Author

@kahest kahest Jan 10, 2025

Choose a reason for hiding this comment

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

needed to remove these, otherwise the KMP guide would use platform-includes from Java for some reason. in any case, removing this seems correct to me because it also removes the Java SDK info box on the right side which was confusing since we link to 3 different SDKs

categories:
- mobile
- desktop
Expand All @@ -12,13 +10,13 @@ keywords:
- kotlin
---

Sentry supports JVM related use of Kotlin with our [Java](/platforms/java) SDK, and, for Android applications, with our [Android](/platforms/android) platform.
Sentry supports JVM related use of Kotlin with the [Java](/platforms/java) SDK. For native Android applications, use the [Android](/platforms/android) SDK. If you use KMP, the [Kotlin Multiplatform](/platforms/kotlin/guides/kotlin-multiplatform/) SDK provides the best integration.

Select your platform to get started:

- [Java](/platforms/java)
- [Android](/platforms/android)
- [Kotlin Multiplatform](/platforms/kotlin-multiplatform)
- [Kotlin Multiplatform](/platforms/kotlin/guides/kotlin-multiplatform/)

## Kotlin Extensions

Expand Down
2 changes: 1 addition & 1 deletion docs/product/user-feedback/setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ This allows you to connect your own user interface with Sentry's Crash-Reports.
- [.NET](/platforms/dotnet/user-feedback/)
- [Flutter](/platforms/flutter/user-feedback/)
- [Java](/platforms/java/user-feedback/)
- [Kotlin](/platforms/kotlin-multiplatform/user-feedback/)
- [Kotlin](/platforms/kotlin/guides/kotlin-multiplatform/user-feedback/)
- [Node.JS](/platforms/javascript/guides/node/user-feedback/)
- [PHP](/platforms/php/user-feedback/)
- [React Native](/platforms/react-native/user-feedback/)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ Xcode 16 support starts with Sentry Cocoa SDK version `8.36.0` or higher.

<Note>
Starting May 1, 2024, Apple requires all apps submitted to the App Store to provide a list of privacy-related APIs they use. Use Sentry Cocoa SDK version `8.25.0` or higher to ensure compliance with these requirements.
Follow our [Apple Privacy Manifest](/platforms/kotlin-multiplatform/data-management/apple-privacy-manifest) guide to learn more.
Follow our [Apple Privacy Manifest](/platforms/kotlin/guides/kotlin-multiplatform/data-management/apple-privacy-manifest) guide to learn more.
</Note>
4 changes: 4 additions & 0 deletions src/middleware.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3363,6 +3363,10 @@ const USER_DOCS_REDIRECTS: Redirect[] = [
from: '/clients/cordova/',
to: '/platforms/javascript/guides/cordova/',
},
{
from: '/platforms/kotlin-multiplatform/',
to: '/platforms/kotlin/guides/kotlin-multiplatform/',
},
Comment on lines +3366 to +3369
Copy link
Member Author

@kahest kahest Jan 10, 2025

Choose a reason for hiding this comment

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

afaict this only redirects this one page/route - in case there is a way to also redirect all sub-pages, please lmk

];

const DEVELOPER_DOCS_REDIRECTS: Redirect[] = [
Expand Down
Loading