Skip to content

Conversation

@loic-sharma
Copy link
Member

@loic-sharma loic-sharma commented Sep 1, 2023

Description of what this PR is changing or adding, and why:
To support Windows Arm64, we updated the Windows's build directory to include the target architecture. Previously, the Windows build assumed an x64 build.

Example build path before: build/windows/runner/Release/hello_world.exe
Example build path after: build/windows/x64/runner/Release/hello_world.exe

Tooling that depends on this build path will need to be updated. For example, package:msix takes your app's executable and bundles for the Microsoft Store. It needed to be updated: YehudaKremer/msix#205

Issues fixed by this PR (if any):
flutter/flutter#129804

/cc @pbo-linaro Who implemented this.

Presubmit checklist

Copy link
Member

@parlough parlough left a comment

Choose a reason for hiding this comment

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

Thanks for adding this! It's exciting to see the work going in to Windows on Arm support.

A few suggestions to consider:

Example build path after the migration:
`build\windows\x64\runner\Release\hello_world.exe`

If you use [`package:msix`][], update to version 3.15.0 or newer.
Copy link
Member

Choose a reason for hiding this comment

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

Great idea to add this note. Do you expect there to be any other major packages or tooling in the ecosystem that will be affected and will need to be updated for this change?

Copy link
Member Author

Choose a reason for hiding this comment

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

There's a long tail of less popular tooling that is affected by this change, but from what I can tell package:msix was the "biggest" one. See: https://github.com/search?q=%22windows%2Frunner%2FRelease%22&type=code


## References
Design document:
* [https://flutter.dev/go/windows-arm64][]
Copy link
Member

Choose a reason for hiding this comment

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

I love that you included a link to the design doc. I think users appreciate when they have more insight into planning and decisions.

---

## Summary
Flutter Window's build path was updated to include the target architecture.
Copy link
Member

Choose a reason for hiding this comment

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

I feel that without extra background knowledge or context, it's not completely clear what "Flutter Window's build path" means. Is there a way we can clarify this while keeping this intro short? Especially since this intro is how users determine if the guide is relevant to them.

Would "Built executables for Flutter Windows apps are now located in architecture dependent folders." make sense?

Copy link
Member Author

Choose a reason for hiding this comment

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

Would "Built executables for Flutter Windows apps are now located in architecture dependent folders." make sense?

Yup that does make sense, I switched to that wording. I think an absolute newbie might still appreciate more background, so I'll ruminate on this some more.

Copy link
Member

@cbracken cbracken left a comment

Choose a reason for hiding this comment

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

This lgtm - thanks! (Taking the moustache notation links on faith as I can't remember how this works)

Copy link
Contributor

@sfshaza2 sfshaza2 left a comment

Choose a reason for hiding this comment

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

Thanks, @loic-sharma, @parlough, @cbracken! As Parker is away, I will land this. lgtm

@sfshaza2 sfshaza2 merged commit 8bea238 into flutter:main Sep 5, 2023
atsansone pushed a commit to atsansone/website that referenced this pull request Sep 19, 2023
_Description of what this PR is changing or adding, and why:_
To support Windows Arm64, we updated the Windows's build directory to
include the target architecture. Previously, the Windows build assumed
an x64 build.

Example build path before:
`build/windows/runner/Release/hello_world.exe`
Example build path after:
`build/windows/x64/runner/Release/hello_world.exe`

Tooling that depends on this build path will need to be updated. For
example, `package:msix` takes your app's executable and bundles for the
Microsoft Store. It needed to be updated:
YehudaKremer/msix#205

_Issues fixed by this PR (if any):_
flutter/flutter#129804

/cc @pbo-linaro Who implemented this.

## Presubmit checklist

- [x] This PR doesn’t contain automatically generated corrections
(Grammarly or similar).
- [x] This PR follows the [Google Developer Documentation Style
Guidelines](https://developers.google.com/style) — for example, it
doesn’t use _i.e._ or _e.g._, and it avoids _I_ and _we_ (first person).
- [x] This PR uses [semantic line
breaks](https://github.com/dart-lang/site-shared/blob/main/doc/writing-for-dart-and-flutter-websites.md#semantic-line-breaks)
of 80 characters or fewer.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants