[bug]: (Pub workspaces & Melos) dSYM upload fails | uploadDebugSymbols = false
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 45/100
Hướng nghiên cứu
Bắt đầu với addFlutterFireDebugSymbolsScript trong packages/flutterfire_cli/lib/src/firebase/firebase_apple_writes.dart và lần theo cách nó định vị package_config.json cũng như đọc pubspec.yaml. Tái tạo layout của workspace với app nằm dưới ./apps/name và firebase_crashlytics trong một package nội bộ. Được xem là hoàn tất khi CLI phát hiện dependency, tạo build phase script và không đặt uploadDebugSymbols thành false trong firebase.json.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Dart
- Star
- 194
- Fork
- 74
- Merge trung bình
- 22 giờ 29 phút
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của invertase/flutterfire_cli
-
request: usage as packgeĐang mởNeeds Attention Stale triage
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
invertase/flutterfire_cli#450 · 5 bình luận ·
-
bug Needs Attention triage
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
invertase/flutterfire_cli#443 · 16 bình luận · 12 reaction ·
-
bug Needs Attention triage
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 66/100
invertase/flutterfire_cli#428 · 12 bình luận · 4 reaction ·
-
blocked: customer-response bug keep open
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 42/100
invertase/flutterfire_cli#353 · 6 bình luận ·
-
blocked: customer-response bug keep open triage
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
invertase/flutterfire_cli#341 · 7 bình luận · 1 reaction ·
Tất cả issue của invertase/flutterfire_cli
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
googleapis/google-cloud-dart#366 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug controls
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
from.page-issue
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
team-tool tool
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
flutter/flutter#193423 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ai-driven-qa bug claude
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
linagora/tmail-flutter#4898 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày