6015 Commits

Author SHA1 Message Date
Ben Konyi
0369b35640
Update package revisions to latest (#161525) 2025-01-14 18:22:42 +00:00
Michael Goderbauer
9cab4ffee1
Use wildcards (#161548)
https://dart.dev/language/pattern-types#wildcard
2025-01-14 05:13:41 +00:00
Matan Lurey
d102e1197e
Remove references to cirrus, mostly in doc comments. (#161529)
Towards https://github.com/flutter/flutter/issues/161387.
2025-01-13 23:49:04 +00:00
Matan Lurey
1d79946ecb
Remove last two references to Cirrus CI. (#161530)
Towards https://github.com/flutter/flutter/issues/161387.
2025-01-13 23:44:40 +00:00
Matan Lurey
607c79cdfd
Remove WEB_SHARD_COUNT, which no longer exists post-Cirrus. (#161527)
Towards https://github.com/flutter/flutter/issues/161387.
2025-01-13 20:21:00 +00:00
Jonah Williams
bd1ebf2e14
[android_engine_test] Remove background/foreground from surface texture trampoline test. (#161441)
See if this fixes the golden. The background/foreground isn't necessary
for this test which is just a gold comparison of the rendering
2025-01-11 21:16:21 +00:00
Matan Lurey
00b6a4ed06
Remove some miscellaneous references to Cirrus. (#161390)
Towards https://github.com/flutter/flutter/issues/161387.

... made a few TLC changes the best I could.
2025-01-11 05:28:56 +00:00
John McDole
ee4d46d43a
FixForward: method was renamed (#161431) 2025-01-10 16:58:24 +00:00
Matan Lurey
89b336109f
Add a virtual-display (VD) platform view test, and refactor tests a bit. (#161349)
Towards https://github.com/flutter/flutter/issues/161261.

Still need to add a HC (Hybrid Composition) variant, but figured I'd do
this incrementally to make it easier to review.
2025-01-10 03:23:40 +00:00
Matan Lurey
99fe90a05e
Remove CIRRUS_TASK_NAME from what I can tell, is always omitted on LUCI (#161391)
Towards https://github.com/flutter/flutter/issues/161387.

Example build, no `CIRRUS_TASK_NAME`:

<https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8726279068923920961/+/u/OS_info/l_execution_details>
2025-01-10 03:05:34 +00:00
Matan Lurey
9bed9d7f95
Replace the always omitted CPU environment variable with numberOfProcessors. (#161392)
I am not sure if this is a 1:1 comparison, so please advise.

Towards https://github.com/flutter/flutter/issues/161387.
2025-01-10 02:41:05 +00:00
Matan Lurey
a336069ba1
Remove accept_android_sdk_licenses.sh, which appears unused. (#161388)
Towards https://github.com/flutter/flutter/issues/161387.

From what I can tell, this is no longer referenced or used (I
cross-checked `flutter/recipes` as well).
2025-01-09 21:14:38 +00:00
Jonah Williams
96dffbeda5
[Impeller] fix scaling of trampoline import of GLES textures into Vulkan. (#161331)
Not sure if this just needs the dpr transform or the entire canvas
transform.

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

## Before


![flutter_04](https://github.com/user-attachments/assets/be60b1d0-4e94-491c-b1da-a03d66897f12)


## After


![flutter_03](https://github.com/user-attachments/assets/64cca8b7-3ae7-4f40-af26-ae61d9ec6290)
2025-01-09 20:39:29 +00:00
Michael Goderbauer
8607659202
remove formatter from snippet tool (#161347)
The source code stored on disk is already formatted now, no need to
format it again.

The import sorter is also removed because the source files on disk
already have their import sort order enforced by lints.
2025-01-09 04:35:24 +00:00
auto-submit[bot]
05899f84c6
Reverts "[SwiftPM] Turn on by default (#161275)" (#161339)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#161275
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: loic-sharma
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: failing post submit check
`[build_ios_framework_module_test](https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_arm64%20build_ios_framework_module_test)

```
[2025-01-08 14:19:48.853336] [STDOUT] stdout:            ** BUILD SUCCEEDED **
[2025-01-08 14:19:50.360684] [STDOUT] stdout: [+1522 ms]  ├─Building plugins... (completed in 4.8s)
[2025-01-08 14:19:50.360824] [STDOUT] stdout: [       
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: loic-sharma
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {cbracken, vashworth, jmagman}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
This turns on Swift Package Manager by default:

1. New apps will have Swift Package Manager integration
2. New plugins will support Swift Package Manager
3. Existing apps will continue to use CocoaPods. They can migrate to SwiftPM using `flutter config --enable-swift-package-manager-migration`.

See this mini design doc: https://github.com/flutter/flutter/issues/151567#issuecomment-2455941279

Here's the PR that updates the SwiftPM docs: https://github.com/flutter/website/pull/11495

Part of https://github.com/flutter/flutter/issues/151567

## 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-01-08 22:54:47 +00:00
Loïc Sharma
d8c4fc0bc6
[SwiftPM] Turn on by default (#161275)
This turns on Swift Package Manager by default:

1. New apps will have Swift Package Manager integration
2. New plugins will support Swift Package Manager
3. Existing apps will continue to use CocoaPods. They can migrate to
SwiftPM using `flutter config --enable-swift-package-manager-migration`.

See this mini design doc:
https://github.com/flutter/flutter/issues/151567#issuecomment-2455941279

Here's the PR that updates the SwiftPM docs:
https://github.com/flutter/website/pull/11495

Part of https://github.com/flutter/flutter/issues/151567

## 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-01-08 21:15:57 +00:00
Matan Lurey
132e298335
Rename native_driver to android_{driver_extensions|engine_test} (#161263)
Towards https://github.com/flutter/flutter/issues/161261 (before I add
more tests).

This is a 1:1 move, with massaging of
`run_flutter_driver_android_tests.dart` to be more automated as tests
are added.

/cc @reidbaker
2025-01-08 20:28:38 +00:00
Bartek Pacia
4b23b81828
Remove support for imperative apply of Flutter Gradle Plugin (#160947)
imperative apply has been deprecated since #139690

part of #121541

Doing this will make things easier for us during the conversion of
`flutter.groovy` into Kotlin.
2025-01-07 21:51:59 +00:00
Matan Lurey
13ae4cd8d8
Move validation logic for .ci.yaml to flutter/flutter. (#161249)
Towards https://github.com/flutter/flutter/issues/160915 (future
cleanup: remove the validation from `flutter/cocoon`).

This PR effectively duplicates the logic in
https://github.com/flutter/cocoon/pull/4137, in `flutter/flutter`.

/cc @jtmcdole
2025-01-07 20:52:28 +00:00
LongCatIsLooong
f6b9f937da
Extract analyze test expectations from test fixture (#161108)
This allows analyze tests to interpret inline comments in a specific
format as error message expectations.
e.g.,:

Adding `// ERROR: this is bad because A, B, C, D` to line 50 in
`file.ext`

would match an error message that looks like `../path/path/file.ext: 50:
this is bad because A, B, C, D`

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] 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 `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] 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-01-07 20:51:24 +00:00
Gray Mackall
f3d2204827
[Android] Add .cxx directories to app template .gitignore (#161069)
Fixes (but I still need to write the draft of the blog section so don't
autoclose github 🙏 ) https://github.com/flutter/flutter/issues/160372.

-Module templates [already exclude the entire `.android`
directory](d9b7e56646/packages/flutter_tools/templates/module/common/.gitignore.tmpl (L40)).
-Plugin templates [already exclude
`.cxx`](d9b7e56646/packages/flutter_tools/templates/plugin_shared/android.tmpl/.gitignore).

Modified the existing gitignores with
```
nl=$'\n'
sed -i'' -e '/GeneratedPluginRegistrant.java/a\'$'\n''.cxx/'"\\${nl}"'' $(find . -path \*android/.gitignore)
```
(which was probably not the best way)

Fun fact: apparently the `.gitignore` files (including the ones we copy
to the template apps) aren't indexed for search (the `.gitignore.tmpl`
are, but not the ones that we copy exactly [such as this
one](27ba2f2790/packages/flutter_tools/templates/app/android.tmpl/.gitignore)).

## 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.
- [ ] 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>
Co-authored-by: Reid Baker <hamilton.reid.baker@gmail.com>
Co-authored-by: Greg Price <gnprice@gmail.com>
2025-01-07 18:09:49 +00:00
Michael Goderbauer
dbf9e32879
Bump characters, collection, meta (#161066)
Follow-up to https://github.com/flutter/flutter/pull/160985.

These were missed by `flutter update-packages --force-upgrade` in
https://github.com/flutter/flutter/pull/160985, likely due to some
circular dependency issue. They've been bumped by hand in this PR.
2025-01-03 02:23:10 +00:00
Daco Harkes
27ba2f2790
[native assets] Roll dependencies (#160672)
This PR rolls in a number of breaking changes from dart-lang/native:

* `BuildMode` is no longer part of the protocol, so Flutter no longer
passes it in.
* This means all code dealing with the name conflict between
`native_assets_cli.BuildMode` and `flutter_tools.BuildMode` has been
cleaned up.
  * Also, the logs no longer mention the build mode.
* The tests still exercise both modes, because linking only happens in
release mode.
* `OS` is no longer part of the main protocol, but of the "code"
"protocol extension".
* The code now aligns more with `OS?` being nullable in a bunch of
places, since it is nullable if there's no code assets.
* The OS-specific config is nested in an object per OS.
* `CCompilerConfig`s fields are non-nullable now.
* So instead of passing an object with nullable fields around, a null
instead of the object is returned in various places.
* `FileSystem` is now passed in to the native assets builder.

This PR contains no feature changes.

This PR will need to be followed up by restricting what environment
variables are passed in (similar to
https://github.com/dart-lang/native/pull/1764), I will do this in a
follow up PR.

Tests:

* All existing features should be covered by existing tests.
2025-01-02 19:26:02 +00:00
Michael Goderbauer
d9b7e56646
Manual pub bump (#160985)
Since the autoroller is currently disabled (due to
https://github.com/flutter/flutter/issues/160473) this does a manual
roll of our dependencies to ensure that we don't fall too far behind.
2024-12-31 04:07:34 +00:00
Matan Lurey
3762f2e973
Revert: "Move integration_test dependencies to non-dev_dependencies." (#160980)
Reverts flutter/flutter#160380; this ended up not being needed.

Closes https://github.com/flutter/flutter/issues/160379.
2024-12-30 19:03:33 +00:00
LongCatIsLooong
b15625ca92
Turn deprecation message analyze tests back on (#160554)
Additionally:
- Deprecation message analyzer: use AST more instead of regex 
- Deprecation message analyzer: removes some tests since they are in the
formatter's jurisdiction now
- update the analyzer test fixture to fix a couple line numbers
- `@_debugOnly` set `multiline` back to false. The source we get back
from the `ASTNode` doesn't have any line feed characters.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] 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 `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] 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
2024-12-27 23:26:24 +00:00
Mouad Debbar
8731c396a7
[web] Make FLUTTER_WEB_AUTO_DETECT false by default (#160191)
Now that "auto" is not supported anymore, it makes more sense to make
this dart define false by default. And there's no need to pass
`FLUTTER_WEB_AUTO_DETECT=false` anymore.
2024-12-27 20:56:25 +00:00
Michael Goderbauer
09a585ba1d
apply dart_style 3.0.1 (#160875)
dart_style 3.0.1 comes with some minor style fixes:
https://github.com/dart-lang/dart_style/blob/main/CHANGELOG.md#301

This PR applies this fixes in bulk across the repository. (Otherwise,
the next person touching these files would have been the one updating
them to the new format by running the formatter).
2024-12-27 00:06:41 +00:00
Matan Lurey
0ffc4ce00e
Remove --template=skeleton and add a placeholder error message instead. (#160695)
Closes https://github.com/flutter/flutter/issues/160673.

Does the following:

- Renames `FlutterProjectType` to `FlutterTemplateType`; did some
enhanced enum cleanups while at it
- Creates a hierarchy of `RemovedFlutterTemplateType` from
`ParsedFlutterTemplateType`
- Removes the `skeleton` directory
- Merges `app_shared` back into `app` (no longer required now that
`skeleton` is removed)

Final cleanups are tracked in
https://github.com/flutter/flutter/issues/160692.

(Added @zanderso just to spot check this is what he meant by
https://github.com/flutter/flutter/issues/160673#issuecomment-2557742347)
2024-12-24 00:02:29 +00:00
Matan Lurey
62c6859e59
Delete unused engine_hash.dart script (and test), simplify engine_hash.sh. (#160549)
Closes https://github.com/flutter/flutter/issues/160527.

We don't use the Dart script anyway, and the shell script could be
simplified to the single use in g3 (cl/688973229).
2024-12-23 21:30:25 +00:00
John McDole
021b2b3627
Ensure engine.version is up to date in the monorepo (#160668)
`update_dart_sdk.(ps1|sh)` is called too late and needs to be called
from `shared.(bat|sh)`.

Fixes #160640
2024-12-20 20:17:27 +00:00
Martin Kustermann
181f4244b4
[native_assets] Preparation existing tests for future of other (i.e. non-Code) assets (#160436)
In the future a hook may be invoked multiple times with different
`supportedAssetTypes` (soon to be renamed to `buildAssetTypes`).

The hook should only emit those asset types that are in
`supportedAssetTypes` - anything else is an error. Right now flutter
happens to invoke hooks only with `Code` asset types, but more asset
types are coming, for which this PR is a preparation for.
2024-12-20 17:46:55 +00:00
Jonah Williams
17c1b91037
[monorepo] Fix tech debt cost benchmark (#160609)
* delete null safety stuff since everything is migrated
* Filter out engine subdirectory on listing of framework fies.
2024-12-19 21:59:39 +00:00
Michael Goderbauer
5491c8c146
Auto-format Framework (#160545)
This auto-formats all *.dart files in the repository outside of the
`engine` subdirectory and enforces that these files stay formatted with
a presubmit check.

**Reviewers:** Please carefully review all the commits except for the
one titled "formatted". The "formatted" commit was auto-generated by
running `dev/tools/format.sh -a -f`. The other commits were hand-crafted
to prepare the repo for the formatting change. I recommend reviewing the
commits one-by-one via the "Commits" tab and avoiding Github's "Files
changed" tab as it will likely slow down your browser because of the
size of this PR.

---------

Co-authored-by: Kate Lovett <katelovett@google.com>
Co-authored-by: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>
2024-12-19 20:06:21 +00:00
John McDole
721b47e7e6 Merge flutter/engine into framework
Adds files from flutter/flaux which contain modifications for the engine
structure. The history for engine/ has been edited. Please see
flutter/engine for the original PRs.
2024-12-17 14:00:52 -08:00
Yegor
4fcf6333d2
[monorepo] remove realm checker (#160457)
This needs to work entirely differently in the monorepo world.
2024-12-17 19:26:41 +00:00
Michael Goderbauer
9802c1cde7
Normalize localizations with dartfmt in presubmit check (#160395)
Makes the presubmit check independent of whether the files in the repo
are dartfmt formatted or not.
2024-12-17 01:07:17 +00:00
Michael Goderbauer
79506323b9
Adjust tools tests that would be broken by formatting (#160393)
These tests depend on line numbers that `dart format` is changing.
Pre-format the files in question and adjust the tests so they continue
to pass when the entire repo is formatted.
2024-12-17 00:34:00 +00:00
Michael Goderbauer
06dd9a3525
Properly report dart format errors (#160364)
This applied the improvements from
https://github.com/flutter/engine/pull/57206 to the flutter/flutter
version of that script (hopefully, we can deduplicate this soon with the
repo merge).
2024-12-16 23:35:01 +00:00
Matan Lurey
256ad9f9cb
Move integration_test dependencies to non-dev_dependencies. (#160380)
First part of https://github.com/flutter/flutter/issues/160379.

This should be a NOP, because without the
`explicit-package-dependencies` feature flag, all dependencies
(including dev_dependencies) are considered, for the purposes of
plugins, non-dev dependencies.

This change prepares for flipping that flag, so when the flip occurs, it
is _also_ a NOP for these tests.
2024-12-16 22:42:01 +00:00
Michael Goderbauer
8fee7cb832
Adjust ignores for 'dart format' (#160382)
When running `dart format` over these lines the `// ignore` ended up on
a line where it wasn't properly ignoring the lint. This adjusts the
placement of `// ignore`s so they will continue to ignore the right
thing even after the code is auto formatted.

I am hoping that if we do this now the large PR that formats the entire
repo will go in smoother without manual intervention.
2024-12-16 22:01:25 +00:00
Ben Konyi
6159f2eef6
Manual pub roll with flutter_tools patch (#160174)
Fixes: https://github.com/flutter/flutter/issues/160055
2024-12-16 21:41:54 +00:00
Gray Mackall
2948917a47
[Reland] Force automatic ndk download when building for Android (#160260)
Relands https://github.com/flutter/flutter/pull/159756.

The original caused some stderr because
1. the configurable `ndkVersion` value that AGP provides used to be null
by default.
2. Now it is not, instead it has a default value
3. `integration_test` doesn't actually use the NDK, but default for
`integration_test` was higher that `flutter.ndkVersion`
4. We have code that checks if a plugin uses a higher ndk version and
tells you to consider upgrading
https://github.com/flutter/flutter/blob/master/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy#L921

This reverts the revert, and then aligns `integration_test`'s NDK
version (which again, it doesn't actually use, so I'm not too concerned
about the downgrade) with `flutter.ndkVersion`.

It also starts using the `flutter.min/compile/ndkVersion` values in
`integration_test`, which was unrelated to the original pr. Can remove
if you think it should land separately.

## 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.
- [ ] 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>
2024-12-13 20:27:23 +00:00
Christopher Fujino
29a6c648ca
precompile generate_gradle_lockfile script BEFORE updating pub dependencies (#160059)
Avoid situations like https://github.com/flutter/flutter/issues/160055
2024-12-13 19:43:25 +00:00
auto-submit[bot]
5cd440f6ec
Reverts "Force automatic ndk download when building for Android (#159756)" (#160205)
<!-- start_original_pr_link -->
Reverts: flutter/flutter#159756
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: gmackall
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Made the tree red due to some std out.
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: gmackall
<!-- end_original_pr_author -->

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

<!-- start_revert_body -->
This change reverts the following previous change:
In preparation for changing engine builds to be unstripped by default
https://github.com/flutter/engine/pull/52852, which will allow us to
make progress towards resolving
https://github.com/flutter/flutter/issues/60240.

Tricks AGP in to downloading the NDK when building a flutter app (that
uses the FGP, which to my knowledge is all ways of building flutter
apk/aab/aar).

I want to follow this up by modifying the tool to search for the log
line that the NDK is missing (making it throw an error in that case) as
a safeguard, because that would be the last line of defense before we
accidentally build a bloated app. The safeguard won't work for add to
app, from what I understand, because while they use the FGP (so they
should be forced to be download the NDK) they don't invoke the flutter
tool, and therefore won't invoke the custom error handling of
[`gradle_errors.dart`](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/android/gradle_errors.dart)

Some details

1. Respects existing values for `externalNativeBuild.cmake.path` for
apps that actually use it.
2. Silences some warnings that would otherwise appear for add to app
builds or builds that manually invoke gradle:
```
C/C++: CMake Warning (dev) in CMakeLists.txt:
C/C++:   No project() command is present.  The top-level CMakeLists.txt file must
C/C++:   contain a literal, direct call to the project() command.  Add a line of
C/C++:   code such as
C/C++:     project(ProjectName)
C/C++:   near the top of the file, but after cmake_minimum_required().
C/C++:   CMake is pretending there is a "project(Project)" command on the first
C/C++:   line.
C/C++: This warning is for project developers.  Use -Wno-dev to suppress it.
C/C++: CMake Warning:
C/C++:   Manually-specified variables were not used by the project:
C/C++:     CMAKE_EXPORT_COMPILE_COMMANDS
C/C++:     CMAKE_LIBRARY_OUTPUT_DIRECTORY
C/C++:     CMAKE_RUNTIME_OUTPUT_DIRECTORY
```
3. Our ci installs the NDK at an abnormal place that AGP can't find
without help. I've modified all the `build.gradle`s that we have checked
in to point to the pre-installed path. **But some of our tests make a
new app from the templates, and those tests will now start downloading
the NDK** (as they won't be able to find it at it's current path from
templates). We could resolve this by actually fixing
https://github.com/flutter/flutter/issues/136666. This would be a very
significant lift from what I understand - we rely on this hardcoding in
a lot of places in our infra.


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

## 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>
2024-12-12 23:44:26 +00:00
Gray Mackall
99786b413f
Force automatic ndk download when building for Android (#159756)
In preparation for changing engine builds to be unstripped by default
https://github.com/flutter/engine/pull/52852, which will allow us to
make progress towards resolving
https://github.com/flutter/flutter/issues/60240.

Tricks AGP in to downloading the NDK when building a flutter app (that
uses the FGP, which to my knowledge is all ways of building flutter
apk/aab/aar).

I want to follow this up by modifying the tool to search for the log
line that the NDK is missing (making it throw an error in that case) as
a safeguard, because that would be the last line of defense before we
accidentally build a bloated app. The safeguard won't work for add to
app, from what I understand, because while they use the FGP (so they
should be forced to be download the NDK) they don't invoke the flutter
tool, and therefore won't invoke the custom error handling of
[`gradle_errors.dart`](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/android/gradle_errors.dart)

Some details

1. Respects existing values for `externalNativeBuild.cmake.path` for
apps that actually use it.
2. Silences some warnings that would otherwise appear for add to app
builds or builds that manually invoke gradle:
```
C/C++: CMake Warning (dev) in CMakeLists.txt:
C/C++:   No project() command is present.  The top-level CMakeLists.txt file must
C/C++:   contain a literal, direct call to the project() command.  Add a line of
C/C++:   code such as
C/C++:     project(ProjectName)
C/C++:   near the top of the file, but after cmake_minimum_required().
C/C++:   CMake is pretending there is a "project(Project)" command on the first
C/C++:   line.
C/C++: This warning is for project developers.  Use -Wno-dev to suppress it.
C/C++: CMake Warning:
C/C++:   Manually-specified variables were not used by the project:
C/C++:     CMAKE_EXPORT_COMPILE_COMMANDS
C/C++:     CMAKE_LIBRARY_OUTPUT_DIRECTORY
C/C++:     CMAKE_RUNTIME_OUTPUT_DIRECTORY
```
3. Our ci installs the NDK at an abnormal place that AGP can't find
without help. I've modified all the `build.gradle`s that we have checked
in to point to the pre-installed path. **But some of our tests make a
new app from the templates, and those tests will now start downloading
the NDK** (as they won't be able to find it at it's current path from
templates). We could resolve this by actually fixing
https://github.com/flutter/flutter/issues/136666. This would be a very
significant lift from what I understand - we rely on this hardcoding in
a lot of places in our infra.


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

## 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>
2024-12-12 23:23:29 +00:00
Mouad Debbar
dd437c7a60
[web] Enable platform view benchmarks in Skwasm (#160186)
Skwasm has support for platform views already. Let's enable those
benchmarks.
2024-12-12 20:32:27 +00:00
Michael Goderbauer
c4dc2c9890
Add script to check format of changed dart files (#160007)
The script is modeled after a similar script in the engine (see engine's
[format.dart](https://github.com/flutter/engine/blob/main/ci/bin/format.dart)).

It identifies the files that have been changed and checks if their
formatting is correct. It also offers an option to correct formatting
(`--fix`) and an option to check the formatting of all files in the
repro (not just changed ones, `--all-files`).

When we are enforcing dart format this script will be called as part of
presubmit.
2024-12-11 19:38:24 +00:00
Christopher Fujino
8aaec3a093
Conductor output updates (#160054)
Update some outdated, obsolete text output from the conductor.
2024-12-11 19:15:12 +00:00
Michael Goderbauer
f601ed1862
Bump Dart SDK to 3.7 (#159812) 2024-12-05 21:39:53 +00:00