* working on making a faster flutter run restart
* clean up todos; fire events on isolate changes
* use the Flutter.FrameworkInitialization event
* review comments
* rename service_protocol.dart to protocol_discovery.dart
* add a wrapper around the obs. protocol
* use json-rpc in run
* consolidate obs. code; implement flutter run --benchmark
* review comments
Updates the analyze command to pass a package map to analysis rather than a file path.
This allows us to avoid creating a needless temporary `.packages` file and host directory and saves us a trip to disk to retrieve the contents when building our URI resolvers for analysis.
Introduces a new Dart analysis wrapper that works directly with the analyzer API (in favor of shelling out to a separate process).
Some consequences:
* we no longer need to fear parts (simplifying our dart file gathering)
* we can filter by error code (when needed), rather than by error strings
* no more IO scraping
* no need to generate `main()` or to run with `--package-warnings`
* we now specify an analyzer (and linter) version in the pubspec (we’ll want to make sure this doesn’t diverge too far from the analyzer shipped with the SDK but it does give us some room to play with experimental builds)
* no more (re)scanning of error source files (and so no more source cache)
* should generally be a bit simpler and easier to maintain
* runs a bit faster :)
With the new dev build we've got the updated linter and so can use the `@optionalTypeArgs` annotation (in `meta 0.12.0`).
Bonus: this lets us clean up one more Regexp in the `analyze` command! :)
* run pub for analyze and test
* don't run pub when doing repo analysis
* move logic for when to run pub into the commands
* re-write ternary expression
The push to dev-4 allows us to cleanup a few more bits:
* `api_docs` lint message special casing (lint fixed)
* `allowedIdentifiersPattern` (lint fixed)
* Enable the lint require documentation.
* Track how many public Flutter members lack docs
* Rename the .analysis_options file
This makes Atom happier in the flutter_tools package.