James D. Lin 14c5c6e161
Clean up ProjectFileInvalidator.findInvalidated a bit (#41889)
In preparation for some refactoring that I will be doing to
`ProjectFileInvalidator.findInvalidated`, make its code a bit
clearer:
* Indicate which arguments may be null.
* Don't bother calling `FileStat.statSync` on the `.packages` file
  for the initial load.  This makes the checks for the `.packages`
  file consistent with those for other files.
* Use `DateTime.isAfter()` instead of comparing microseconds
  ourselves.

While I was touching this file, I also removed some unnecessary
comparisons to `false`. (`_ManifestAssetBundle.wasBuiltOnce()` is the
only implementation I can find of `AssetBundle.wasBuiltOnce()`, and
it never returns `null`.)
2019-10-04 12:55:17 -07:00
..

Flutter Tools

Command line developer tools for building Flutter applications.

Working on Flutter Tools

Be sure to follow the instructions on CONTRIBUTING.md to set up your development environment.

Setup

First, ensure that the Dart SDK and other necessary artifacts are available by invoking the Flutter Tools wrapper script. In this directory run:

$ ../../bin/flutter --version

Running

To run Flutter Tools from source, in this directory run:

$ ../../bin/cache/dart-sdk/bin/dart bin/flutter_tools.dart

followed by command line arguments, as usual.

Analyzing

To run the analyzer on Flutter Tools, in this directory run:

$ ../../bin/flutter analyze

Testing

To run the tests in the test/ directory, first ensure that there are no connected devices. Then, in this directory run:

$ ../../bin/cache/dart-sdk/bin/pub run test

The tests in test/integration.shard are slower to run than the tests in test/general.shard. To run only the tests in test/general.shard, in this directory run:

$ ../../bin/cache/dart-sdk/bin/pub run test test/general.shard

To run the tests in a specific file, run:

$ ../../bin/cache/dart-sdk/bin/pub run test test/general.shard/utils_test.dart

When running all of the tests, it is a bit faster to use build_runner. First, set FLUTTER_ROOT to the root of your Flutter checkout. Then, in this directory run:

$ ../../bin/cache/dart-sdk/bin/pub run build_runner test

Forcing snapshot regeneration

To force the Flutter Tools snapshot to be regenerated, delete the following files:

$ rm ../../bin/cache/flutter_tools.stamp ../../bin/cache/flutter_tools.snapshot