You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: lib/web_ui/dev/README.md
+21-2
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,9 @@
1
1
## What's `felt`?
2
+
2
3
`felt` stands for "Flutter Engine Local Tester". It's a cli tool that aims to make development in the Flutter web engine more productive and pleasant.
3
4
4
5
## What can `felt` do?
6
+
5
7
`felt` supports multiple commands as follows:
6
8
7
9
1.**`felt check-licenses`**: Checks that all Dart and JS source code files contain the correct license headers.
@@ -11,26 +13,40 @@
11
13
You could also run `felt help` or `felt help <command>` to get more information about the available commands and arguments.
12
14
13
15
## How can I use `felt`?
16
+
14
17
Once you have your local copy of the engine [setup](https://github.com/flutter/flutter/wiki/Setting-up-the-Engine-development-environment), it's recommended that you add `/path/to/engine/src/flutter/lib/web_ui/dev` to your `PATH`.
15
18
Then you would be able to use the `felt` tool from anywhere:
19
+
16
20
```
17
21
felt check-licenses
18
22
```
23
+
19
24
or:
25
+
20
26
```
21
27
felt build --watch
22
28
```
23
29
24
30
If you don't want to add `felt` to your path, you can still invoke it using a relative path like `./web_ui/dev/felt <command>`
25
31
26
-
## Speeding up your builds
27
-
You can speed up your builds by using more CPU cores. Pass `-j` to specify the desired level of parallelism, like so:
32
+
## Speeding up your builds and tests
33
+
34
+
You can speed up `ninja` and `dart2js` by adding parallelism and taking advantage of more cores.
35
+
36
+
To speed up ninja pass `-j` to specify the desired level of parallelism, like so:
37
+
28
38
```
29
39
felt build [-w] -j 100
30
40
```
41
+
31
42
If you are a Google employee, you can use an internal instance of Goma to parallelize your builds. Because Goma compiles code on remote servers, this option is effective even on low-powered laptops.
32
43
44
+
By default, when compiling Dart code to JavaScript, we use 4 `dart2js` workers.
45
+
If you need to increase or reduce the number of workers, set the `BUILD_MAX_WORKERS_PER_TASK`
46
+
environment variable to the desired number.
47
+
33
48
## Running web engine tests
49
+
34
50
To run all tests on Chrome. This will run both integration tests and the unit tests:
35
51
36
52
```
@@ -86,6 +102,7 @@ felt test test/golden_tests/engine/canvas_golden_test.dart
86
102
```
87
103
88
104
To debug a test on Chrome:
105
+
89
106
```
90
107
felt test --debug test/golden_tests/engine/canvas_golden_test.dart
91
108
```
@@ -110,7 +127,9 @@ To make sure you are running the `felt` tool with your changes included, you wou
0 commit comments