[bug]: (Pub workspaces & Melos) dSYM upload fails | uploadDebugSymbols = false
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
packages/flutterfire_cli/lib/src/firebase/firebase_apple_writes.dart の addFlutterFireDebugSymbolsScript から始め、package_config.json の場所を特定して pubspec.yaml を読み取る方法を追跡します。アプリを ./apps/name の下に置き、firebase_crashlytics を内部 package に置いた workspace レイアウトを再現します。CLI が依存関係を検出し、build phase script を生成し、firebase.json で uploadDebugSymbols を false に設定しなければ完了です。
索引モデルが issue の本文から書いたものです。
説明
Is there an existing issue for this?
- I have searched the existing issues.
CLI Version
1.2.0
Firebase Tools version
13.28.0
Flutter Doctor Output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.32.0, on macOS 15.5 24F74 darwin-arm64, locale en-ES)
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.4)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.3)
[✓] VS Code (version 1.100.3)
[✓] Connected device (4 available)
[✓] Network resources
• No issues found!
Description
I'm not adding the full flutter doctor -v output as I believe it's not relevant for this issue.
Please, let me know otherwise.
Regardless if I stated on the title "Pub workspaces", this would also occur just using old Melos version or with any other project structure that varies from default.
Going straight to the point:
The function addFlutterFireDebugSymbolsScript at packages/flutterfire_cli/lib/src/firebase/firebase_apple_writes.dart is unable to find firebase_crashlytics dependency on a different project structure than the usual one.
Details:
With the recently introduced "Pub workspaces", .dart_tool/package_config.json resides at the root of the project, which is not the flutterAppPath.
For instance, we have the main app at ./apps/name as recommended by Melos or Pub dev if I'm not wrong.
Despite the fact that addFlutterFireDebugSymbolsScript tries to find the dependency also in the "main app" pubspec.yaml, the firebase_crashlytics dependency might not be there, as following a typical "workspace" structure, the developer could have delegated all that logic to an internal package at ./packages/[name].
This is exactly our case, so ultimately, since no firebase_crashlytics dependency was found, uploadDebugSymbols is being set as false in the "main app" firebase.json file.
Additionally to that, the build phase script is also not generated.
Current fix:
We just added firebase_crashlytics dependency back to our "main app" pubspec.yaml, which is now redundant.
Potential fix:
Instead of looking up for package_config.json or trying to figure out if the project follows a "workspace" structure, I recommend that the CLI simply provides a new option such as --app-dir.
This way, we can just run flutterfire configure / reconfigure from the root.
Steps to reproduce
As explained above.
Expected behavior
The CLI should detect the firebase_crashlytics dependency.
Screenshots
No response
Additional context and comments
This issue, closed by the OP, pointed me to the right direction.
- 主要言語
- Dart
- スター
- 194
- フォーク
- 76
- 平均マージ
- 2日 9時間
- マージ済み PR(30日)
- 7
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
invertase/flutterfire_cli のほかの issue
-
bug Needs Attention triage
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
invertase/flutterfire_cli#467 ·
メンテナーはふだん 1 日以内に返信
-
Needs Attention Stale triage
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
invertase/flutterfire_cli#450 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
bug Needs Attention triage
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
invertase/flutterfire_cli#443 · コメント 16 件 · リアクション 12 件 ·
メンテナーはふだん 1 日以内に返信
-
bug Needs Attention triage
難易度 3/5 1〜2日 初心者へのやさしさ 66/100
invertase/flutterfire_cli#428 · コメント 12 件 · リアクション 4 件 ·
メンテナーはふだん 1 日以内に返信
-
blocked: customer-response bug keep open
難易度 3/5 1〜2日 初心者へのやさしさ 42/100
invertase/flutterfire_cli#353 · コメント 6 件 ·
メンテナーはふだん 1 日以内に返信
invertase/flutterfire_cli の issue をすべて見る
似ている issue
-
Smart charging: USB charger re-assert is starved during BLE scans, so the tablet never dischargesオープンbug ready-for-agent
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
decentespresso/decaid#931 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
flame-engine/flame#4067 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
mrgnhnt96/zonai#37 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
google/skills_lint.dart#58 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
nvim-flutter/flutter-tools.nvim#557 ·
メンテナーはふだん 1 日以内に返信