Introduce dart doctor
#55117
Labels
area-dart-cli
Use area-dart-cli for issues related to the 'dart' command like tool.
dart doctor
#55117
Flutter has a
flutter doctor
that helps installing prerequisite tools.We've discussed adding a similar
dart doctor
(#54254 (comment)) but didn't have a tracking issue yet.One use case is C linker invocation from the Dart tooling (#49418).
However, we might have arbitrary tools being invoked by
build.dart
orlink.dart
hooks (#50565). A rust compiler, a C linker, a Go compiler, a Wasm compiler, some Java tooling, a JSON minifier, you name it.In those cases it might make more sense that each package has a
bin/doctor.dart
. So that one would rundart run intl doctor
.Now, such packages would then likely shell out to helper packages again
native_toolchain_c
,native_toolchain_rust
.If we make
dart doctor
basically invoke allbin/doctor.dart
of all packages in sequence that would lead to duplicate reports if multiple packages use the same helper package. (Maybe that is okay?)If we would like to catch duplicate reports before reporting back to the user, we'd need a
hook/doctor.dart
in every package instead. And for that we would probably need to somehow make the tools abstraction (dart-lang/native#856) public and serializable. (Which might be a bit far fetched.)Before committing to a
dart doctor
, we could prototype something inpackage:dart_doctor
.cc @mosuem @mit-mit @bkonyi
The text was updated successfully, but these errors were encountered: