diff --git a/lerna.json b/lerna.json index 8ffd3492f7..afff15b22a 100644 --- a/lerna.json +++ b/lerna.json @@ -8,4 +8,4 @@ "performance-tests/*" ], "npmClient": "yarn" -} \ No newline at end of file +} diff --git a/samples/react-native/package.json b/samples/react-native/package.json index 32ba09aebf..f1fb8e9cde 100644 --- a/samples/react-native/package.json +++ b/samples/react-native/package.json @@ -10,8 +10,8 @@ "build-android-release-legacy": "scripts/build-android-release-legacy.sh", "build-android-debug": "scripts/build-android-debug.sh", "build-android-debug-legacy": "scripts/build-android-debug-legacy.sh", - "build-android-debug-auto": "scripts/build-android-debug-auto.sh", - "build-android-debug-manual": "scripts/build-android-debug-manual.sh", + "build-android-debug-auto": "SENTRY_DISABLE_NATIVE_START=true scripts/build-android-debug-init.sh", + "build-android-debug-manual": "SENTRY_DISABLE_NATIVE_START=false scripts/build-android-debug-init.sh", "build-ios-release": "scripts/build-ios-release.sh", "build-ios-debug": "scripts/build-ios-debug.sh", "test": "jest", diff --git a/samples/react-native/scripts/build-android-debug-auto.sh b/samples/react-native/scripts/build-android-debug-auto.sh deleted file mode 100755 index a4e50a4d1f..0000000000 --- a/samples/react-native/scripts/build-android-debug-auto.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -# Exit on error -set -e - -thisFilePath=$(dirname "$0") - -export RN_ARCHITECTURE="new" -export CONFIG="debug" -export SENTRY_DISABLE_NATIVE_START="true" - -echo "Building Android with SENTRY_DISABLE_NATIVE_START=${SENTRY_DISABLE_NATIVE_START}" -echo "This build will initialize Sentry from JavaScript (auto init)" - -"${thisFilePath}/build-android.sh" - -# Rename the output APK to distinguish it from manual build -cd "${thisFilePath}/.." -if [ -f "app.apk" ]; then - mv app.apk app-auto.apk - echo "Build complete: app-auto.apk" -fi diff --git a/samples/react-native/scripts/build-android-debug-init.sh b/samples/react-native/scripts/build-android-debug-init.sh new file mode 100755 index 0000000000..17f5e00f2c --- /dev/null +++ b/samples/react-native/scripts/build-android-debug-init.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# Exit on error +set -e + +thisFilePath=$(dirname "$0") + +# Validate SENTRY_DISABLE_NATIVE_START is set +if [ -z "${SENTRY_DISABLE_NATIVE_START}" ]; then + echo "Error: SENTRY_DISABLE_NATIVE_START environment variable is not set." + echo "Usage: SENTRY_DISABLE_NATIVE_START=true|false $0" + echo "" + echo " true - Build for auto init from JS (native SDK disabled)" + echo " false - Build for manual native init (native SDK enabled)" + exit 1 +fi + +# Export so Gradle daemon can access it +export SENTRY_DISABLE_NATIVE_START + +# Map SENTRY_DISABLE_NATIVE_START to build mode +if [ "${SENTRY_DISABLE_NATIVE_START}" = "true" ]; then + BUILD_MODE="auto" + INIT_DESCRIPTION="initialize Sentry from JavaScript (auto init)" +elif [ "${SENTRY_DISABLE_NATIVE_START}" = "false" ]; then + BUILD_MODE="manual" + INIT_DESCRIPTION="initialize Sentry natively before JS (manual init)" +else + echo "Error: Invalid value for SENTRY_DISABLE_NATIVE_START: '${SENTRY_DISABLE_NATIVE_START}'" + echo "Expected 'true' or 'false'" + exit 1 +fi + +export RN_ARCHITECTURE="new" +export CONFIG="debug" + +echo "Building Android with SENTRY_DISABLE_NATIVE_START=${SENTRY_DISABLE_NATIVE_START}" +echo "This build will ${INIT_DESCRIPTION}" + +"${thisFilePath}/build-android.sh" + +# Rename the output APK based on build mode +cd "${thisFilePath}/.." +if [ -f "app.apk" ]; then + mv app.apk "app-${BUILD_MODE}.apk" + echo "Build complete: app-${BUILD_MODE}.apk" +else + echo "Error: Expected output file 'app.apk' not found" + exit 1 +fi diff --git a/samples/react-native/scripts/build-android-debug-manual.sh b/samples/react-native/scripts/build-android-debug-manual.sh deleted file mode 100755 index 7bb4754496..0000000000 --- a/samples/react-native/scripts/build-android-debug-manual.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -# Exit on error -set -e - -thisFilePath=$(dirname "$0") - -export RN_ARCHITECTURE="new" -export CONFIG="debug" -export SENTRY_DISABLE_NATIVE_START="false" - -echo "Building Android with SENTRY_DISABLE_NATIVE_START=${SENTRY_DISABLE_NATIVE_START}" -echo "This build will initialize Sentry natively before JS (manual init)" - -"${thisFilePath}/build-android.sh" - -# Rename the output APK to distinguish it from auto build -cd "${thisFilePath}/.." -if [ -f "app.apk" ]; then - mv app.apk app-manual.apk - echo "Build complete: app-manual.apk" -fi