99 Commits

Author SHA1 Message Date
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
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
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
Christopher Fujino
8aaec3a093
Conductor output updates (#160054)
Update some outdated, obsolete text output from the conductor.
2024-12-11 19:15:12 +00:00
Nate Wilson
6b1bc456f4
Arrow syntax for getters (#156483)
This egotistical PR aims to draw attention to a [style guideline](https://github.com/flutter/flutter/blob/master/docs/contributing/Style-guide-for-Flutter-repo.md#use--for-getters-and-callbacks-that-just-return-literals-or-switch-expressions) that I changed:

> #### Use `=>` for getters and callbacks that just return literals or switch expressions

<br>

There was an opportunity for valuable discussion in #154753 about how this structure affects readability, but I shut it down pretty quick since there was a lot of other stuff going on there.

Interested to hear thoughts from @Piinks and others.
2024-10-17 19:25:14 +00:00
Christopher Fujino
92697d3ecc
Improve tracing and fix packages_autoroller (#154841)
Reverts flutter/flutter#154555
Re-lands of https://github.com/flutter/flutter/pull/154441 and https://github.com/flutter/flutter/pull/154369

New changes in this PR:

1. extend timeout of the `Linux packages_autoroller` shard (see step 14 in this example [LED build](https://ci.chromium.org/ui/p/flutter/builders/prod.shadow/Linux%20packages_autoroller/7/infra))
2. use the managed framework repo as the working directory in the `framework.streamDart()` helper function--we were generating gradle lockfiles in the wrong directory

A LED build with this code generated the following gradle lockfile update: d939981cd2
2024-09-09 23:31:21 +00:00
Reid Baker
9d9ec70b4e
[Conductor] Add ability to override mirror, add tests for default arg parsing and custom arg parsing (#154363)
fixes #154342
2024-09-06 18:07:09 +00:00
Zachary Anderson
164ff46f7c
Revert "improve trace logging in packages autoroller" (#154555)
Reverts flutter/flutter#154441


https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20packages_autoroller/11826/overview

I can't see how this change would be causing the specific failure on the
tree, but the failure is consistent after this commit, so speculatively
reverting.

The revert label isn't working since we're out of the window, so this is
a manual revert.
2024-09-03 08:59:11 -07:00
Christopher Fujino
54c886b716
improve trace logging in packages autoroller (#154441)
Add debugging to diagnose:
https://github.com/flutter/flutter/issues/154151
2024-08-30 16:26:14 -07:00
Christopher Fujino
7be9e5558b
validate and commit after regenerating gradle lockfiles from pub autoroller (#154152)
Fixes https://github.com/flutter/flutter/issues/154151

Validate the git diff generated by the regenerate gradle lockfile script and then commit the changes.
2024-08-29 20:22:24 +00:00
Gray Mackall
7362d07cb0
Make the pub roller bot re-generate gradle lockfiles (#149355)
Fixes https://github.com/flutter/flutter/issues/142475
2024-08-26 16:44:19 +00:00
Kevin Chisholm
28033eabc2
[Release] Update release note location (#151931)
**TLDR:** Move the changelog, currently called ["hotfixes to the stable
channel"](https://github.com/flutter/flutter/blob/master/docs/releases/Hotfixes-to-the-Stable-Channel.md),
to the root directory of Flutter/Flutter and rename it to CHANGELOG.md
before the Q3 release cutoff.

This PR accomplishes the following:
1. Renames 'Hotfixes-to-the-stable-channel' to CHANGELOG.md
2. Moves CHANGELOG.md to Flutter/Flutter root.
3. Update references to 'Hotfixes-to-the-stable-channel' to
CHANGELOG.md.

---

#### Background
Flutter has historically kept documentation on wiki pages in the Flutter
repository. Recently, we executed a large-scale migration of our wiki
into a `docs` folder within flutter/flutter.

#### Proposal
I propose relocating the current changelog, which is called ["hotfixes
to the stable
channel"](https://github.com/flutter/flutter/blob/master/docs/releases/Hotfixes-to-the-Stable-Channel.md),
to the root directory of the Flutter/Flutter repository and renaming it
to CHANGELOG.md. This change aims to improve the visibility,
accessibility, and consistency of our documentation processes.

#### Benefits
1. **Unify Dart and Flutter Processes:** This move aligns Flutter’s
changelog management with Dart's practices. As the release manager for
both Dart and Flutter, this unification will streamline the processes
and ensure consistency across projects.

#### Timeline
I would like this proposal **approved or denied before the Q3 release
cutoff** so it may be available within the stable branch.

---

> [!NOTE] 
> This proposal aims to improve our workflow and documentation
standards. I am open to feedback and further discussion on how we can
best implement this change.
2024-07-23 11:53:20 +07:00
Kate Lovett
62586dc09d
Update old wiki links (#149544)
Part of https://github.com/flutter/flutter/issues/145009

Finishes updating links in the repo that pointed to the old wiki
2024-06-17 17:26:08 +00:00
Nate
870c5541c3
switch expressions: finale (#148711)
### fixes #136139

<br>

<details open> <summary><b>getting sentimental in the PR description</b> (click to collapse)<br><br></summary>

The past 7 months have been quite the journey—I made some huge blunders and some huge accomplishments—a very fun time overall.

I really appreciate the people who took the time to perform code review for my refactoring shenanigans: **christopherfujino**, **andrewkolos**, **LongCatIsLooong**, **gspencergoog**, **loic-sharma**, **Piinks**, **bernaferrari**, **bartekpacia**, **bleroux**, **kevmoo**, **rakudrama**, **XilaiZhang**, **QuncCccccc**, **MominRaza**, and **victorsanni**.

And a huge shoutout to 2 individuals:
- @justinmc, for offering to sponsor me for commit access (words could not describe my excitement)
- @goderbauer, for being super duper proactive and consistent with code review

<br>

</details>

This pull request makes 13 "switch statements → switch expressions" PRs in total, reducing the LOC in this repo by **1,974**!

From now on, I'll make sure to request a test exemption for each refactoring PR 🙂
2024-05-21 16:18:05 +00:00
Nate
73ecc8a9b2
Reland "if chains → switch expressions" (#148634)
I did a goof a while back:

![late initialization error](https://github.com/flutter/flutter/assets/10457200/47dc423f-0dd0-4869-9a11-59cb7d1ea46e)

Now that [the bug is fixed](e9d403541f), I think we're good to re-implement the if-chains cleanup!

Related:

- https://github.com/flutter/flutter/pull/147793
- https://github.com/flutter/flutter/pull/148556
- https://github.com/flutter/flutter/issues/148548
2024-05-20 17:43:00 +00:00
Zachary Anderson
597462a3c4
Revert "if chains → switch expressions" (#148556)
Reverts flutter/flutter#147793

Introduced https://github.com/flutter/flutter/issues/148548.
2024-05-17 10:27:02 -07:00
Nate
fa9992eff6
switch statement cleanup (#148382)
This PR is step 12 in the journey to solve issue #136139 and make the
entire Flutter repo more readable.

Most of it involves implementing switch expressions, and there's also a
few other random things that I wanted to clean up a bit.
2024-05-16 17:16:06 -07:00
Nate
4734d80f22
if chains → switch expressions (#147793)
Previous "if-chains" pull requests:
- https://github.com/flutter/flutter/pull/144905
- https://github.com/flutter/flutter/pull/144977
- https://github.com/flutter/flutter/pull/145194
- https://github.com/flutter/flutter/pull/146293
- https://github.com/flutter/flutter/pull/147472

<br>

I think this one should be enough to wrap things up!

fixes https://github.com/flutter/flutter/issues/144903

---------

Co-authored-by: Victor Sanni <victorsanniay@gmail.com>
2024-05-10 00:55:48 -06:00
Nate
34bc632493
Switch to relevant Remote constructors (#146773)
[A previous PR](https://github.com/flutter/flutter/pull/144279) implemented `const` constructors in the `Remote` class, so I wanted to follow up and use those constructors in the appropriate places.
2024-04-16 23:55:59 +00:00
Nate
2e748e8598
Implementing control flow collections (#146601)
This pull request aims for improved readability, based on issue #146600.

```dart
// before
Set<Color> _distinctVisibleColors() {
  final Set<Color> distinctVisibleColors = <Color>{};
  if (top.style != BorderStyle.none) {
    distinctVisibleColors.add(top.color);
  }
  if (right.style != BorderStyle.none) {
    distinctVisibleColors.add(right.color);
  }
  if (bottom.style != BorderStyle.none) {
    distinctVisibleColors.add(bottom.color);
  }
  if (left.style != BorderStyle.none) {
    distinctVisibleColors.add(left.color);
  }
  return distinctVisibleColors;
}

// after
Set<Color> _distinctVisibleColors() {
  return <Color>{
    if (top.style != BorderStyle.none) top.color,
    if (right.style != BorderStyle.none) right.color,
    if (bottom.style != BorderStyle.none) bottom.color,
    if (left.style != BorderStyle.none) left.color,
  };
}
```

Most of the repo should be covered in this PR (aside from `flutter_tools/`, since there was a lot going on in there).
2024-04-15 16:06:07 +00:00
Kallen Tu
972725332f
Add none language strings to code blocks. (#146154)
Part 2 from https://github.com/flutter/flutter/pull/146085
In preparation to add the lint
`missing_code_block_language_in_doc_comment`, added `none` info strings
to a bunch of fenced code blocks that have miscellaneous text or output
text.

Related to issue: https://github.com/dart-lang/linter/issues/4904

## 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/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#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/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
[Data Driven Fixes]:
https://github.com/flutter/flutter/wiki/Data-driven-Fixes
2024-04-02 16:42:25 -07:00
Nate
1a0dc8f1e1
Add missing parameter to TableBorder.symmetric, and improve class constructors (#144279)
Originally, my aim was just to refactor (as per usual), but while messing around with the `TableBorder.symmetric` constructor, I realized that `borderRadius` was missing!

This pull request makes a few class constructors more efficient, and it fixes #144277 by adding the missing parameter.

<br>
2024-03-04 20:20:19 +00:00
Nate
c53a18f4e4
Implementing null-aware operators throughout the repository (#143804)
This pull request fixes #143803 by taking advantage of Dart's null-aware operators.

And unlike `switch` expressions ([9 PRs](https://github.com/flutter/flutter/pull/143634) and counting), the Flutter codebase is already fantastic when it comes to null-aware coding. After refactoring the entire repo, all the changes involving `?.` and `??` can fit into a single pull request.
2024-02-23 19:02:22 +00:00
godofredoc
f18e61a5e8
Remove codesign command from conductor. (#141044)
Codesigning is now automated and the codesigning tests have been migrated to shard tests.
2024-01-06 00:45:26 +00:00
Nate
3267fbc07a
Implement switch expressions in dev/ (#139048)
I previously made a PR (#136140) that used `switch` expressions to make some parts of the Flutter codebase easier to understand. It was assigned to the framework team, and @christopherfujino let me know that it was too large to effectively review and recommended breaking it up into smaller pull requests.

Here's a PR that only targets files in the `dev/` directory. Hopefully this will be easier to work with!

(solves issue https://github.com/flutter/flutter/issues/136139)
2023-11-28 23:40:28 +00:00
Casey Hillers
d9634155ab
[conductor] Remove PublishChannel and use MPA command (#135884)
Move more of the playbook into conductor. The MPA command inputs are prone to human error.
2023-10-09 21:13:55 +00:00
Chris Yang
22e4088134
codeisn extension safe iOS framework (#134966)
Update the conductor to code sign extension safe iOS frameworks
The new frameworks are added in
https://github.com/flutter/engine/pull/45781/files

part of https://github.com/flutter/flutter/issues/124291

Also includes an Engine roll includes:

9232e76c30

39c0f2ea1f

## 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] 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/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#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/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-09-20 11:50:04 -07:00
Zachary Anderson
118c2df776
Allows adding a storage 'realm' to the storage base URL (#131951)
Context: https://github.com/flutter/flutter/issues/131862

This PR injects a "realm" component to the storage base URL when the contents of the file `bin/internal/engine.realm` is non-empty.

As documented in the PR, when the realm is `flutter_archives_v2`, and `bin/internal/engine.version` contains the commit hash for a commit in a `flutter/engine` PR, then the artifacts pulled by the tool will be the artifacts built by the presubmit checks for the PR.

This works for everything but the following two cases:
1. Fuchsia artifacts are not uploaded to CIPD by the Fuchsia presubmit builds.
2. Web artifacts are not uploaded to gstatic by the web engine presubmit builds.

For (1), the flutter/flutter presubmit `fuchsia_precache` is driven by a shell script outside of the repo. It will fail when the `engine.version` and `engine.realm` don't point to a post-submit engine commit.

For (2), the flutter/flutter web presubmit tests that refer to artifacts in gstatic hang when the artifacts aren't found, so this PR skips them.
2023-08-09 23:26:05 +00:00
Christopher Fujino
b89bfd8e37
re-enable "Linux packages_autoroller" (#130088)
Fixes https://github.com/flutter/flutter/issues/129744

This change:

1. re-enables the Linux packages_autoroller
2. ensures we redact the token from appearing in any logs (in local testing I realized some failure logs might still expose the token)

What actually fixed authentication however was creating and uploading a new GitHub personal access token, not this change.

It's currently failing post-submit because being marked `bringup` it is running in the try pool, which does not have permissions to access the cloud KMS. However, I ran a LED build in the prod pool that succeeded:

3a8f128c35/+/build.proto
2023-07-10 19:32:56 +00:00
Christopher Fujino
67b7aa22c2
Change pub roller bot to push to flutter-pub-roller-bot/flutter.git (#129844)
Fixes https://github.com/flutter/flutter/issues/129744
Part of https://github.com/flutter/flutter/issues/129847

Migrate the packages_autoroller script to push to
flutter-pub-roller-bot/flutter.git, rather than
fluttergithubbot/flutter.git.
2023-06-30 16:28:00 -07:00
Christopher Fujino
0d2772238e
migrate the package_autoroller from querying by label to title (#128066)
Fixes https://github.com/flutter/flutter/issues/128067
2023-06-01 22:16:50 +00:00
Michael Goderbauer
5e1ba701ed
enable no_literal_bool_comparisons lint (#126647) 2023-05-16 16:14:23 +00:00
Michael Goderbauer
fda9ecfef7
Remove 1745 decorative breaks (#123259)
Remove 1745 decorative breaks
2023-03-22 21:12:22 +00:00
Zachary Anderson
055769e63a
Roll Flutter Engine from 3194afad72f0 to 7ee528267b03 (4 revisions) (#122806) 2023-03-16 09:24:20 -07:00
Casey Hillers
22e33275b5
[conductor] Roll engine->flutter whenever version is out of date (#121502)
[conductor] Roll engine whenever version is out of date
2023-03-03 18:10:09 +00:00
Casey Hillers
d193f050b5
[conductor] Remove cherrypick option (#121405)
[conductor] Remove cherrypick option
2023-02-27 15:00:26 +00:00
Kevin Chisholm
dfe7f841b3
[Conductor] Add documentation to individual files (#121277)
* add documentation to files

* Update dev/conductor/core/lib/src/stdio.dart

Co-authored-by: Christopher Fujino <fujino@google.com>

* Update dev/conductor/core/lib/src/start.dart

Co-authored-by: Christopher Fujino <fujino@google.com>

* Update dev/conductor/core/lib/src/repository.dart

Co-authored-by: Christopher Fujino <fujino@google.com>

* Update dev/conductor/core/lib/src/next.dart

Co-authored-by: Christopher Fujino <fujino@google.com>

* Update dev/conductor/core/lib/src/git.dart

Co-authored-by: Christopher Fujino <fujino@google.com>

* Update dev/conductor/core/lib/src/git.dart

Co-authored-by: Christopher Fujino <fujino@google.com>

* Update stdio.dart

---------

Co-authored-by: Christopher Fujino <fujino@google.com>
2023-02-24 09:44:15 -06:00
Lioness100
26b6c1bedd
Fix typos (#121171)
* Fix typos

* lowercase animated & opacity

* Undo typo fix

---------

Co-authored-by: Michael Goderbauer <goderbauer@google.com>
2023-02-23 19:43:21 +00:00
Ian Hickson
6205c110d6
Remove "note that" in our documentation (as per style guide) (#120842)
* lerp documentation

* Remove Note, Note That from repo

* Improve BorderSide documentation.

* apply review comments
2023-02-17 22:27:33 +00:00
Casey Hillers
65fd924d84
[conductor] Remove CiYaml model (#120458)
* [conductor] Remove CiYaml model

* Remove package:yaml

* Update pubspec checksum
2023-02-10 20:29:31 +00:00
Casey Hillers
b2e37c6592
[conductor] Tag engine versions (#120419)
* [conductor] Tag engine versions

* Move tag to repository
2023-02-10 19:01:04 +00:00
Kevin Chisholm
484d881f27
[conductor] update console link (#118338)
* update console link

* update test to include new console link
2023-02-01 14:05:45 -06:00
Michael Goderbauer
ec51d3271e
Remove unnecessary null checks in ‘dev/conductor’ (#118843)
* Remove unnecessary null checks in dev/conductor

* review
2023-01-20 04:04:08 +00:00
Phil Quitslund
f9acb1e88c
-- unnecessary parens (#117081) 2022-12-14 21:18:37 +00:00
Kevin Chisholm
4a55eefa38
[conductor] Add instructions to update oncall logs (#115871)
* add retro instructions

* make message more noticable
2022-12-02 11:17:17 -06:00
Xilai Zhang
30efcf406b
[flutter_conductor] Conductor should stop mirroring beta releases to dev (#100716) 2022-09-21 16:19:20 +00:00
Kevin Chisholm
02c8fb35f1
Add prompt to publish on discord (#111154) 2022-09-08 02:21:21 +00:00
Kevin Chisholm
c49531f02c
[Conductor] Prefer ssh over https (#110591) 2022-08-30 17:07:13 +00:00
Kevin Chisholm
21d3c3f255
replace engine and framework mirror args with github username arg (#109239) 2022-08-10 21:03:32 +00:00
Christopher Fujino
3ce2ab9159
Auto-submit pub packages autoroll PRs (#108635) 2022-07-29 19:53:05 +00:00