diff --git a/bump-native-dd-sdk.sh b/bump-native-dd-sdk.sh new file mode 100755 index 000000000..7a8aff966 --- /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 \ No newline at end of file diff --git a/packages/react-native-webview/android/build.gradle b/packages/react-native-webview/android/build.gradle index bc32cc3f6..a7b0ae32f 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.19.2" 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() {