Skip to content

[flutter_tools] Deprecate --build and --no-build flags on flutter run - #191358

Merged
auto-submit[bot] merged 3 commits into
flutter:masterfrom
bkonyi:investigation/issue-68529
Aug 21, 2026
Merged

auto-submit[bot] merged 3 commits into
flutter:masterfrom
bkonyi:investigation/issue-68529

Conversation

@bkonyi

@bkonyi bkonyi commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Description

This PR formally deprecates the `--build` and `--no-build` flags on `flutter run` in favor of `--use-application-binary`, aligning `flutter run` with `flutter drive` (which previously deprecated `--build`).

Context & Changes

  • In 2019 (#37735), `flutter run` stopped handling the `build` flag when `--use-application-binary` was added, but the flag definition was unintentionally left on `argParser`, causing it to remain in `--help` as a silent no-op.
  • Rather than restoring implicit build-skipping behavior (which introduces ambiguity regarding which derived artifact to run across build flavors, split APKs, and schemes), we deprecate `--[no-]build` and direct users to `--use-application-binary`.
  • Hides `--build` from standard `flutter run -h` output (`hide: !verboseHelp`).
  • Emits a deprecation warning when `--build` or `--no-build` is passed.
  • Adds hermetic unit tests in `run_test.dart` for the deprecation warnings.

Related Issues

Fixes #68529

Tests

  • Added hermetic unit tests in `packages/flutter_tools/test/commands.shard/hermetic/run_test.dart` verifying warning triggers and default execution.
  • Verified `packages/flutter_tools/test/general.shard/args_test.dart` passes.

bkonyi added 2 commits August 19, 2026 15:07
Deprecate the '--build' and '--no-build' flags on the 'flutter run'
command in favor of '--use-application-binary', aligning with
'flutter drive'. Emit a deprecation warning when the flag is explicitly
passed.
@github-actions github-actions Bot added the tool Affects the "flutter" command-line tool. See also t: labels. label Aug 19, 2026
@bkonyi bkonyi added the CICD Run CI/CD label Aug 19, 2026
@bkonyi
bkonyi marked this pull request as ready for review August 20, 2026 14:58
@bkonyi
bkonyi requested a review from jmagman August 20, 2026 14:59

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request deprecates the --build and --no-build flags in the flutter run command, adding warning messages and corresponding tests. The review feedback suggests tailoring the warning messages to distinguish between --build (which is the default behavior and can be safely removed) and --no-build (which should point to --use-application-binary), and updating the test assertions accordingly.

Comment thread packages/flutter_tools/lib/src/commands/run.dart
Comment thread packages/flutter_tools/test/commands.shard/hermetic/run_test.dart
Comment thread packages/flutter_tools/test/commands.shard/hermetic/run_test.dart
Comment thread packages/flutter_tools/test/commands.shard/hermetic/run_test.dart
@bkonyi bkonyi added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 21, 2026
@auto-submit
auto-submit Bot added this pull request to the merge queue Aug 21, 2026
Merged via the queue into flutter:master with commit e210443 Aug 21, 2026
22 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Aug 21, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Aug 22, 2026
Roll Flutter from c2437523d308 to 65c9a8dc60bc (195 revisions)

flutter/flutter@c243752...65c9a8d

2026-08-22 [email protected] Roll ICU from d578f2e8b7bd to 8cc91d9b6ab9 (1 revision) (flutter/flutter#191542)
2026-08-22 [email protected] Roll Skia from 666a9b3d5cf0 to ad2106c0bb64 (3 revisions) (flutter/flutter#191527)
2026-08-22 [email protected] Roll Fuchsia Test Scripts from KaOq3EE4qJ9fnaaaK... to 0iCv10IlKfiilEBOU... (flutter/flutter#191524)
2026-08-22 [email protected] [flutter_tools] Add tests for negative lookahead regex in test runner and batch entrypoints (flutter/flutter#191438)
2026-08-22 [email protected] Roll Skia from 0c37868737fa to 666a9b3d5cf0 (2 revisions) (flutter/flutter#191518)
2026-08-21 [email protected] Revert "[input] Migrate fuchsia.ui.pointerinjector to TouchSource (#190855) (flutter/flutter#191509)
2026-08-21 [email protected] Fixes windows gallery benchmarks by forcing mobile layout (flutter/flutter#191507)
2026-08-21 [email protected] [flutter_tools] Restrict WebAssetServer source resolution to source map extensions (flutter/flutter#191501)
2026-08-21 [email protected] Roll Skia from f6900c5b8439 to 0c37868737fa (2 revisions) (flutter/flutter#191504)
2026-08-21 [email protected] Refactor `FlutterDevice.connect` and VM service discovery (flutter/flutter#191221)
2026-08-21 [email protected] [flutter_tools] Fix crash when migrating flow-style exclude lists in analysis_options.yaml (flutter/flutter#191269)
2026-08-21 [email protected] [rules] Add packages/flutter_tools/gradle/AGENTS.md rules (flutter/flutter#191486)
2026-08-21 [email protected] [flutter_tools] refactor CLI argument architecture with typed option descriptors and bundles (PoC) (flutter/flutter#191018)
2026-08-21 [email protected] tools: Extract Dart SDK to temp directory before moving to final location (flutter/flutter#191263)
2026-08-21 [email protected] [web] Move CanvasKit fragment shader classes to canvaskit/fragment_shader.dart (flutter/flutter#191451)
2026-08-21 [email protected] Roll Fuchsia Linux SDK from GCQlmt6h-esJsNubS... to ic6GjOSn-KN508XyK... (flutter/flutter#191485)
2026-08-21 [email protected] [Widget Preview] Isolate PageStorage scope in widget preview group expansion tile (flutter/flutter#191378)
2026-08-21 [email protected] [flutter_tools] Deprecate --build and --no-build flags on flutter run (flutter/flutter#191358)
2026-08-21 [email protected] Roll Skia from 70988bed1b3b to f6900c5b8439 (2 revisions) (flutter/flutter#191481)
2026-08-21 [email protected] Roll Packages from 1785501 to 252bb33 (6 revisions) (flutter/flutter#191480)
2026-08-21 [email protected] Roll Fuchsia Linux SDK from 20IJas24bZiNmCZTK... to GCQlmt6h-esJsNubS... (flutter/flutter#191415)
2026-08-21 [email protected] Roll Skia from 2ba6971bd0d1 to 70988bed1b3b (2 revisions) (flutter/flutter#191476)
2026-08-21 [email protected] Roll Skia from 1d5f72537ba6 to 2ba6971bd0d1 (2 revisions) (flutter/flutter#191473)
2026-08-21 [email protected] Roll Skia from 2c25efd2e369 to 1d5f72537ba6 (1 revision) (flutter/flutter#191472)
2026-08-21 [email protected] Roll Skia from 09b1b810850a to 2c25efd2e369 (9 revisions) (flutter/flutter#191470)
2026-08-21 [email protected] [Impeller] fix position of cached single glyph text shadows (flutter/flutter#191325)
2026-08-21 [email protected] Roll Skia from abdf8821f313 to 09b1b810850a (15 revisions) (flutter/flutter#191458)
2026-08-21 [email protected] Document that programmatic TextEditingController changes do not run input formatters (flutter/flutter#190166)
2026-08-21 [email protected] Adds new gallery benchmarks to windows (skia and impeller) (flutter/flutter#191454)
2026-08-21 [email protected] iOS: Deprecate FlutterEngine.isGpuDisabled (flutter/flutter#191393)
2026-08-21 [email protected] Revert: [web] Unskip decoration image lerp tests (flutter/flutter#191462)
2026-08-20 [email protected] android_hardware_smoke_test: Improve reliability (flutter/flutter#191374)
2026-08-20 [email protected] Don't size or offset the Android platform view before it is laid out (flutter/flutter#190895)
2026-08-20 [email protected] [iOS][add2app] Skip building SwiftPM plugins when generating CocoaPods artifacts (flutter/flutter#190736)
2026-08-20 [email protected] Optimize JSONMessageCodec UTF-8 conversion (flutter/flutter#190529)
2026-08-20 [email protected] [FML] Replace deprecated wstring_convert with Win32 APIs (flutter/flutter#191394)
2026-08-20 [email protected] SliverFillRemaining extends beyond viewport size when fillOverscroll is true (flutter/flutter#191236)
2026-08-20 [email protected] [flutter_tools] Update argParser usageLineLength when --wrap-column is passed (flutter/flutter#191264)
2026-08-20 [email protected] [flutter_tools] Fix UNC path resolution in depfile parsing on Windows (flutter/flutter#191265)
2026-08-20 [email protected] [web] Unskip decoration image lerp tests (flutter/flutter#191426)
2026-08-20 [email protected] Do not inject 'type' and 'method' into service extension responses (flutter/flutter#190946)
2026-08-20 [email protected] [flutter_tools] Fix crash in symbolize command on stream error (flutter/flutter#191273)
2026-08-20 [email protected] [flutter_tools] Prevent deletion of shared native asset hooks outputs as stale (flutter/flutter#191272)
2026-08-20 [email protected] [flutter_tools] Support package wildcard assets in app pubspec (flutter/flutter#191266)
2026-08-20 [email protected] Add SliverClipRect and SliverClipRRect (flutter/flutter#179003)
2026-08-20 [email protected] [flutter_tools] Implement Diagnostics extension slice and doctor integration (flutter/flutter#191162)
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

flutter run --no-build still builds the app

2 participants