Repository navigation
Closed
flutter/packages
#13574Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work listteam-ecosystemOwned by Ecosystem teamOwned by Ecosystem team
Description
flutter -> packages autoroller is failing:
flutter/flutter#195881 ("Expose engineId on native plugin bindings and registrars on Android, iOS, and macOS", commit 76395508545f) added a new required property to two public Objective-C protocols:
- iOS:
FlutterBaseRegistrarinshell/platform/darwin/ios/framework/Headers/FlutterPlugin.h - macOS:
FlutterPluginRegistrarinshell/platform/darwin/macos/framework/Headers/FlutterPluginRegistrarMacOS.h
@property(nonatomic, readonly) int64_t engineIdentifier;The property isn't marked @optional, so any class outside the engine that conforms to these protocols no longer compiles. That includes the hand-written fake/stub registrars that plugins commonly use in native unit tests.
Impact
The flutter → packages autoroller is blocked:
flutter/packages#13569 (Roll Flutter from 3623d2d34543 to 53bff0892986). 4 master builders fail in the native test step:
| Builder | Packages | Error |
|---|---|---|
| Mac_arm64 ios_platform_tests_shard_2 master #31993 | google_maps_flutter_ios, google_maps_flutter_ios_sdk9, google_maps_flutter_ios_sdk10 |
type 'StubPluginRegistrar' does not conform to protocol 'FlutterBaseRegistrar' |
| Mac_arm64 ios_platform_tests_shard_3 master #32171 | image_picker_ios, in_app_purchase_storekit |
type 'TestFlutterPluginRegistrar' does not conform to protocol 'FlutterBaseRegistrar'; auto property synthesis will not synthesize property 'engineIdentifier' declared in protocol |
| Mac_arm64 ios_platform_tests_shard_5 master #32120 | webview_flutter_wkwebview |
type 'TestFlutterPluginRegistrar' does not conform to protocol 'FlutterBaseRegistrar' |
| Mac_arm64 macos_platform_tests master - packages #32221 | webview_flutter_wkwebview (macOS) |
type 'TestFlutterPluginRegistrar' does not conform to protocol 'FlutterPluginRegistrar' |
In every case the compiler note is:
FlutterPlugin.h:297:40: note: protocol requires property 'engineIdentifier' with type 'Int64'
FlutterPluginRegistrarMacOS.h:35:40: note: protocol requires property 'engineIdentifier' with type 'Int64'
Metadata
Metadata
Assignees
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work listteam-ecosystemOwned by Ecosystem teamOwned by Ecosystem team
Activity
[-][packages] flutter -> packages autoroller failing due to https://github.com/flutter/flutter/pull/195881[/-][+][packages] flutter -> packages autoroller failing due to PR #195881[/+][various] Add engineIdentifier to fake plugin registrars (flutter#13574)