3833a7bd3e
If analysis failed due to an exception, "dart analyze" may still report "no issues found" because it didn't get any server errors. It didn't get server errors for a number of reasons: 1. Analysis errors were silent (see https://github.com/dart-lang/sdk/issues/39284) 2. `server` in ErrorNotifier was always `null` because the code that set it did so too early 3. `ErrorNotifier` was never added to the instrumentation service, so never got called anyway Additionally, "dart analyze" printed "No errors found!" even if server errors occurred (as long as the server didn't crash). This change fixes up the server reference in ErrorNotifier, adds it to the instrumentation service and uses a new flag ("--disable-silent-analysis-exceptions") to allow opting-in to getting analysis errors to the client. It also updates "dart analyze" to not print "No errors found!" (and to not use a 0 exit code) when server errors occur. Because this change "fixes" ErrorNotifier, it's possible that with this change clients will now get additional error notifications (non-silent exceptions that were being dropped previously) which could result in users seeing more errors - but presumably errors that should have been reported before anyway. Fixes https://github.com/dart-lang/sdk/issues/49931 Change-Id: I4948117c78b8f382550b7641076de443250bba6b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/358902 Commit-Queue: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Dart CLI tooling
A command-line utility for Dart development.
Usage: dart [vm-options] <command|dart-file> [arguments]
Global options:
-h, --help Print this usage information.
-v, --verbose Show additional command output.
--version Print the Dart SDK version.
--enable-analytics Enable analytics.
--disable-analytics Disable analytics.
Available commands:
analyze Analyze the project's Dart code.
compile Compile Dart to various formats.
create Create a new project.
format Idiomatically format Dart source code.
pub Work with packages.
run Run a Dart program.
test Run tests in this package.
Run "dart help <command>" for more information about a command.
See https://dart.dev/tools/dart-tool for detailed documentation.
Contributing
If you'd like to contribute to the Dart CLI tool, please start by reading the contribution guidelines for the Dart project. Then familiarize yourself with the design principles that guide this tool's UX.
Features and bugs
Please file feature requests and bugs in the Dart SDK issue tracker
with label area-dart-cli.