Matan Lurey 173af3d95f Refactor multi-file build parsing into a single BuildPlan class. (flutter/engine#55720)
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
2024-10-08 23:45:20 +00:00

30 lines
590 B
YAML

# Copyright 2013 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
name: engine_tool
publish_to: none
# Required for workspace support.
environment:
sdk: ^3.5.0-294.0.dev
# This package is managed as part of the engine workspace.
resolution: workspace
dependencies:
args: any
collection: any
engine_build_configs: any
engine_repo_tools: any
file: any
logging: any
meta: any
path: any
platform: any
process_runner: any
dev_dependencies:
process_fakes: any
test: any