mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Closes https://github.com/flutter/flutter/issues/148444 (code de-duplicated). Closes https://github.com/flutter/flutter/issues/150877 (`--build-strategy=local`). Closes https://github.com/flutter/flutter/issues/150884 (`--build-strategy=remote`). Replaces duplicate code across ~3 commands (query, test, build) with a class called `BuildPlan`, which encapsulates (a) concurrency, (b) build configuration, (c) RBE, (d) LTO, and (e) build strategy. I also moved all of the validation of the build plan into `build_plan_test`, which gives us better coverage at a lower cost (less things to think about in that suite of tests). I know the diff looks scary, but 1K of the 1.4K is tests. /cc @gaaclarke @flar