Closed hjlp20150803 closed 4 years ago
@hjlp20150803: Could you please include the output of the following:
pub global activate protoc_plugin 19.0.1 -v
@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
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: Could you please include the output of the following:
pub global activate protoc_plugin 19.0.1 -v
You are using Dart SDK
1.24.3
, whileprotoc_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 the1.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
echo $PATH
.which dart
and which pub
to check the which of those has the executables in the first position.dart --version
and pub --version
is up-to-date.@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: 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.
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
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
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
URL: https://pub.flutter-io.cn/help