From 68898ad1a11870c9755c1a4c4abd3fd576a61bb6 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 12 Mar 2024 10:57:14 +0000 Subject: [PATCH] fix: allow "Debug" and "Release" configuration for upload symbol script --- .../lib/src/commands/upload_symbols.dart | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/packages/flutterfire_cli/lib/src/commands/upload_symbols.dart b/packages/flutterfire_cli/lib/src/commands/upload_symbols.dart index 0b20230e..13956a80 100644 --- a/packages/flutterfire_cli/lib/src/commands/upload_symbols.dart +++ b/packages/flutterfire_cli/lib/src/commands/upload_symbols.dart @@ -349,6 +349,18 @@ class UploadCrashlyticsSymbols extends FlutterFireCommand { ); final appIdFilePath = await _findOrCreateAppIdFile(appIdFileDirectory, appId, projectId); + + final appFrameworkDsymPath = path.join( + envBuildProductsDir, + 'App.framework.dSYM', + ); + + final buildDirectory = Directory(appFrameworkDsymPath); + + // Set configuration to "Release" if "App.framework.dSYM" exists. Otherwise, "Debug". This is to ensure successful upload of symbols + final buildConfiguration = + buildDirectory.existsSync() ? 'Release' : 'Debug'; + // Validation script final validationScript = await Process.run( uploadSymbolsScriptPath, @@ -359,8 +371,7 @@ class UploadCrashlyticsSymbols extends FlutterFireCommand { ], environment: { 'PLATFORM_NAME': envPlatformName, - // Hard code "Release" to ensure "App.framework.dsym" is uploaded and complies with upload-symbol script - 'CONFIGURATION': 'Release', + 'CONFIGURATION': buildConfiguration, 'PROJECT_DIR': envProjectDir, 'DWARF_DSYM_FOLDER_PATH': envDwarfDsymFolderPath, 'DWARF_DSYM_FILE_NAME': envDwarfDsymFileName, @@ -372,6 +383,7 @@ class UploadCrashlyticsSymbols extends FlutterFireCommand { if (validationScript.exitCode != 0) { throw Exception(validationScript.stderr); } + // Upload script final uploadScript = await Process.run( uploadSymbolsScriptPath, @@ -381,8 +393,7 @@ class UploadCrashlyticsSymbols extends FlutterFireCommand { ], environment: { 'PLATFORM_NAME': envPlatformName, - // Hard code "Release" to ensure "App.framework.dsym" is uploaded and complies with upload-symbol script - 'CONFIGURATION': 'Release', + 'CONFIGURATION': buildConfiguration, 'PROJECT_DIR': envProjectDir, 'DWARF_DSYM_FOLDER_PATH': envDwarfDsymFolderPath, 'DWARF_DSYM_FILE_NAME': envDwarfDsymFileName,