tree d424b4512943a220d1e0547530992d5607568784
parent 4fbef2a4a9fd11baafd1a94d25265e753a81c3bc
author Ian Hickson <ian@hixie.ch> 1577754739 -0800
committer GitHub <noreply@github.com> 1577754739 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJeCqBzCRBK7hj4Ov3rIwAAdHIIAAxqH/C8CBRLiRiBMmMwZYHC
 p2jkgZrpHBa4fT2TfT0Sn7ltNihlIIXaNfu6upbx7CZ1uNXjh31XFv7RIgZtGzr/
 KmX1BLXxGAs/ITrL9S+CLE4FfhjroK8xjpaANjxk48xs37/b+se9yDy2i+aeM7pE
 vFtmhJHvK9JDl4F/zU8GKgofeLcEwO93DRQbk3iP7QFXf095JHlPxUyD3NMibQf1
 qfw5kmN3l9PH0L4wFQJBnENHCKxJNavRAWuosJYDKrJPUXL9Qjh3dWifQWaIlyRN
 f2qBrJBJ40wIObdS06BLO8tyrMHL1+5+caHGa3IyhqWx25EV8O8gwZ0moBdGtJo=
 =fKzK
 -----END PGP SIGNATURE-----
 

Add many more global analyses. (#47875)

* Update packages.

* Add many more global analyses.

* Catch trailing spaces and trailing newlines in all text files.
  Before we were only checking newly added files, but that means we
  missed some.

* Port the trailing spaces logic to work on Windows too.

* Correct all the files with trailing spaces and newlines.

* Refactor some of the dev/bots logic into a utils.dart library.
  Notably, the "exit" and "print" shims for testing are now usable
  from test.dart, analyze.dart, and run_command.dart.

* Add an "exitWithError" function that prints the red lines and
  then exits. This is the preferred way to exit from test.dart,
  analyze.dart, and run_command.dart.

* More consistency in the output of analyze.dart.

* Refactor analyze.dart to use the _allFiles file enumerating logic
  more widely.

* Add some double-checking logic to the _allFiles logic to catch
  cases where changes to that logic end up catching fewer files
  than expected (helps prevent future false positives).

* Add a check to prevent new binary files from being added to
  the repository. Grandfather in the binaries that we've already
  added.

* Update all the dependencies (needed because we now import crypto in
  dev/bots/analyze.dart).
