2018-04-20 08:02:44 +00:00
|
|
|
# Flutter Tools
|
2015-07-23 06:46:27 +00:00
|
|
|
|
2019-07-23 16:47:06 +00:00
|
|
|
Command line developer tools for building Flutter applications.
|
2015-08-08 11:05:32 +00:00
|
|
|
|
2019-07-23 16:47:06 +00:00
|
|
|
## Working on Flutter Tools
|
2018-10-18 17:58:16 +00:00
|
|
|
|
2019-07-23 16:47:06 +00:00
|
|
|
Be sure to follow the instructions on [CONTRIBUTING.md](../../CONTRIBUTING.md)
|
|
|
|
to set up your development environment.
|
2015-08-08 11:05:32 +00:00
|
|
|
|
2019-07-23 16:47:06 +00:00
|
|
|
### 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:
|
2017-02-14 05:31:53 +00:00
|
|
|
```shell
|
2019-07-23 16:47:06 +00:00
|
|
|
$ rm ../../bin/cache/flutter_tools.stamp ../../bin/cache/flutter_tools.snapshot
|
2017-02-14 05:31:53 +00:00
|
|
|
```
|