[bug]: (Pub workspaces & Melos) dSYM upload fails | uploadDebugSymbols = false
还没有人认领这个 Issue。
评估
调研方向
从 packages/flutterfire_cli/lib/src/firebase/firebase_apple_writes.dart 中的 addFlutterFireDebugSymbolsScript 开始,跟踪它如何定位 package_config.json 并读取 pubspec.yaml。复现 workspace 布局,将 app 放在 ./apps/name 下,并将 firebase_crashlytics 放在内部 package 中。完成的标准是 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
- 派生
- 74
- 平均合并
- 1 天 22 小时
- 30 天内合并 PR
- 6
环境准备
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
invertase/flutterfire_cli 的其他 Issue
-
Needs Attention Stale triage
难度 4/5 3-5 天 新手友好度 52/100
invertase/flutterfire_cli#450 · 5 条评论 ·
-
bug Needs Attention triage
难度 3/5 1-2 天 新手友好度 68/100
invertase/flutterfire_cli#443 · 16 条评论 · 12 个 reaction ·
-
bug Needs Attention triage
难度 3/5 1-2 天 新手友好度 66/100
invertase/flutterfire_cli#428 · 12 条评论 · 4 个 reaction ·
-
blocked: customer-response bug keep open
难度 3/5 1-2 天 新手友好度 42/100
invertase/flutterfire_cli#353 · 6 条评论 ·
-
blocked: customer-response bug keep open triage
难度 3/5 1-2 天 新手友好度 45/100
invertase/flutterfire_cli#341 · 7 条评论 · 1 个 reaction ·
查看 invertase/flutterfire_cli 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 74/100
googleapis/google-cloud-dart#366 ·
维护者通常 1 天内回复
-
bug controls
难度 2/5 1-3 小时 新手友好度 88/100
维护者通常 1 天内回复
-
from.page-issue
难度 1/5 1 小时以内 新手友好度 88/100
维护者通常 1 天内回复
-
team-tool tool
难度 2/5 1-3 小时 新手友好度 84/100
flutter/flutter#193423 · 1 条评论 ·
维护者通常 1 天内回复
-
ai-driven-qa bug claude
难度 2/5 1-3 小时 新手友好度 82/100
linagora/tmail-flutter#4898 · 1 条评论 ·
维护者通常 1 天内回复