diff --git a/bump-native-dd-sdk.sh b/bump-native-dd-sdk.sh new file mode 100755 index 000000000..0c2d1224c --- /dev/null +++ b/bump-native-dd-sdk.sh @@ -0,0 +1,75 @@ +#!/bin/bash + +set -euo pipefail + +if [ "$#" -ne 2 ]; then + echo "Usage: $0 " + exit 1 +fi + +sdk="$1" +new_version="$2" + +build_gradle_files=( + "packages/core/android/build.gradle" + "packages/react-native-session-replay/android/build.gradle" + "packages/react-native-webview/android/build.gradle" +) + +podspec_files=( + "packages/core/DatadogSDKReactNative.podspec" + "packages/react-native-session-replay/DatadogSDKReactNativeSessionReplay.podspec" + "packages/react-native-webview/DatadogSDKReactNativeWebView.podspec" +) + +ios_pattern="('Datadog[^']+', '~> )[0-9.]+'" +android_pattern='(com\.datadoghq:dd-sdk-android-[^:"]+):[0-9.]+' + +if [[ "$sdk" == "ios" ]]; then + pattern="$ios_pattern" + files=("${podspec_files[@]}") + sed_pattern="s/${pattern}/\1${new_version}'/" +elif [[ "$sdk" == "android" ]]; then + pattern="$android_pattern" + files=("${build_gradle_files[@]}") + sed_pattern="s/${pattern}/\1:${new_version}/" +else + echo "Unknown platform '$sdk'" + echo "Usage: $0 " + exit 1 +fi + +for file in "${files[@]}"; do + if [[ ! -f "$file" ]]; then + echo "❌ File not found: $file" + continue + fi + + echo -e "\nUpdating: $file" + + updated=false + tmp_file="${file}.tmp" + + while IFS= read -r line; do + if [[ "$line" =~ $pattern ]]; then + old_line="$line" + new_line=$(echo "$line" | sed -E "$sed_pattern") + if [[ "$new_line" != "$old_line" ]]; then + echo "✅ $new_line" + updated=true + echo "$new_line" >> "$tmp_file" + else + echo "$line" >> "$tmp_file" + fi + else + echo "$line" >> "$tmp_file" + fi + done < "$file" + + if $updated; then + mv "$tmp_file" "$file" + else + echo "â„šī¸ No updates needed in $file" + rm "$tmp_file" + fi +done diff --git a/packages/core/android/build.gradle b/packages/core/android/build.gradle index 96f0e1bb4..8a28a11f8 100644 --- a/packages/core/android/build.gradle +++ b/packages/core/android/build.gradle @@ -192,10 +192,10 @@ dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compileOnly "com.squareup.okhttp3:okhttp:3.12.13" - implementation "com.datadoghq:dd-sdk-android-rum:2.19.2" - implementation "com.datadoghq:dd-sdk-android-logs:2.19.2" - implementation "com.datadoghq:dd-sdk-android-trace:2.19.2" - implementation "com.datadoghq:dd-sdk-android-webview:2.19.2" + implementation "com.datadoghq:dd-sdk-android-rum:2.21.0" + implementation "com.datadoghq:dd-sdk-android-logs:2.21.0" + implementation "com.datadoghq:dd-sdk-android-trace:2.21.0" + implementation "com.datadoghq:dd-sdk-android-webview:2.21.0" implementation "com.google.code.gson:gson:2.10.0" testImplementation "org.junit.platform:junit-platform-launcher:1.6.2" testImplementation "org.junit.jupiter:junit-jupiter-api:5.6.2" diff --git a/packages/react-native-session-replay/android/build.gradle b/packages/react-native-session-replay/android/build.gradle index a7e019b1e..f55d1ac04 100644 --- a/packages/react-native-session-replay/android/build.gradle +++ b/packages/react-native-session-replay/android/build.gradle @@ -209,8 +209,8 @@ dependencies { api "com.facebook.react:react-android:$reactNativeVersion" } implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" - implementation "com.datadoghq:dd-sdk-android-session-replay:2.19.2" - implementation "com.datadoghq:dd-sdk-android-internal:2.19.2" + implementation "com.datadoghq:dd-sdk-android-session-replay:2.21.0" + implementation "com.datadoghq:dd-sdk-android-internal:2.21.0" implementation project(path: ':datadog_mobile-react-native') testImplementation "org.junit.platform:junit-platform-launcher:1.6.2" diff --git a/packages/react-native-webview/android/build.gradle b/packages/react-native-webview/android/build.gradle index bc32cc3f6..f2071444c 100644 --- a/packages/react-native-webview/android/build.gradle +++ b/packages/react-native-webview/android/build.gradle @@ -189,7 +189,7 @@ dependencies { implementation "com.facebook.react:react-android:$reactNativeVersion" } - implementation "com.datadoghq:dd-sdk-android-webview:2.14.0" + implementation "com.datadoghq:dd-sdk-android-webview:2.21.0" implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation project(path: ':datadog_mobile-react-native') diff --git a/update-native-sdk-versions.sh b/update-native-sdk-versions.sh index 0deb09dad..16c6310af 100755 --- a/update-native-sdk-versions.sh +++ b/update-native-sdk-versions.sh @@ -18,6 +18,7 @@ podspec_files=( build_gradle_files=( "packages/core/android/build.gradle" "packages/react-native-session-replay/android/build.gradle" + "packages/react-native-webview/android/build.gradle" ) extract_and_validate_version() {