* Remove the workaround that pinned args to v0.13.6
This reverts most of the changes in commit 6331b6c8b5
* throw exception if exit code is not an integer
* rework command infrastructure to throw ToolExit when non-zero exitCode
* convert commands to return Future<Null>
* cleanup remaining commands to use throwToolExit for non-zero exit code
* remove isUnusual exception message
* add type annotations for updated args package
* Update tools to use `analyzer` from vended Dart SDK.
* updates `flutter_tools` and `flutter_test` to use the SDK-vended `analyzer` package
* tweaks dependency tracking logic to only record the SDK-vended `analyzer` so as not to crash on spurious conflicts (due to transitive dependencies)
* Review fixes.
* brings in analyzer version (`0.27.4-alpha.14`) corresponding to current Dart SDK (`1.18.0-dev.2.0`).
* updates analysis to use prefered API for embedder URI resolution
* adds trampolines to `State` and `StatelessWidget` to allow for warning-free within-library @protected access (needed since we closed off access to @protected closures from outside subclasses).
* turns off cache dependency tracking for analysis (in DDC this amounted to a 10% speed improvement).
Prep to get us ready to pull in a new dev SDK and bump our analyzer DEP.
* updates `crypto` (required by fresh analyzer)
* fixes newly flagged dead code warnings
* fixes switches that fall through and don't return
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 :)
* add google analytics
* send in the run target type
* track device type targets
* use the real GA code
* review comments
* rev to usage 2.0
* rev to 2.2.0 of usage; add tests
* review comments
* add a dev/dartdoc.dart script to generate docs for the packages/ packages
* remove description
* rename readme
* change to using --include-external
* move docs to dev/docs