-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pigeon] Remove heap allocation in generated C++ code #6196
Conversation
@@ -1,7 +1,7 @@ | |||
// Copyright 2013 The Flutter Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style license that can be | |||
// found in the LICENSE file. | |||
// Autogenerated from Pigeon, do not edit directly. | |||
// Autogenerated from Pigeon (v17.0.0), do not edit directly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI, Pigeon also updated other platforms' comment to add a Pigeon version. I reverted the other platforms' changes to reduce noise.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This code should be created by running tool/generate.dart
, which suppresses version output.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Probably we need to do a pass over this package's CONTRIBUTING.md with updated info.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, should I update this document then?
packages/packages/pigeon/example/app/README.md
Lines 6 to 9 in fe6111b
To update the generated code, run: | |
```sh | |
dart run pigeon --input pigeons/messages.dart | |
``` |
I did try tool/generate.dart
but that hangs on my machine. I'll debug that...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I updated the app's README and started a draft PR to fix the hang: #6198
# Set fallback configurations for older versions of the flutter tool. | ||
if (NOT DEFINED FLUTTER_TARGET_PLATFORM) | ||
set(FLUTTER_TARGET_PLATFORM "windows-x64") | ||
endif() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Flutter tool automatically does this migration to add Windows Arm64 support.
@@ -1,7 +1,7 @@ | |||
// Copyright 2013 The Flutter Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style license that can be | |||
// found in the LICENSE file. | |||
// Autogenerated from Pigeon, do not edit directly. | |||
// Autogenerated from Pigeon (v17.0.0), do not edit directly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This code should be created by running tool/generate.dart
, which suppresses version output.
The Pigeon tool hangs on Windows if you don't have the Java formatter on your path. Repro examples: ``` dart ./tool/generate.dart ``` ``` dart ./tool/test.dart -f windows_integration_tests ``` The root cause is that the tool runs sub-processes without consuming their stdout/stderr output. The sub-process blocks if these pipes get full. See: https://api.dart.dev/stable/3.3.0/dart-io/Process-class.html This change is untested. See: #6198 (comment) Needed for #6196 Part of flutter/flutter#144042
@stuartmorgan @tarrinneal Gentle reminder for review :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you could sync the latest changes, this all seems good to me.
68631d0
to
e545d23
Compare
flutter/packages@353086c...6d02f03 2024-02-28 [email protected] Manual roll Flutter from c30f998 to d00bfe8 (32 revisions) (flutter/packages#6222) 2024-02-28 [email protected] [google_maps_flutter] Add `style` to widget (flutter/packages#6192) 2024-02-28 [email protected] Add library annotations for js interop (flutter/packages#6216) 2024-02-28 [email protected] [google_map_flutter] Add style to widget - platform impls (flutter/packages#6205) 2024-02-28 [email protected] [google_maps_flutter_web] Migrate to package:web (flutter/packages#5254) 2024-02-28 [email protected] [pigeon] Remove heap allocation in generated C++ code (flutter/packages#6196) 2024-02-27 [email protected] [pigeon] Allows kotlin generator to skip error class generation (flutter/packages#6183) 2024-02-27 [email protected] [camerax] Implements `setExposureMode` (flutter/packages#6110) 2024-02-27 [email protected] Roll Flutter from b77560e to c30f998 (12 revisions) (flutter/packages#6211) 2024-02-26 [email protected] Add `InkResponse`, `Material` and fix `Opacity` (flutter/packages#6199) 2024-02-26 [email protected] [url_launcher] Add explicit imports of UIKit (flutter/packages#6208) 2024-02-26 [email protected] [pigeon] Fix tool hangs on verbose sub-processes (flutter/packages#6198) 2024-02-26 [email protected] [tool] Ignore GeneratedPluginRegistrant.swift for `format` (flutter/packages#6195) 2024-02-26 [email protected] Roll Flutter from 1e8dd1e to b77560e (8 revisions) (flutter/packages#6207) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
The Pigeon tool hangs on Windows if you don't have the Java formatter on your path. Repro examples: ``` dart ./tool/generate.dart ``` ``` dart ./tool/test.dart -f windows_integration_tests ``` The root cause is that the tool runs sub-processes without consuming their stdout/stderr output. The sub-process blocks if these pipes get full. See: https://api.dart.dev/stable/3.3.0/dart-io/Process-class.html This change is untested. See: flutter#6198 (comment) Needed for flutter#6196 Part of flutter/flutter#144042
Please let me know if I goofed anything, this is my first time contributing to Pigeon! Addresses flutter/flutter#144042
The Pigeon tool hangs on Windows if you don't have the Java formatter on your path. Repro examples: ``` dart ./tool/generate.dart ``` ``` dart ./tool/test.dart -f windows_integration_tests ``` The root cause is that the tool runs sub-processes without consuming their stdout/stderr output. The sub-process blocks if these pipes get full. See: https://api.dart.dev/stable/3.3.0/dart-io/Process-class.html This change is untested. See: flutter#6198 (comment) Needed for flutter#6196 Part of flutter/flutter#144042
Please let me know if I goofed anything, this is my first time contributing to Pigeon! Addresses flutter/flutter#144042
Please let me know if I goofed anything, this is my first time contributing to Pigeon!
Addresses flutter/flutter#144042
Pre-launch Checklist
dart format
.)[shared_preferences]
pubspec.yaml
with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.CHANGELOG.md
to add a description of the change, following repository CHANGELOG style.///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.