dart-lang / pub-dev

The pub.dev website
https://pub.dev
BSD 3-Clause "New" or "Revised" License
786 stars 147 forks source link

‘pub global activate protoc_plugin’ failed to upgrading #3661

Closed hjlp20150803 closed 4 years ago

hjlp20150803 commented 4 years ago

URL: https://pub.flutter-io.cn/help

'protoc_plugin' stays on the version 0.7.11, it can be upgraded.Like below: ================================== $ pub global activate protoc_plugin 19.0.1 Package protoc_plugin is currently active at version 0.7.11. Resolving dependencies... Package protoc_plugin has no versions that match 19.0.1 derived from: pub global activate depends on version 19.0.1
isoos commented 4 years ago

@hjlp20150803: Could you please include the output of the following: pub global activate protoc_plugin 19.0.1 -v

hjlp20150803 commented 4 years ago

@hjlp20150803: Could you please include the output of the following: pub global activate protoc_plugin 19.0.1 -v

$ pub global activate protoc_plugin 19.0.1 -v
FINE: Pub 1.24.3
MSG : Package protoc_plugin is currently active at version 0.7.11.
MSG : Resolving dependencies...
SLVR: Solving dependencies:
| - protoc_plugin 19.0.1 from hosted (protoc_plugin)
IO : Get versions from https://pub.dartlang.org/api/packages/protoc_plugin.
IO : HTTP GET https://pub.dartlang.org/api/packages/protoc_plugin
| Accept: application/vnd.pub.v2+json
| X-Pub-OS: macos
| X-Pub-Command: global activate
| X-Pub-Session-ID: 0B4B55C1-565A-4701-9795-F436EBACB2B8
| user-agent: Dart pub 1.24.3
isoos commented 4 years ago

You are using Dart SDK 1.24.3, while protoc_plugin 19.0.1 depends on Dart SDK >=2.0.0 <3.0.0. You'll need to upgrade your Dart SDK, or use e.g. 0.8.0+1 (the last version working with the 1.24.3 SDK).

hjlp20150803 commented 4 years ago

@hjlp20150803: Could you please include the output of the following: pub global activate protoc_plugin 19.0.1 -v

out.txt

hjlp20150803 commented 4 years ago

You are using Dart SDK 1.24.3, while protoc_plugin 19.0.1 depends on Dart SDK >=2.0.0 <3.0.0. You'll need to upgrade your Dart SDK, or use e.g. 0.8.0+1 (the last version working with the 1.24.3 SDK).

It shows error related to the dart sdk, could you tell me how to fix this or uninstall the dart or reinstall the flutter?

$ brew info dart
dart-lang/dart/dart: stable 2.8.2, devel 2.9.0-11.0.dev
The Dart SDK
https://dart.dev
Conflicts with:
  dart-beta (because dart-beta ships the same binaries)
Not installed
From: https://github.com/dart-lang/homebrew-dart/blob/master/dart.rb
==> Options
--devel
    Install development version 2.9.0-11.0.dev
==> Caveats
Please note the path to the Dart SDK:
  /usr/local/opt/dart/libexec
isoos commented 4 years ago
isoos commented 4 years ago

