# Flutter Tools Command line developer tools for building Flutter applications. ## Working on Flutter Tools Be sure to follow the instructions on [CONTRIBUTING.md](../../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: ```shell $ ../../bin/flutter --version ``` ### Running To run Flutter Tools from source, in this directory run: ```shell $ ../../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: ```shell $ ../../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: ```shell $ ../../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: ```shell $ ../../bin/cache/dart-sdk/bin/pub run test test/general.shard ``` To run the tests in a specific file, run: ```shell $ ../../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: ```shell $ ../../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: ```shell $ rm ../../bin/cache/flutter_tools.stamp ../../bin/cache/flutter_tools.snapshot ```