-
Notifications
You must be signed in to change notification settings - Fork 28.9k
Description
Currently on many platforms there are critical files for the native build system that are generated by building, such that you must flutter build
or flutter run
before using those systems directly. Some cases that I've run into:
- Android:
gradlew
isn't generated until building. - Linux:
ninja
files for each configuration (debug, release) aren't created until building for that configuration. - Windows: the generated Visual Studio solution isn't created until building.
- [ETA:] iOS/macOS: the Podfile isn't created until building.
As an example of things this affects, the flutter/plugin repository tooling must build examples before being able to run unit tests on most platforms, which is not ideal (especially on Linux, where since we're only building release mode, we can only run unit tests in release mode unless we make CI much slower).
In at least the Linux and Windows case, the step for generating the native build files is easily separable from the actual build, so with minor refactoring we could have a new command that would run just that (fast) step, without the expensive build.