flutter / flutter/devtools

Consider moving VM Service Manager logic into `devtools_shared.dart`

未关闭
#9,122 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
cross-screen P3
主要语言
Dart
星标
1.7k
派生
404
平均合并
6 天 17 小时
30 天内合并 PR
18

描述

Moving this logic to `devtools_shared` would allow using the `ServiceManager` and related classes (like `IsolateManager`, `ServiceExtensionManager`) etc. in non-Flutter packages. One place where we'd like to use this logic is in https://github.com/dart-lang/ai/tree/main/pkgs/dart_tooling_mcp_server.

The https://github.com/flutter/devtools/blob/master/packages/devtools_app_shared/lib/service.dart library currently exports code that contains Flutter imports, mainly for use of the `ValueNotifier` and `ValueListenable` classes. So we'd have to modify this code to remove the Flutter dependency in order to move this code to the `devtools_shared` package. This is the **first step** required for this change, and it would be a **breaking change** since several of the public APIs use these classes.

Provide that we can remove all the Flutter dependencies, the next step would be to move the code to the `devtools_shared` package, which would also be a breaking change for the `devtools_app_shared` package.

CC @jakemac53

贡献指南

打开贡献指南

调研方向

从 packages/devtools_app_shared/lib/service.dart 开始,这是 issue 中提到的库,并盘点其中的 Flutter imports 以及使用 ValueNotifier 或 ValueListenable 的 public APIs。确定如何在不依赖 Flutter 的情况下移除这些依赖,然后验证当 service manager APIs 不再需要 Flutter classes 时第一步已完成;将它们移动到 devtools_shared 是后续步骤。

由索引模型根据 Issue 内容生成。

评估

技术栈
dart
领域
tooling
Issue 类型
重构
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
基本清楚
新手友好度
30/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。