@hjlp20150803: it looks like you have the old SDK in /Users/longxhb/dart-sdk. Unless your setup is hugely different, I think you can uninstall it by deleting that directory (either from Finder or form the command line: rm -rf /Users/longxhb/dart-sdk.

You can use the SDK in brew, or you can download the zip archive directly, if you want the maximum control of what is installed and how you are using it.

hjlp20150803 commented 4 years ago

@hjlp20150803: it looks like you have the old SDK in /Users/longxhb/dart-sdk. Unless your setup is hugely different, I think you can uninstall it by deleting that directory (either from Finder or form the command line: rm -rf /Users/longxhb/dart-sdk.

You can use the SDK in brew, or you can download the zip archive directly, if you want the maximum control of what is installed and how you are using it.

Please help me to take a look what's wrong now?


$ pub global activate protoc_plugin 19.0.1
Package protoc_plugin is currently active at version 19.0.1.
Resolving dependencies... (2.6s)^C
$ dart --version
Dart VM version: 2.9.0-11.0.dev.flutter-6489a0c68d (be) (Wed May 27 05:50:13 2020 +0000) on "macos_x64"
$ pub --version
Pub 2.8.3
$ protoc  ./*.proto --dart_out=grpc:./dart
Unhandled exception:
NoSuchMethodError: Closure call with mismatched arguments: function '_memberNamesSuffix'
Receiver: Closure: (_SyncIterator<String>) => bool
Tried calling: _memberNamesSuffix()
Found: _memberNamesSuffix(_SyncIterator<String>) => bool
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
#1      _SyncIterable.iterator (dart:core-patch/core_patch.dart:117:45)
#2      disambiguateName (package:protoc_plugin/names.dart:166:27)
#3      _unusedMemberNames (package:protoc_plugin/names.dart:419:17)
#4      messageMemberNames (package:protoc_plugin/names.dart:291:11)
#5      MessageGenerator.resolve (package:protoc_plugin/message_generator.dart:187:27)
#6      FileGenerator.resolve (package:protoc_plugin/file_generator.dart:183:9)
#7      link (package:protoc_plugin/linker.dart:24:7)
#8      CodeGenerator.generate.<anonymous closure> (package:protoc_plugin/code_generator.dart:92:7)
#9      _RootZone.runUnary (dart:async/zone.dart:1450:54)
#10     _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
#11     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
#12     Future._propagateToListeners (dart:async/future_impl.dart:725:32)
#13     Future._complete (dart:async/future_impl.dart:519:7)
#14     Stream.fold.<anonymous closure> (dart:async/stream.dart:776:14)
#15     _RootZone.runGuarded (dart:async/zone.dart:1372:10)
#16     _BufferingStreamSubscription._sendDone.sendDone (dart:async/stream_impl.dart:410:13)
#17     _BufferingStreamSubscription._sendDone (dart:async/stream_impl.dart:420:15)
#18     _BufferingStreamSubscription._close (dart:async/stream_impl.dart:305:7)
#19     _SyncStreamControllerDispatch._sendDone (dart:async/stream_controller.dart:792:19)
#20     _StreamController._closeUnchecked (dart:async/stream_controller.dart:644:7)
#21     _StreamController.close (dart:async/stream_controller.dart:637:5)
#22     _Socket._onData (dart:io-patch/socket_patch.dart:2027:21)
#23     _RootZone.runUnaryGuarded (dart:async/zone.dart:1384:10)
#24     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357:11)
#25     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285:7)
#26     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:784:19)
#27     _StreamController._add (dart:async/stream_controller.dart:655:7)
#28     _StreamController.add (dart:async/stream_controller.dart:597:5)
#29     new _RawSocket.<anonymous closure> (dart:io-patch/socket_patch.dart:1563:35)
#30     _NativeSocket.issueReadEvent.issue (dart:io-patch/socket_patch.dart:1045:18)
#31     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#32     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#33     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#34     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)
--dart_out: protoc-gen-dart: Plugin failed with status code 255.
isoos commented 4 years ago

Looks like you have successfully upgraded the protoc plugin, but it fails to process something. I have no experience with it, I think you should open an issue in its bug tracker: https://github.com/dart-lang/protobuf/issues

hjlp20150803 commented 4 years ago

pluginoutput.txt

Looks like you have successfully upgraded the protoc plugin, but it fails to process something. I have no experience with it, I think you should open an issue in its bug tracker: https://github.com/dart-lang/protobuf/issues

Yes you are right,I need to open an new issue, but I think I have made some mistake there, so I made up new simple test.proto file, and tested again,"--dart_out: protoc-gen-dart: Plugin output is unparseable",maybe you could figure out something? if not,I will close this issue, thanks!

test.proto:
syntax = "proto3";

// option java_multiple_files = true;
// option java_package = "io.grpc.examples.helloworld";
// option java_outer_classname = "HelloWorldProto";

//package agent;
package bridge;

message LoadKeysRequest {
    string Addr = 1; 
    string RPass = 2; 
    string IPass = 3; 
    string N = 4;
    string U = 5;
}
message LoadKeysFromRequest {
    string Pass=1; 
    //BasicDataLocation byte
    string FileName=2; 
}

// The greeting service definition.
service Greeter {
  // Sends a greeting
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}

// The request message containing the user's name.
message HelloRequest {
  string name = 1;
}

// The response message containing the greetings
message HelloReply {
  string message = 1;
}

$ protoc  ./test.proto --dart_out=grpc:./dart
--dart_out: protoc-gen-dart: Plugin output is unparseable:                                                                   \rz\340=\n\014test.pb.dartz\317=///\n//  Generated code. Do not modify.\n//  source: test.proto\n//\n// @dart = 2.3\n// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type\n\nimport \'dart:core\' as $core;\n\nimport \'package:protobuf/protobuf.dart\' as $pb;\n\nclass LoadKeysRequest extends $pb.GeneratedMessage {\n  static final $pb.BuilderInfo _i = $pb.BuilderInfo(\'LoadKeysRequest\', package: const $pb.PackageName(\'bridge\'), createEmptyInstance: create)\n    ..aOS(1, \'Addr\', protoName: \'Addr\')\n    ..aOS(2, \'RPass\', protoName: \'RPass\')\n    ..aOS(3, \'IPass\', protoName: \'IPass\')\n    ..aOS(4, \'N\', protoName: \'N\')\n    ..aOS(5, \'U\', protoName: \'U\')\n    ..hasRequiredFields = false\n  ;\n\n  LoadKeysRequest._() : super();\n  factory LoadKeysRequest() => create();\n  factory LoadKeysRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);\n  factory LoadKeysRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);\n  LoadKeysRequest clone() => LoadKeysRequest()..mergeFromMessage(this);\n  LoadKeysRequest copyWith(void Function(LoadKeysRequest) updates) => super.copyWith((message) => updates(message as LoadKeysRequest));\n  $pb.BuilderInfo get info_ => _i;\n  @$core.pragma(\'dart2js:noInline\')\n  static LoadKeysRequest create() => LoadKeysRequest._();\n  LoadKeysRequest createEmptyInstance() => create();\n  static $pb.PbList<LoadKeysRequest> createRepeated() => $pb.PbList<LoadKeysRequest>();\n  @$core.pragma(\'dart2js:noInline\')\n  static LoadKeysRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<LoadKeysRequest>(create);\n  static LoadKeysRequest _defaultInstance;\n\n  @$pb.TagNumber(1)\n  $core.String get addr => $_getSZ(0);\n  @$pb.TagNumber(1)\n  set addr($core.String v) { $_setString(0, v); }\n  @$pb.TagNumber(1)\n  $core.bool hasAddr() => $_has(0);\n  @$pb.TagNumber(1)\n  void clearAddr() => clearField(1);\n\n  @$pb.TagNumber(2)\n  $core.String get rPass => $_getSZ(1);\n  @$pb.TagNumber(2)\n  set rPass($core.String v) { $_setString(1, v); }\n  @$pb.TagNumber(2)\n  $core.bool hasRPass() => $_has(1);\n  @$pb.TagNumber(2)\n  void clearRPass() => clearField(2);\n\n  @$pb.TagNumber(3)\n  $core.String get iPass => $_getSZ(2);\n  @$pb.TagNumber(3)\n  set iPass($core.String v) { $_setString(2, v); }\n  @$pb.TagNumber(3)\n  $core.bool hasIPass() => $_has(2);\n  @$pb.TagNumber(3)\n  void clearIPass() => clearField(3);\n\n  @$pb.TagNumber(4)\n  $core.String get n => $_getSZ(3);\n  @$pb.TagNumber(4)\n  set n($core.String v) { $_setString(3, v); }\n  @$pb.TagNumber(4)\n  $core.bool hasN() => $_has(3);\n  @$pb.TagNumber(4)\n  void clearN() => clearField(4);\n\n  @$pb.TagNumber(5)\n  $core.String get u => $_getSZ(4);\n  @$pb.TagNumber(5)\n  set u($core.String v) { $_setString(4, v); }\n  @$pb.TagNumber(5)\n  $core.bool hasU() => $_has(4);\n  @$pb.TagNumber(5)\n  void clearU() => clearField(5);\n}\n\nclass LoadKeysFromRequest extends $pb.GeneratedMessage {\n  static final $pb.BuilderInfo _i = $pb.BuilderInfo(\'LoadKeysFromRequest\', package: const $pb.PackageName(\'bridge\'), createEmptyInstance: create)\n    ..aOS(1, \'Pass\', protoName: \'Pass\')\n    ..aOS(2, \'FileName\', protoName: \'FileName\')\n    ..hasRequiredFields = false\n  ;\n\n  LoadKeysFromRequest._() : super();\n  factory LoadKeysFromRequest() => create();\n  factory LoadKeysFromRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);\n  factory LoadKeysFromRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);\n  LoadKeysFromRequest clone() => LoadKeysFromRequest()..mergeFromMessage(this);\n  LoadKeysFromRequest copyWith(void Function(LoadKeysFromRequest) updates) => super.copyWith((message) => updates(message as LoadKeysFromRequest));\n  $pb.BuilderInfo get info_ => _i;\n  @$core.pragma(\'dart2js:noInline\')\n  static LoadKeysFromRequest create() => LoadKeysFromRequest._();\n  LoadKeysFromRequest createEmptyInstance() => create();\n  static $pb.PbList<LoadKeysFromRequest> createRepeated() => $pb.PbList<LoadKeysFromRequest>();\n  @$core.pragma(\'dart2js:noInline\')\n  static LoadKeysFromRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<LoadKeysFromRequest>(create);\n  static LoadKeysFromRequest _defaultInstance;\n\n  @$pb.TagNumber(1)\n  $core.String get pass => $_getSZ(0);\n  @$pb.TagNumber(1)\n  set pass($core.String v) { $_setString(0, v); }\n  @$pb.TagNumber(1)\n  $core.bool hasPass() => $_has(0);\n  @$pb.TagNumber(1)\n  void clearPass() => clearField(1);\n\n  @$pb.TagNumber(2)\n  $core.String get fileName => $_getSZ(1);\n  @$pb.TagNumber(2)\n  set fileName($core.String v) { $_setString(1, v); }\n  @$pb.TagNumber(2)\n  $core.bool hasFileName() => $_has(1);\n  @$pb.TagNumber(2)\n  void clearFileName() => clearField(2);\n}\n\nclass HelloRequest extends $pb.GeneratedMessage {\n  static final $pb.BuilderInfo _i = $pb.BuilderInfo(\'HelloRequest\', package: const $pb.PackageName(\'bridge\'), createEmptyInstance: create)\n    ..aOS(1, \'name\')\n    ..hasRequiredFields = false\n  ;\n\n  HelloRequest._() : super();\n  factory HelloRequest() => create();\n  factory HelloRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);\n  factory HelloRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);\n  HelloRequest clone() => HelloRequest()..mergeFromMessage(this);\n  HelloRequest copyWith(void Function(HelloRequest) updates) => super.copyWith((message) => updates(message as HelloRequest));\n  $pb.BuilderInfo get info_ => _i;\n  @$core.pragma(\'dart2js:noInline\')\n  static HelloRequest create() => HelloRequest._();\n  HelloRequest createEmptyInstance() => create();\n  static $pb.PbList<HelloRequest> createRepeated() => $pb.PbList<HelloRequest>();\n  @$core.pragma(\'dart2js:noInline\')\n  static HelloRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<HelloRequest>(create);\n  static HelloRequest _defaultInstance;\n\n  @$pb.TagNumber(1)\n  $core.String get name => $_getSZ(0);\n  @$pb.TagNumber(1)\n  set name($core.String v) { $_setString(0, v); }\n  @$pb.TagNumber(1)\n  $core.bool hasName() => $_has(0);\n  @$pb.TagNumber(1)\n  void clearName() => clearField(1);\n}\n\nclass HelloReply extends $pb.GeneratedMessage {\n  static final $pb.BuilderInfo _i = $pb.BuilderInfo(\'HelloReply\', package: const $pb.PackageName(\'bridge\'), createEmptyInstance: create)\n    ..aOS(1, \'message\')\n    ..hasRequiredFields = false\n  ;\n\n  HelloReply._() : super();\n  factory HelloReply() => create();\n  factory HelloReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);\n  factory HelloReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);\n  HelloReply clone() => HelloReply()..mergeFromMessage(this);\n  HelloReply copyWith(void Function(HelloReply) updates) => super.copyWith((message) => updates(message as HelloReply));\n  $pb.BuilderInfo get info_ => _i;\n  @$core.pragma(\'dart2js:noInline\')\n  static HelloReply create() => HelloReply._();\n  HelloReply createEmptyInstance() => create();\n  static $pb.PbList<HelloReply> createRepeated() => $pb.PbList<HelloReply>();\n  @$core.pragma(\'dart2js:noInline\')\n  static HelloReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<HelloReply>(create);\n  static HelloReply _defaultInstance;\n\n  @$pb.TagNumber(1)\n  $core.String get message => $_getSZ(0);\n  @$pb.TagNumber(1)\n  set message($core.String v) { $_setString(0, v); }\n  @$pb.TagNumber(1)\n  $core.bool hasMessage() => $_has(0);\n  @$pb.TagNumber(1)\n  void clearMessage() => clearField(1);\n}\n\nz\361\001\n\020test.pbenum.dartz\334\001///\n//  Generated code. Do not modify.\n//  source: test.proto\n//\n// @dart = 2.3\n// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type\n\nz\202\t\n\020test.pbjson.dartz\355\010///\n//  Generated code. Do not modify.\n//  source: test.proto\n//\n// @dart = 2.3\n// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type\n\nconst LoadKeysRequest$json = const {\n  \'1\': \'LoadKeysRequest\',\n  \'2\': const [\n    const {\'1\': \'Addr\', \'3\': 1, \'4\': 1, \'5\': 9, \'10\': \'Addr\'},\n    const {\'1\': \'RPass\', \'3\': 2, \'4\': 1, \'5\': 9, \'10\': \'RPass\'},\n    const {\'1\': \'IPass\', \'3\': 3, \'4\': 1, \'5\': 9, \'10\': \'IPass\'},\n    const {\'1\': \'N\', \'3\': 4, \'4\': 1, \'5\': 9, \'10\': \'N\'},\n    const {\'1\': \'U\', \'3\': 5, \'4\': 1, \'5\': 9, \'10\': \'U\'},\n  ],\n};\n\nconst LoadKeysFromRequest$json = const {\n  \'1\': \'LoadKeysFromRequest\',\n  \'2\': const [\n    const {\'1\': \'Pass\', \'3\': 1, \'4\': 1, \'5\': 9, \'10\': \'Pass\'},\n    const {\'1\': \'FileName\', \'3\': 2, \'4\': 1, \'5\': 9, \'10\': \'FileName\'},\n  ],\n};\n\nconst HelloRequest$json = const {\n  \'1\': \'HelloRequest\',\n  \'2\': const [\n    const {\'1\': \'name\', \'3\': 1, \'4\': 1, \'5\': 9, \'10\': \'name\'},\n  ],\n};\n\nconst HelloReply$json = const {\n  \'1\': \'HelloReply\',\n  \'2\': const [\n    const {\'1\': \'message\', \'3\': 1, \'4\': 1, \'5\': 9, \'10\': \'message\'},\n  ],\n};\n\nz\325\r\n\020test.pbgrpc.dartz\300\r///\n//  Generated code. Do not modify.\n//  source: test.proto\n//\n// @dart = 2.3\n// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type\n\nimport \'dart:async\' as $async;\n\nimport \'dart:core\' as $core;\n\nimport \'package:grpc/service_api.dart\' as $grpc;\nimport \'test.pb.dart\' as $0;\nexport \'test.pb.dart\';\n\nclass GreeterClient extends $grpc.Client {\n  static final _$sayHello = $grpc.ClientMethod<$0.HelloRequest, $0.HelloReply>(\n      \'/bridge.Greeter/SayHello\',\n      ($0.HelloRequest value) => value.writeToBuffer(),\n      ($core.List<$core.int> value) => $0.HelloReply.fromBuffer(value));\n\n  GreeterClient($grpc.ClientChannel channel, {$grpc.CallOptions options})\n      : super(channel, options: options);\n\n  $grpc.ResponseFuture<$0.HelloReply> sayHello($0.HelloRequest request,\n      {$grpc.CallOptions options}) {\n    final call = $createCall(_$sayHello, $async.Stream.fromIterable([request]),\n        options: options);\n    return $grpc.ResponseFuture(call);\n  }\n}\n\nabstract class GreeterServiceBase extends $grpc.Service {\n  $core.String get $name => \'bridge.Greeter\';\n\n  GreeterServiceBase() {\n    $addMethod($grpc.ServiceMethod<$0.HelloRequest, $0.HelloReply>(\n        \'SayHello\',\n        sayHello_Pre,\n        false,\n        false,\n        ($core.List<$core.int> value) => $0.HelloRequest.fromBuffer(value),\n        ($0.HelloReply value) => value.writeToBuffer()));\n  }\n\n  $async.Future<$0.HelloReply> sayHello_Pre(\n      $grpc.ServiceCall call, $async.Future<$0.HelloRequest> request) async {\n    return sayHello(call, await request);\n  }\n\n  $async.Future<$0.HelloReply> sayHello(\n      $grpc.ServiceCall call, $0.HelloRequest request);\n}\n
hjlp20150803 commented 4 years ago

https://github.com/dart-lang/pub-dev/issues/3661#issuecomment-637049514

I know you closed the issue, but is this worth to take a look? "--dart_out: protoc-gen-dart: Plugin output is unparseable: “ ,is this related the plugin?

$ protoc  ./test.proto --dart_out=grpc:./dart
--dart_out: protoc-gen-dart: Plugin output is unparseable:                                                                   \rz\340=\n\014test.pb.dartz\317=///\n//  Generated code. Do not modify.\n//  source: test.proto\n//\n// @dart = 2.3\n// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type\n\nimport \'dart:core\' as $core;\n\nimport \'package:protobuf/protobuf.dart\' as $pb;\n\nclass LoadKeysRequest extends $pb.GeneratedMessage {\n  static final $pb.BuilderInfo _i = $pb.BuilderInfo(\'LoadKeysRequest\', package: const $pb.PackageName(\'bridge\'), createEmptyInstance: create)\n    ..aOS(1, \'Addr\', protoName: \'Addr\')\n    ..aOS(2, \'RPass\', protoName: \'RPass\')\n    ..aOS(3, \'IPass\', protoName: \'IPass\')\n    ..aOS(4, \'N\', protoName: \'N\')\n    ..aOS(5, \'U\', protoName: \'U\')\n    ..hasRequiredFields = false\n  ;\n\n  LoadKeysRequest._() : super();\n  factory LoadKeysRequest() => create();\n  factory LoadKeysRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);\n  factory LoadKeysRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);\n  LoadKeysRequest clone() => LoadKeysRequest()..mergeFromMessage(this);\n  LoadKeysRequest copyWith(void Function(LoadKeysRequest) updates) => super.copyWith((message) => updates(message as LoadKeysRequest));\n  $pb.BuilderInfo get info_ => _i;\n  @$core.pragma(\'dart2js:noInline\')\n  static LoadKeysRequest create() => LoadKeysRequest._();\n  LoadKeysRequest createEmptyInstance() => create();\n  static $pb.PbList<LoadKeysRequest> createRepeated() => $pb.PbList<LoadKeysRequest>();\n  @$core.pragma(\'dart2js:noInline\')\n  static LoadKeysRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<LoadKeysRequest>(create);\n  static LoadKeysRequest _defaultInstance;\n\n  @$pb.TagNumber(1)\n  $core.String get addr => $_getSZ(0);\n  @$pb.TagNumber(1)\n  set addr($core.String v) { $_setString(0, v); }\n  @$pb.TagNumber(1)\n  $core.bool hasAddr() => $_has(0);\n  @$pb.TagNumber(1)\n  void clearAddr() => clearField(1);\n\n  @$pb.TagNumber(2)\n  $core.String get rPass => $_getSZ(1);\n  @$pb.TagNumber(2)\n  set rPass($core.String v) { $_setString(1, v); }\n  @$pb.TagNumber(2)\n  $core.bool hasRPass() => $_has(1);\n  @$pb.TagNumber(2)\n  void clearRPass() => clearField(2);\n\n  @$pb.TagNumber(3)\n  $core.String get iPass => $_getSZ(2);\n  @$pb.TagNumber(3)\n  set iPass($core.String v) { $_setString(2, v); }\n  @$pb.TagNumber(3)\n  $core.bool hasIPass() => $_has(2);\n  @$pb.TagNumber(3)\n  void clearIPass() => clearField(3);\n\n  @$pb.TagNumber(4)\n  $core.String get n => $_getSZ(3);\n  @$pb.TagNumber(4)\n  set n($core.String v) { $_setString(3, v); }\n  @$pb.TagNumber(4)\n  $core.bool hasN() => $_has(3);\n  @$pb.TagNumber(4)\n  void clearN() => clearField(4);\n\n  @$pb.TagNumber(5)\n  $core.String get u => $_getSZ(4);\n  @$pb.TagNumber(5)\n  set u($core.String v) { $_setString(4, v); }\n  @$pb.TagNumber(5)\n  $core.bool hasU() => $_has(4);\n  @$pb.TagNumber(5)\n  void clearU() => clearField(5);\n}\n\nclass LoadKeysFromRequest extends $pb.GeneratedMessage {\n  static final $pb.BuilderInfo _i = $pb.BuilderInfo(\'LoadKeysFromRequest\', package: const $pb.PackageName(\'bridge\'), createEmptyInstance: create)\n    ..aOS(1, \'Pass\', protoName: \'Pass\')\n    ..aOS(2, \'FileName\', protoName: \'FileName\')\n    ..hasRequiredFields = false\n  ;\n\n  LoadKeysFromRequest._() : super();\n  factory LoadKeysFromRequest() => create();\n  factory LoadKeysFromRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);\n  factory LoadKeysFromRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);\n  LoadKeysFromRequest clone() => LoadKeysFromRequest()..mergeFromMessage(this);\n  LoadKeysFromRequest copyWith(void Function(LoadKeysFromRequest) updates) => super.copyWith((message) => updates(message as LoadKeysFromRequest));\n  $pb.BuilderInfo get info_ => _i;\n  @$core.pragma(\'dart2js:noInline\')\n  static LoadKeysFromRequest create() => LoadKeysFromRequest._();\n  LoadKeysFromRequest createEmptyInstance() => create();\n  static $pb.PbList<LoadKeysFromRequest> createRepeated() => $pb.PbList<LoadKeysFromRequest>();\n  @$core.pragma(\'dart2js:noInline\')\n  static LoadKeysFromRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<LoadKeysFromRequest>(create);\n  static LoadKeysFromRequest _defaultInstance;\n\n  @$pb.TagNumber(1)\n  $core.String get pass => $_getSZ(0);\n  @$pb.TagNumber(1)\n  set pass($core.String v) { $_setString(0, v); }\n  @$pb.TagNumber(1)\n  $core.bool hasPass() => $_has(0);\n  @$pb.TagNumber(1)\n  void clearPass() => clearField(1);\n\n  @$pb.TagNumber(2)\n  $core.String get fileName => $_getSZ(1);\n  @$pb.TagNumber(2)\n  set fileName($core.String v) { $_setString(1, v); }\n  @$pb.TagNumber(2)\n  $core.bool hasFileName() => $_has(1);\n  @$pb.TagNumber(2)\n  void clearFileName() => clearField(2);\n}\n\nclass HelloRequest extends $pb.GeneratedMessage {\n  static final $pb.BuilderInfo _i = $pb.BuilderInfo(\'HelloRequest\', package: const $pb.PackageName(\'bridge\'), createEmptyInstance: create)\n    ..aOS(1, \'name\')\n    ..hasRequiredFields = false\n  ;\n\n  HelloRequest._() : super();\n  factory HelloRequest() => create();\n  factory HelloRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);\n  factory HelloRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);\n  HelloRequest clone() => HelloRequest()..mergeFromMessage(this);\n  HelloRequest copyWith(void Function(HelloRequest) updates) => super.copyWith((message) => updates(message as HelloRequest));\n  $pb.BuilderInfo get info_ => _i;\n  @$core.pragma(\'dart2js:noInline\')\n  static HelloRequest create() => HelloRequest._();\n  HelloRequest createEmptyInstance() => create();\n  static $pb.PbList<HelloRequest> createRepeated() => $pb.PbList<HelloRequest>();\n  @$core.pragma(\'dart2js:noInline\')\n  static HelloRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<HelloRequest>(create);\n  static HelloRequest _defaultInstance;\n\n  @$pb.TagNumber(1)\n  $core.String get name => $_getSZ(0);\n  @$pb.TagNumber(1)\n  set name($core.String v) { $_setString(0, v); }\n  @$pb.TagNumber(1)\n  $core.bool hasName() => $_has(0);\n  @$pb.TagNumber(1)\n  void clearName() => clearField(1);\n}\n\nclass HelloReply extends $pb.GeneratedMessage {\n  static final $pb.BuilderInfo _i = $pb.BuilderInfo(\'HelloReply\', package: const $pb.PackageName(\'bridge\'), createEmptyInstance: create)\n    ..aOS(1, \'message\')\n    ..hasRequiredFields = false\n  ;\n\n  HelloReply._() : super();\n  factory HelloReply() => create();\n  factory HelloReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);\n  factory HelloReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);\n  HelloReply clone() => HelloReply()..mergeFromMessage(this);\n  HelloReply copyWith(void Function(HelloReply) updates) => super.copyWith((message) => updates(message as HelloReply));\n  $pb.BuilderInfo get info_ => _i;\n  @$core.pragma(\'dart2js:noInline\')\n  static HelloReply create() => HelloReply._();\n  HelloReply createEmptyInstance() => create();\n  static $pb.PbList<HelloReply> createRepeated() => $pb.PbList<HelloReply>();\n  @$core.pragma(\'dart2js:noInline\')\n  static HelloReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<HelloReply>(create);\n  static HelloReply _defaultInstance;\n\n  @$pb.TagNumber(1)\n  $core.String get message => $_getSZ(0);\n  @$pb.TagNumber(1)\n  set message($core.String v) { $_setString(0, v); }\n  @$pb.TagNumber(1)\n  $core.bool hasMessage() => $_has(0);\n  @$pb.TagNumber(1)\n  void clearMessage() => clearField(1);\n}\n\nz\361\001\n\020test.pbenum.dartz\334\001///\n//  Generated code. Do not modify.\n//  source: test.proto\n//\n// @dart = 2.3\n// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type\n\nz\202\t\n\020test.pbjson.dartz\355\010///\n//  Generated code. Do not modify.\n//  source: test.proto\n//\n// @dart = 2.3\n// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type\n\nconst LoadKeysRequest$json = const {\n  \'1\': \'LoadKeysRequest\',\n  \'2\': const [\n    const {\'1\': \'Addr\', \'3\': 1, \'4\': 1, \'5\': 9, \'10\': \'Addr\'},\n    const {\'1\': \'RPass\', \'3\': 2, \'4\': 1, \'5\': 9, \'10\': \'RPass\'},\n    const {\'1\': \'IPass\', \'3\': 3, \'4\': 1, \'5\': 9, \'10\': \'IPass\'},\n    const {\'1\': \'N\', \'3\': 4, \'4\': 1, \'5\': 9, \'10\': \'N\'},\n    const {\'1\': \'U\', \'3\': 5, \'4\': 1, \'5\': 9, \'10\': \'U\'},\n  ],\n};\n\nconst LoadKeysFromRequest$json = const {\n  \'1\': \'LoadKeysFromRequest\',\n  \'2\': const [\n    const {\'1\': \'Pass\', \'3\': 1, \'4\': 1, \'5\': 9, \'10\': \'Pass\'},\n    const {\'1\': \'FileName\', \'3\': 2, \'4\': 1, \'5\': 9, \'10\': \'FileName\'},\n  ],\n};\n\nconst HelloRequest$json = const {\n  \'1\': \'HelloRequest\',\n  \'2\': const [\n    const {\'1\': \'name\', \'3\': 1, \'4\': 1, \'5\': 9, \'10\': \'name\'},\n  ],\n};\n\nconst HelloReply$json = const {\n  \'1\': \'HelloReply\',\n  \'2\': const [\n    const {\'1\': \'message\', \'3\': 1, \'4\': 1, \'5\': 9, \'10\': \'message\'},\n  ],\n};\n\nz\325\r\n\020test.pbgrpc.dartz\300\r///\n//  Generated code. Do not modify.\n//  source: test.proto\n//\n// @dart = 2.3\n// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type\n\nimport \'dart:async\' as $async;\n\nimport \'dart:core\' as $core;\n\nimport \'package:grpc/service_api.dart\' as $grpc;\nimport \'test.pb.dart\' as $0;\nexport \'test.pb.dart\';\n\nclass GreeterClient extends $grpc.Client {\n  static final _$sayHello = $grpc.ClientMethod<$0.HelloRequest, $0.HelloReply>(\n      \'/bridge.Greeter/SayHello\',\n      ($0.HelloRequest value) => value.writeToBuffer(),\n      ($core.List<$core.int> value) => $0.HelloReply.fromBuffer(value));\n\n  GreeterClient($grpc.ClientChannel channel, {$grpc.CallOptions options})\n      : super(channel, options: options);\n\n  $grpc.ResponseFuture<$0.HelloReply> sayHello($0.HelloRequest request,\n      {$grpc.CallOptions options}) {\n    final call = $createCall(_$sayHello, $async.Stream.fromIterable([request]),\n        options: options);\n    return $grpc.ResponseFuture(call);\n  }\n}\n\nabstract class GreeterServiceBase extends $grpc.Service {\n  $core.String get $name => \'bridge.Greeter\';\n\n  GreeterServiceBase() {\n    $addMethod($grpc.ServiceMethod<$0.HelloRequest, $0.HelloReply>(\n        \'SayHello\',\n        sayHello_Pre,\n        false,\n        false,\n        ($core.List<$core.int> value) => $0.HelloRequest.fromBuffer(value),\n        ($0.HelloReply value) => value.writeToBuffer()));\n  }\n\n  $async.Future<$0.HelloReply> sayHello_Pre(\n      $grpc.ServiceCall call, $async.Future<$0.HelloRequest> request) async {\n    return sayHello(call, await request);\n  }\n\n  $async.Future<$0.HelloReply> sayHello(\n      $grpc.ServiceCall call, $0.HelloRequest request);\n}\n

2020年6月2日 上午3:11,István Soós notifications@github.com<mailto:notifications@github.com> 写道:

Looks like you have successfully upgraded the protoc plugin, but it fails to process something. I have no experience with it, I think you should open an issue in its bug tracker: https://github.com/dart-lang/protobuf/issues

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/dart-lang/pub-dev/issues/3661#issuecomment-637049514, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADH5BCQOZX3P5KTD7EWXWADRUP4MRANCNFSM4NLPZKAQ.

$ protoc ./test.proto --dart_out=grpc:./dart --dart_out: protoc-gen-dart: Plugin output is unparseable: \rz\340=\n\014test.pb.dartz\317=///\n// Generated code. Do not modify.\n// source: test.proto\n//\n// @dart = 2.3\n// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type\n\nimport \'dart:core\' as $core;\n\nimport \'package:protobuf/protobuf.dart\' as $pb;\n\nclass LoadKeysRequest extends $pb.GeneratedMessage {\n static final $pb.BuilderInfo i = $pb.BuilderInfo(\'LoadKeysRequest\', package: const $pb.PackageName(\'bridge\'), createEmptyInstance: create)\n ..aOS(1, \'Addr\', protoName: \'Addr\')\n ..aOS(2, \'RPass\', protoName: \'RPass\')\n ..aOS(3, \'IPass\', protoName: \'IPass\')\n ..aOS(4, \'N\', protoName: \'N\')\n ..aOS(5, \'U\', protoName: \'U\')\n ..hasRequiredFields = false\n ;\n\n LoadKeysRequest.() : super();\n factory LoadKeysRequest() => create();\n factory LoadKeysRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);\n factory LoadKeysRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);\n LoadKeysRequest clone() => LoadKeysRequest()..mergeFromMessage(this);\n LoadKeysRequest copyWith(void Function(LoadKeysRequest) updates) => super.copyWith((message) => updates(message as LoadKeysRequest));\n $pb.BuilderInfo get info_ => i;\n @$core.pragma(\'dart2js:noInline\')\n static LoadKeysRequest create() => LoadKeysRequest.();\n LoadKeysRequest createEmptyInstance() => create();\n static $pb.PbList createRepeated() => $pb.PbList();\n @$core.pragma(\'dart2js:noInline\')\n static LoadKeysRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create);\n static LoadKeysRequest _defaultInstance;\n\n @$pb.TagNumber(1)\n $core.String get addr => $_getSZ(0);\n @$pb.TagNumber(1)\n set addr($core.String v) { $_setString(0, v); }\n @$pb.TagNumber(1)\n $core.bool hasAddr() => $_has(0);\n @$pb.TagNumber(1)\n void clearAddr() => clearField(1);\n\n @$pb.TagNumber(2)\n $core.String get rPass => $_getSZ(1);\n @$pb.TagNumber(2)\n set rPass($core.String v) { $_setString(1, v); }\n @$pb.TagNumber(2)\n $core.bool hasRPass() => $_has(1);\n @$pb.TagNumber(2)\n void clearRPass() => clearField(2);\n\n @$pb.TagNumber(3)\n $core.String get iPass => $_getSZ(2);\n @$pb.TagNumber(3)\n set iPass($core.String v) { $_setString(2, v); }\n @$pb.TagNumber(3)\n $core.bool hasIPass() => $_has(2);\n @$pb.TagNumber(3)\n void clearIPass() => clearField(3);\n\n @$pb.TagNumber(4)\n $core.String get n => $_getSZ(3);\n @$pb.TagNumber(4)\n set n($core.String v) { $_setString(3, v); }\n @$pb.TagNumber(4)\n $core.bool hasN() => $_has(3);\n @$pb.TagNumber(4)\n void clearN() => clearField(4);\n\n @$pb.TagNumber(5)\n $core.String get u => $_getSZ(4);\n @$pb.TagNumber(5)\n set u($core.String v) { $_setString(4, v); }\n @$pb.TagNumber(5)\n $core.bool hasU() => $_has(4);\n @$pb.TagNumber(5)\n void clearU() => clearField(5);\n}\n\nclass LoadKeysFromRequest extends $pb.GeneratedMessage {\n static final $pb.BuilderInfo i = $pb.BuilderInfo(\'LoadKeysFromRequest\', package: const $pb.PackageName(\'bridge\'), createEmptyInstance: create)\n ..aOS(1, \'Pass\', protoName: \'Pass\')\n ..aOS(2, \'FileName\', protoName: \'FileName\')\n ..hasRequiredFields = false\n ;\n\n LoadKeysFromRequest.() : super();\n factory LoadKeysFromRequest() => create();\n factory LoadKeysFromRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);\n factory LoadKeysFromRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);\n LoadKeysFromRequest clone() => LoadKeysFromRequest()..mergeFromMessage(this);\n LoadKeysFromRequest copyWith(void Function(LoadKeysFromRequest) updates) => super.copyWith((message) => updates(message as LoadKeysFromRequest));\n $pb.BuilderInfo get info_ => i;\n @$core.pragma(\'dart2js:noInline\')\n static LoadKeysFromRequest create() => LoadKeysFromRequest.();\n LoadKeysFromRequest createEmptyInstance() => create();\n static $pb.PbList createRepeated() => $pb.PbList();\n @$core.pragma(\'dart2js:noInline\')\n static LoadKeysFromRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create);\n static LoadKeysFromRequest _defaultInstance;\n\n @$pb.TagNumber(1)\n $core.String get pass => $_getSZ(0);\n @$pb.TagNumber(1)\n set pass($core.String v) { $_setString(0, v); }\n @$pb.TagNumber(1)\n $core.bool hasPass() => $_has(0);\n @$pb.TagNumber(1)\n void clearPass() => clearField(1);\n\n @$pb.TagNumber(2)\n $core.String get fileName => $_getSZ(1);\n @$pb.TagNumber(2)\n set fileName($core.String v) { $_setString(1, v); }\n @$pb.TagNumber(2)\n $core.bool hasFileName() => $_has(1);\n @$pb.TagNumber(2)\n void clearFileName() => clearField(2);\n}\n\nclass HelloRequest extends $pb.GeneratedMessage {\n static final $pb.BuilderInfo i = $pb.BuilderInfo(\'HelloRequest\', package: const $pb.PackageName(\'bridge\'), createEmptyInstance: create)\n ..aOS(1, \'name\')\n ..hasRequiredFields = false\n ;\n\n HelloRequest.() : super();\n factory HelloRequest() => create();\n factory HelloRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);\n factory HelloRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);\n HelloRequest clone() => HelloRequest()..mergeFromMessage(this);\n HelloRequest copyWith(void Function(HelloRequest) updates) => super.copyWith((message) => updates(message as HelloRequest));\n $pb.BuilderInfo get info_ => i;\n @$core.pragma(\'dart2js:noInline\')\n static HelloRequest create() => HelloRequest.();\n HelloRequest createEmptyInstance() => create();\n static $pb.PbList createRepeated() => $pb.PbList();\n @$core.pragma(\'dart2js:noInline\')\n static HelloRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create);\n static HelloRequest _defaultInstance;\n\n @$pb.TagNumber(1)\n $core.String get name => $_getSZ(0);\n @$pb.TagNumber(1)\n set name($core.String v) { $_setString(0, v); }\n @$pb.TagNumber(1)\n $core.bool hasName() => $_has(0);\n @$pb.TagNumber(1)\n void clearName() => clearField(1);\n}\n\nclass HelloReply extends $pb.GeneratedMessage {\n static final $pb.BuilderInfo i = $pb.BuilderInfo(\'HelloReply\', package: const $pb.PackageName(\'bridge\'), createEmptyInstance: create)\n ..aOS(1, \'message\')\n ..hasRequiredFields = false\n ;\n\n HelloReply.() : super();\n factory HelloReply() => create();\n factory HelloReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);\n factory HelloReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);\n HelloReply clone() => HelloReply()..mergeFromMessage(this);\n HelloReply copyWith(void Function(HelloReply) updates) => super.copyWith((message) => updates(message as HelloReply));\n $pb.BuilderInfo get info_ => i;\n @$core.pragma(\'dart2js:noInline\')\n static HelloReply create() => HelloReply.();\n HelloReply createEmptyInstance() => create();\n static $pb.PbList createRepeated() => $pb.PbList();\n @$core.pragma(\'dart2js:noInline\')\n static HelloReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create);\n static HelloReply _defaultInstance;\n\n @$pb.TagNumber(1)\n $core.String get message => $_getSZ(0);\n @$pb.TagNumber(1)\n set message($core.String v) { $_setString(0, v); }\n @$pb.TagNumber(1)\n $core.bool hasMessage() => $_has(0);\n @$pb.TagNumber(1)\n void clearMessage() => clearField(1);\n}\n\nz\361\001\n\020test.pbenum.dartz\334\001///\n// Generated code. Do not modify.\n// source: test.proto\n//\n// @dart = 2.3\n// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type\n\nz\202\t\n\020test.pbjson.dartz\355\010///\n// Generated code. Do not modify.\n// source: test.proto\n//\n// @dart = 2.3\n// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type\n\nconst LoadKeysRequest$json = const {\n \'1\': \'LoadKeysRequest\',\n \'2\': const [\n const {\'1\': \'Addr\', \'3\': 1, \'4\': 1, \'5\': 9, \'10\': \'Addr\'},\n const {\'1\': \'RPass\', \'3\': 2, \'4\': 1, \'5\': 9, \'10\': \'RPass\'},\n const {\'1\': \'IPass\', \'3\': 3, \'4\': 1, \'5\': 9, \'10\': \'IPass\'},\n const {\'1\': \'N\', \'3\': 4, \'4\': 1, \'5\': 9, \'10\': \'N\'},\n const {\'1\': \'U\', \'3\': 5, \'4\': 1, \'5\': 9, \'10\': \'U\'},\n ],\n};\n\nconst LoadKeysFromRequest$json = const {\n \'1\': \'LoadKeysFromRequest\',\n \'2\': const [\n const {\'1\': \'Pass\', \'3\': 1, \'4\': 1, \'5\': 9, \'10\': \'Pass\'},\n const {\'1\': \'FileName\', \'3\': 2, \'4\': 1, \'5\': 9, \'10\': \'FileName\'},\n ],\n};\n\nconst HelloRequest$json = const {\n \'1\': \'HelloRequest\',\n \'2\': const [\n const {\'1\': \'name\', \'3\': 1, \'4\': 1, \'5\': 9, \'10\': \'name\'},\n ],\n};\n\nconst HelloReply$json = const {\n \'1\': \'HelloReply\',\n \'2\': const [\n const {\'1\': \'message\', \'3\': 1, \'4\': 1, \'5\': 9, \'10\': \'message\'},\n ],\n};\n\nz\325\r\n\020test.pbgrpc.dartz\300\r///\n// Generated code. Do not modify.\n// source: test.proto\n//\n// @dart = 2.3\n// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type\n\nimport \'dart:async\' as $async;\n\nimport \'dart:core\' as $core;\n\nimport \'package:grpc/serviceapi.dart\' as $grpc;\nimport \'test.pb.dart\' as $0;\nexport \'test.pb.dart\';\n\nclass GreeterClient extends $grpc.Client {\n static final $sayHello = $grpc.ClientMethod<$0.HelloRequest, $0.HelloReply>(\n \'/bridge.Greeter/SayHello\',\n ($0.HelloRequest value) => value.writeToBuffer(),\n ($core.List<$core.int> value) => $0.HelloReply.fromBuffer(value));\n\n GreeterClient($grpc.ClientChannel channel, {$grpc.CallOptions options})\n : super(channel, options: options);\n\n $grpc.ResponseFuture<$0.HelloReply> sayHello($0.HelloRequest request,\n {$grpc.CallOptions options}) {\n final call = $createCall(_$sayHello, $async.Stream.fromIterable([request]),\n options: options);\n return $grpc.ResponseFuture(call);\n }\n}\n\nabstract class GreeterServiceBase extends $grpc.Service {\n $core.String get $name => \'bridge.Greeter\';\n\n GreeterServiceBase() {\n $addMethod($grpc.ServiceMethod<$0.HelloRequest, $0.HelloReply>(\n \'SayHello\',\n sayHello_Pre,\n false,\n false,\n ($core.List<$core.int> value) => $0.HelloRequest.fromBuffer(value),\n ($0.HelloReply value) => value.writeToBuffer()));\n }\n\n $async.Future<$0.HelloReply> sayHello_Pre(\n $grpc.ServiceCall call, $async.Future<$0.HelloRequest> request) async {\n return sayHello(call, await request);\n }\n\n $async.Future<$0.HelloReply> sayHello(\n $grpc.ServiceCall call, $0.HelloRequest request);\n}\n