5857 Commits

Author SHA1 Message Date
Ben Konyi
f73fdee513 Merge branch 'main' of github.com:flutter/flutter into remove_package_usage 2025-07-08 10:58:51 -04:00
John "codefu" McDole
13d2219efd
feat: Use engine_stamp.json in flutter tool (#171454)
The flutter tool will now download and use an `engine_stamp.json` file
to determine the engine version, content hash, build date, and commit
date.

The file is treated as a new `DevelopmentArtifact.informative` and is
fetched before flutterVersion is used. This ensures we have build
information for a clean checkout with no bin/cache folder. Users that
download from flutter.dev will have engine_stamp.json, so its a no-op.

This change provides support for content hashed engine artifacts, who's
revision (the hash) is not a git commit sha. A side benefit is "git" is
only used at build time to extract this information.

> [!NOTE]
> Content hashed artifacts are not enabled yet for downloads;
bin/internal/engine.version (releases) and the shell updaters still look
for the git commit sha. One can test this out by setting
`FLUTTER_PREBUILD_ENGINE_VERSION` to the content hash.
2025-07-08 00:16:42 +00:00
Ben Konyi
a5541161e8
[ Tool ] Remove long-deprecated make-host-app-editable (#171715)
Fixes https://github.com/flutter/flutter/issues/59220
2025-07-08 00:09:26 +00:00
auto-submit[bot]
9b0f94aef6
Reverts "Bump warn and error versions of agp, kotlin and gradle versions in preparation for gradle 9 (#171399)" (#171736)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#171399
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: matanlurey
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Many Gradle/Android related tasks are failing
([one
example](https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_mokey%20run_release_test/1347/overview))
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: reidbaker
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {gmackall}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
https://gradle.org/whats-new/gradle-9/ is coming and with it includes
some deprecated methods. Some like
https://github.com/flutter/flutter/pull/171397 can be fixed by
annotations and calling new methods. Some like the deprecation of
minsdkversion on Variant require bumping the minimum versions to be able
to compile code that will work.

b/368604254

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.


<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-07-07 23:22:47 +00:00
Reid Baker
84a5ce765d
Bump warn and error versions of agp, kotlin and gradle versions in preparation for gradle 9 (#171399)
https://gradle.org/whats-new/gradle-9/ is coming and with it includes
some deprecated methods. Some like
https://github.com/flutter/flutter/pull/171397 can be fixed by
annotations and calling new methods. Some like the deprecation of
minsdkversion on Variant require bumping the minimum versions to be able
to compile code that will work.

b/368604254

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2025-07-07 22:11:15 +00:00
Ben Konyi
9de6f68267
[ Tool ] Fix crash when SIGQUIT is sent to enable the VM service for flutter analyze --watch (#171713)
The command was parsing stdout assuming all contents were JSON.

Fixes https://github.com/flutter/flutter/issues/58391
2025-07-07 20:41:26 +00:00
Mouad Debbar
9ed8f90761
Run hot_reload_web_test.dart on Mac/Windows (#171279)
Part of https://github.com/flutter/flutter/issues/171276
2025-07-07 20:03:55 +00:00
Ben Konyi
f64e35af94
[ Tool ] Prepare for enabling omit_obvious_*_types and specify_nonobvious_*_types (#171651)
Applying the specified lints will cause some minor breakages that can be
resolved before the lints are enforced.
2025-07-07 20:02:09 +00:00
Mouad Debbar
a9a2d74ac5
[web] Wasm minification default matches JS minification default (#171710)
The default minification behavior should be based on build mode.

Fixes https://github.com/flutter/flutter/issues/171702
2025-07-07 19:58:24 +00:00
Ben Konyi
a249c05d3f Merge branch 'main' of github.com:flutter/flutter into remove_package_usage 2025-07-07 15:32:29 -04:00
Kate Lovett
a04fb324be
Bump Dart to 3.8 and reformat (#171703)
Bumps the Dart version to 3.8 across the repo (excluding
engine/src/flutter/third_party) and applies formatting updates from Dart
3.8.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-07-07 17:58:32 +00:00
Ben Konyi
3becc31be8
[ Widget Previews ] Add analytics for flutter widget-preview start (#171641)
Tracks the following metrics:

- Overall launch time with/without generating the widget preview
scaffold
- Time from detecting a file change within the tracked project to
actually loading the updated previews into the previewer

Fixes https://github.com/flutter/flutter/issues/166418
2025-07-04 20:38:26 +00:00
Ben Konyi
3f63a7cb64 [ Tool ] Remove legacy analytics code
`package:usage` has been replaced with `package:unified_analytics` and
can now be removed from the tool.
2025-07-04 16:33:01 -04:00
Ben Konyi
bcab634d60
[ Widget Preview ] Add a "Restart Widget Previewer" button to the widget preview scaffold (#171602)
This allows for developers to perform a hot restart on the preview
environment in the case they get into a bad state.

This change adds a `hotRestartPreviewer` method to the `widget-preview`
DTD service registered by the Flutter Tool, which is invoked by the
previewer.


![image](https://github.com/user-attachments/assets/477ce947-76a5-4e78-9769-0ee7f23f2ba6)
2025-07-04 17:57:24 +00:00
Ben Konyi
750b87f551
[ Widget Previews ] Add support for Pub Workspaces (#171538)
Updates the widget previewer to properly handle previews defined across
a workspace. This is effectively equivalent to displaying previews from
multiple individual projects, which required a fairly significant rework
to properly support:

 - resolving asset paths to the right project
 - loading assets across projects in the workspace
 - tracking changes to pubspec.yaml files across the workspace

While making this change, it became apparent that we don't need to
explicitly list the assets from the various projects explicitly in the
scaffold's pubspec.yaml as they're automatically pulled in by adding
those project's as dependencies and using the `package/$ASSET_PATH`
format to load the assets from the scaffold. This allowed for the
removal of a significant amount of logic related to building the
scaffold's pubspec.

Fixes https://github.com/flutter/flutter/issues/169268
2025-07-03 18:09:23 +00:00
Derek Xu
d0d68fc0c8
Add --profile-microtasks flag to flutter run (#170877)
This PR adds a `--profile-microtasks` flag to `flutter run` that can be
used to set [the Flutter Engine's `--profile-microtasks`
switch](https://github.com/flutter/flutter/pull/170690).
2025-07-03 17:16:57 +00:00
Loïc Sharma
19ff5c9419
[Tool] Add all enabled features property (#171547)
https://github.com/flutter/flutter/pull/168437 was reverted as it broke
google3. This adds a `FeatureFlags.allEnabledFeatures` property to the
Flutter tool, which google3 will override to inject its custom feature
flag logic.

[Example google3
failure](https://inspector.corp.google.com/testview;invocationId=0097882f-0362-4cd4-8e82-5e00043b9027;targetId=%2F%2Fmobile%2Fflutter%2Ftests%2Fapp:outside_lib_hot_reload_attach_ios_test_IPHONE_11_15_5;configurationId=8f5d940a576e21051acb7c86f3e612ecc6fed1fab8f179d5a1df840fb4dd05bb;actionId=test_shard0_run0_attempt0;testCase=%23can%20hot%20reload%20the%20app).

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-07-02 22:52:42 +00:00
auto-submit[bot]
c2cd71309f
Reverts "Add feature flags to the framework (#168437)" (#171542)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#168437
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: chingjun
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: broke internal customers
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: loic-sharma
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {bkonyi, justinmc, matanlurey}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
## Motivation

We'd like to let users opt-in to experimental features so that they can
give early feedback while we iterate on the feature. For example:

Example feature flags:

1. Android sensitive content:
https://github.com/flutter/flutter/pull/158473. When enabled, Flutter
will tell Android when the view contains sensitive content like a
password.
2. Desktop multi-window. When enabled, Flutter will use child windows to
allow things like a context menu to "escape" outside of the current
window.

### Use case

Users will be able to turn on features by:

* **Option 1**: Run `flutter config --enable-my-feature`. This enables
the feature for all projects on the machine
* **Option 2**: Add `enable-my-feature: true` in their `pubspec.yaml`,
under the `flutter` section. This would enable the for a single project
on the machine.

Turning on a feature affects _both_ development-time (`flutter run`) and
deployment-time (`flutter build x`). For example, I can `flutter build
windows` to create an `.exe` with multi-window features enabled.

## How this works

This adds a new
[`runtimeId`](https://github.com/flutter/flutter/pull/168437/files#diff-0ded384225f19a4c34d43c7c11f7cb084ff3db947cfa82d8d52fc94c112bb2a7R243-R247)
property to the tool's `Feature` class. If a feature is on and has a
`runtimeId`, its `runtimeId` will be [stamped into the Dart application
as a Dart
define](https://github.com/flutter/flutter/pull/168437/files#diff-bd662448bdc2e6f50e47cd3b20b22b41a828561bce65cb4d54ea4f5011cc604eR293-R327).
The framework uses this Dart define to [determine which features are
enabled](https://github.com/flutter/flutter/pull/168437/files#diff-c8dbd5cd3103bc5be53c4ac5be8bdb9bf73e10cd5d8e4ac34e737fd1f8602d45).

### Multi-window example

https://github.com/flutter/flutter/pull/168697 shows how this new
feature flag system can be used to add a multi-window feature flag:

1. It adds a new [multi-window
feature](https://github.com/flutter/flutter/pull/168697/files#diff-0ded384225f19a4c34d43c7c11f7cb084ff3db947cfa82d8d52fc94c112bb2a7R189-R198)
to the Flutter tool. This can be turned on using `flutter config
--enable-multi-window` or by putting `enable-multi-window: true` in an
app's .pubspec, under the `flutter` section.
2. It adds a new
[`isMultiWindowEnabled`](https://github.com/flutter/flutter/pull/168697/files#diff-c8dbd5cd3103bc5be53c4ac5be8bdb9bf73e10cd5d8e4ac34e737fd1f8602d45R7-R11)
property to the framework.
3. The Material library can use this new property to determine whether
it should create a new window.
[Example](https://github.com/flutter/flutter/pull/168697/files#diff-2cbc1634ed6b61d61dfa090e7bfbbb7c60b74c8abc3a28df6f79eee691fd1b73).

## Limitations

### Tool and framework only

For now, these feature flags are available only to the Flutter tool and
Flutter framework. The flags are not automatically available to the
embedder or the engine.

For example, embedders need to configure their surfaces differently if
Impeller is enabled. This configuration must happen before the Dart
isolate is launched. As a result, the framework's feature flags is not a
viable solution for this scenario for now. For these kinds of scenarios,
we should continue to use platform-specific configuration like the
`AndroidManifest.xml` or `Info.plist` files.

This is a fixable limitation, we just need to invest in this plumbing :)

### Tree shaking

Feature flags are not designed to help tree shaking. For example, you
cannot conditionally import Dart code depending on the enabled feature
flags. Code that is feature flagged off will still be imported into
user's apps.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-07-02 20:31:18 +00:00
Loïc Sharma
c6f9e801b2
Add feature flags to the framework (#168437)
## Motivation

We'd like to let users opt-in to experimental features so that they can
give early feedback while we iterate on the feature. For example:

Example feature flags:

1. Android sensitive content:
https://github.com/flutter/flutter/pull/158473. When enabled, Flutter
will tell Android when the view contains sensitive content like a
password.
2. Desktop multi-window. When enabled, Flutter will use child windows to
allow things like a context menu to "escape" outside of the current
window.

### Use case

Users will be able to turn on features by:

* **Option 1**: Run `flutter config --enable-my-feature`. This enables
the feature for all projects on the machine
* **Option 2**: Add `enable-my-feature: true` in their `pubspec.yaml`,
under the `flutter` section. This would enable the for a single project
on the machine.

Turning on a feature affects _both_ development-time (`flutter run`) and
deployment-time (`flutter build x`). For example, I can `flutter build
windows` to create an `.exe` with multi-window features enabled.

## How this works

This adds a new
[`runtimeId`](https://github.com/flutter/flutter/pull/168437/files#diff-0ded384225f19a4c34d43c7c11f7cb084ff3db947cfa82d8d52fc94c112bb2a7R243-R247)
property to the tool's `Feature` class. If a feature is on and has a
`runtimeId`, its `runtimeId` will be [stamped into the Dart application
as a Dart
define](https://github.com/flutter/flutter/pull/168437/files#diff-bd662448bdc2e6f50e47cd3b20b22b41a828561bce65cb4d54ea4f5011cc604eR293-R327).
The framework uses this Dart define to [determine which features are
enabled](https://github.com/flutter/flutter/pull/168437/files#diff-c8dbd5cd3103bc5be53c4ac5be8bdb9bf73e10cd5d8e4ac34e737fd1f8602d45).

### Multi-window example

https://github.com/flutter/flutter/pull/168697 shows how this new
feature flag system can be used to add a multi-window feature flag:

1. It adds a new [multi-window
feature](https://github.com/flutter/flutter/pull/168697/files#diff-0ded384225f19a4c34d43c7c11f7cb084ff3db947cfa82d8d52fc94c112bb2a7R189-R198)
to the Flutter tool. This can be turned on using `flutter config
--enable-multi-window` or by putting `enable-multi-window: true` in an
app's .pubspec, under the `flutter` section.
2. It adds a new
[`isMultiWindowEnabled`](https://github.com/flutter/flutter/pull/168697/files#diff-c8dbd5cd3103bc5be53c4ac5be8bdb9bf73e10cd5d8e4ac34e737fd1f8602d45R7-R11)
property to the framework.
3. The Material library can use this new property to determine whether
it should create a new window.
[Example](https://github.com/flutter/flutter/pull/168697/files#diff-2cbc1634ed6b61d61dfa090e7bfbbb7c60b74c8abc3a28df6f79eee691fd1b73).

## Limitations

### Tool and framework only

For now, these feature flags are available only to the Flutter tool and
Flutter framework. The flags are not automatically available to the
embedder or the engine.

For example, embedders need to configure their surfaces differently if
Impeller is enabled. This configuration must happen before the Dart
isolate is launched. As a result, the framework's feature flags is not a
viable solution for this scenario for now. For these kinds of scenarios,
we should continue to use platform-specific configuration like the
`AndroidManifest.xml` or `Info.plist` files.

This is a fixable limitation, we just need to invest in this plumbing :)

### Tree shaking

Feature flags are not designed to help tree shaking. For example, you
cannot conditionally import Dart code depending on the enabled feature
flags. Code that is feature flagged off will still be imported into
user's apps.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-07-02 17:13:53 +00:00
Reid Baker
1dfb59d281
Android min sdk 24 part 1 (#170882)
- **bump template version, update migration code to handle api 21-23 and
expand it to cover multiple min api level definitions**
- **bump add to app project to minimum api level 24**
- **PathUtilsTest converted to using config, removed test code that
branched on versions older than 24**
- **Update additional build.gradle files to have minsdk 24 and
documenation**

Related to #170807

G3 cls 
- espresso https://critique.corp.google.com/cl/776592881
- integration tests cl/778034198
- removal of pre api 23 samples tests cl/777652802


## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

---------

Co-authored-by: Gray Mackall <34871572+gmackall@users.noreply.github.com>
2025-07-02 14:30:22 +00:00
Ben Konyi
4937e469d6
[ Tool ] Update validator of NO_PROXY to explicitly match detected hosts (#171385)
Fixes https://github.com/flutter/flutter/issues/35598
2025-07-02 13:59:09 +00:00
Ben Konyi
8d58596bd9
[ Tool ] Change name of test classes that don't extend Mock from Mock* to Fake* (#171380)
Fixes https://github.com/flutter/flutter/issues/33274
2025-07-02 13:59:09 +00:00
Brandon DeRosier
a0711824a5
Add --enable-flutter-gpu flag to flutter_tool & FLTEnableFlutterGPU to the macOS embedder (#171404)
Resolves https://github.com/flutter/flutter/issues/168126
Resolves https://github.com/flutter/flutter/issues/171361
Resolves https://github.com/bdero/flutter-scene-example/issues/9

FLTEnableFlutterGPU was added for iOS and Android in
https://github.com/flutter/flutter/pull/165337 along with a setting in
the engine. This patch adds macOS support and allows the flag to be
overridden by passing `--enable-flutter-gpu` to the Flutter tool.
2025-07-01 18:27:50 +00:00
Matan Lurey
ad722a2973
Add -v to flutter doctor for crash reporting (#171308)
Towards https://github.com/flutter/flutter/issues/38901.
2025-07-01 17:48:00 +00:00
Matan Lurey
4fbc812a47
Add feature flags to flutter doctor -v (#171307)
Towards https://github.com/flutter/flutter/issues/38901.
2025-07-01 15:44:09 +00:00
Matan Lurey
b524df28bd
Report feature flags enabled if the flutter tool crashes on a bot. (#171304)
Towards https://github.com/flutter/flutter/issues/38901.

Next PR will also add feature flags to `flutter doctor`.
2025-07-01 15:44:09 +00:00
Mouad Debbar
dc56ed81da
Run expression_evaluation_web_ddc_library_bundle_test.dart on Mac/Windows (#171278)
Part of https://github.com/flutter/flutter/issues/171276
2025-06-30 14:59:32 +00:00
Nate Biggs
85486ffffc
Allow minification to be toggled for wasm builds (#171211)
Provides extra minification controls for web builds. Updates the
existing `--minify` flag to pass its value to both JS and wasm (instead
of just JS).

Also adds two new flags `--minify-js` and `--minify-wasm` which toggle
minification for just one of the web targets. While JS minification has
a huge impact on code size, wasm minification has a much smaller effect
on the program's size. Since minification can obfuscate useful info
(like errors) one may want to turn off minification for wasm but leave
it on for JS.

The plan is to temporarily use `--no-minify-wasm` for devtools to help
debug some exceptions being seen.

---------

Co-authored-by: Nate Biggs <natebiggs@google.com>
2025-06-28 17:46:44 +00:00
Matan Lurey
1d93621ed4
Ensure flutter_tools's pubspec.lock is newer than pubspec.yaml (#171300)
Closes https://github.com/flutter/flutter/issues/171024.
2025-06-27 22:26:32 +00:00
Nicholas Shahan
4a60bf22a7
Re-combine reload error and restart test cases (#171251)
Also add an explicit test case for reload rejection error followed by an
expression evaluation.

These cases should work as expected now that this Dart SDK change has
been rolled into Flutter
https://dart-review.googlesource.com/c/sdk/+/434522.

Closes https://github.com/flutter/flutter/issues/170062
2025-06-27 21:03:14 +00:00
Mouad Debbar
8b2f80e04f
Run expression_evaluation_web_amd_test.dart on Mac/Windows (#171277)
Part of https://github.com/flutter/flutter/issues/171276
2025-06-27 17:25:53 +00:00
Kishan Rathore
d72a4853c4
Feat: Add brightness export from widgets.dart (#169410)
Feat: Add brightness export from widgets.dart
fixes: #169294 

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2025-06-26 20:16:25 +00:00
Ben Konyi
b6ea64bee4
[ Tool ] Report Android x86 target devices as unsupported (#170282) 2025-06-25 16:44:07 +00:00
Ben Konyi
1ec94f9572
[ Widget Previews ] Use monospace fonts when displaying stack traces (#171167)
**Example:**
<img width="1149" alt="image"
src="https://github.com/user-attachments/assets/fc2a43a9-7622-479e-bca5-957b9d32d0e7"
/>
2025-06-25 16:15:13 +00:00
Ben Konyi
5959600e16
[ Widget Previews ] Support projects containing libraries with part files (#171027)
Reworked the dependency model to be library based instead of script
based in order to support libraries spanning multiple scripts.

Also refactored test logic to improve maintainability and simply writing
tests against the `PreviewDetector`.
2025-06-25 16:00:10 +00:00
Gray Mackall
47c6e40802
Add Android specific sub-step to validate the Android sdk path has no spaces (#170829)
The android sdk cannot have spaces in it 

<img width="704" alt="Screenshot 2025-06-18 at 11 41 12 AM"
src="https://github.com/user-attachments/assets/2d78599d-8417-4af6-8bc8-f9037f4aab01"
/>


Add a validation step that it doesn't as it currently blocks building an
app bundle (as we need the apkanalyzer now, after the debug symbol
changes).

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Co-authored-by: Gray Mackall <mackall@google.com>
2025-06-25 00:16:17 +00:00
Danny Tuppeny
7deecabc9a
[flutter_tool] Migrate DAP off ProcessUtils.writelnToStdinUnsafe (#171081)
Instead, queue up each write to ensure we don't try to write to the
stream concurrently which leads to "Bad state: StreamSink is bound to a
stream"

Fixes https://github.com/Dart-Code/Dart-Code/issues/5554

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-24 20:24:50 +00:00
Salem Iranloye
5a0a9d0f9d
Clean up Devfs_Web into separate files (#170769)
Split the huge devfs_web file into separate easier to maintain files

Fixes: https://github.com/flutter/flutter/issues/170842

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-24 17:53:55 +00:00
Victoria Ashworth
d49d805ea3
Add LLDB warnings (#170827)
LLDB is now required again for iOS 26+ so add back warnings.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-24 14:47:32 +00:00
auto-submit[bot]
46ecb28f7e
Reverts "Don't strip symbols from libapp.so on android by default (#162464)" (#171044)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#162464
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: gmackall
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Failing `Linux_pixel_7pro android_obfuscate_test`
(https://ci.chromium.org/ui/p/flutter/builders/prod/Linux_pixel_7pro%20android_obfuscate_test/8088/overview)
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: gmackall
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {mraleph, bkonyi}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
Fixes https://github.com/flutter/flutter/issues/170664

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-06-23 23:07:48 +00:00
Gray Mackall
619acc278e
Don't strip symbols from libapp.so on android by default (#162464)
Fixes https://github.com/flutter/flutter/issues/170664

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Co-authored-by: Gray Mackall <mackall@google.com>
2025-06-23 21:50:09 +00:00
Victoria Ashworth
73282fd455
Include dev_dependencies in all builds for iOS and macOS (#171015)
Currently dev_dependencies are excluded from release builds. However,
this is not implemented fully for iOS and macOS yet and has caused
issues. So until the iOS team is ready and can fully implement this
feature, we're removing it for iOS and macOS.

Fixes https://github.com/flutter/flutter/issues/170119,
https://github.com/flutter/flutter/issues/167377.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-06-23 18:43:50 +00:00
Mouad Debbar
d733bea58c
Add --no-web-resources-cdn to all web integration tests (#171013)
Let's avoid downloading canvaskit from the CDN in our integration tests.

Closes https://github.com/flutter/flutter/issues/110879
2025-06-23 17:02:27 +00:00
Sigurd Meldgaard
a0e30bf18a
Run pub get post-processing for each package in workspace (#170517)
Fixes https://github.com/flutter/flutter/issues/161927
2025-06-23 08:37:26 +00:00
Jessy Yameogo
b757dab0e2
remove --start-paused flag by default and set useDwdsWebSocketConnect… (#170612)
- Removed --start-paused flag by default and set
useDwdsWebSocketConnection in DWDS
- Updated logic for adding middleware and generating loadindicator
- Revert changes in https://github.com/flutter/flutter/pull/170610/

Related to https://github.com/dart-lang/webdev/issues/2605.
Fixes https://github.com/dart-lang/sdk/issues/60289. 

Sibling PR in DWDS: https://github.com/dart-lang/webdev/pull/2629
This PR will need to be submitted before this one. The pubspec must be
updated with a new release of DWDS after the changes are submitted
2025-06-19 01:07:08 +00:00
Ben Konyi
50eaf00c2d
[ Widget Preview ] Remove support for synthetic package:flutter_gen (#170602)
Follow up to https://github.com/flutter/flutter/issues/102983
2025-06-17 15:01:25 +00:00
Ben Konyi
d4d9ca01c8
[ Tool ] Fix file path conflict introduced in https://github.com/flutter/flutter/pull/169949 (#170606)
Was causing the following warning on Git checkout:

```
warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:

  'packages/flutter_tools/test/data/vscode/application/Resources/app/package.json'
  'packages/flutter_tools/test/data/vscode/application/resources/app/package.json'
```
2025-06-17 14:13:50 +00:00
Daco Harkes
5bee4880b9
Reland "[native assets] Build dev dependencies in flutter test integration_test" (#170728)
Reland https://github.com/flutter/flutter/pull/170686.

Closes: https://github.com/flutter/flutter/issues/168961.

Original PR in first commit. Fix in subsequent commit:

* Do process invocation of `flutter pub add` in a different way.
   Fixes: `ProcessException: %1 is not a valid Win32 application`

Reproduced locally by changing
dev/devicelab/bin/tasks/native_assets_android.dart to
`DeviceOperatingSystem.windows` and verified the `flutter pub add` call
now succeeds.

(Also, moved the add integration test into the create test project to
avoid having multiple `flutter pub get`s.)

Third time is the charm.
2025-06-17 07:58:26 +00:00
auto-submit[bot]
d108234670
Reverts "Reland "[native assets] Build dev dependencies in flutter test integration_test" (#170686)" (#170718)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#170686
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: matanlurey
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Broke [`Windows_mokey
native_assets_android`](https://ci.chromium.org/ui/p/flutter/builders/prod/Windows_mokey%20native_assets_android/2518/overview)
again.
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: dcharkes
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {bkonyi, matanlurey}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
Reland https://github.com/flutter/flutter/pull/170374

Original PR in first commit. Fixes in subsequent commits:

* `flutter` is not on the `PATH` in the device lab, use `_flutterBin`
(consistent with the rest of the test).
   Fixes `flutter` not found.
* `flutter test integration_test` now does not build assets for the host
anymore. `flutter test` builds assets for the host. The `TestCommand` is
now special-case to check for `_isIntegrationTest`.
Fixes `clang++` not found. (It's the compiler for Linux, but we are
running integration tests on an Android device.)

Tests pass locally with:

```
$ cd /Users/dacoharkes/src/flutter/flutter/dev/devicelab && dart bin/test_runner.dart test -t native_assets_android
```

Note:

* The device lab tests are not run on presubmit until
https://github.com/flutter/flutter/issues/170682 is addressed.
* The emulator tests are not run at all atm:
https://github.com/flutter/flutter/issues/170529.
<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-06-17 00:01:48 +00:00
Daco Harkes
b5dbfc3a42
Reland "[native assets] Build dev dependencies in flutter test integration_test" (#170686)
Reland https://github.com/flutter/flutter/pull/170374

Original PR in first commit. Fixes in subsequent commits:

* `flutter` is not on the `PATH` in the device lab, use `_flutterBin`
(consistent with the rest of the test).
   Fixes `flutter` not found.
* `flutter test integration_test` now does not build assets for the host
anymore. `flutter test` builds assets for the host. The `TestCommand` is
now special-case to check for `_isIntegrationTest`.
Fixes `clang++` not found. (It's the compiler for Linux, but we are
running integration tests on an Android device.)

Tests pass locally with:

```
$ cd /Users/dacoharkes/src/flutter/flutter/dev/devicelab && dart bin/test_runner.dart test -t native_assets_android
```

Note:

* The device lab tests are not run on presubmit until
https://github.com/flutter/flutter/issues/170682 is addressed.
* The emulator tests are not run at all atm:
https://github.com/flutter/flutter/issues/170529.
2025-06-16 21:13:12 +00:00