ignite / cli

Ignite is a CLI tool and hub designed for constructing Proof of Stake Blockchains rooted in Cosmos-SDK
https://ignite.com
Other
1.25k stars 545 forks source link

`ignite generate dart` fails on freshly scaffolded chain #2905

Closed jaredweinfurtner closed 1 year ago

jaredweinfurtner commented 1 year ago

Describe the bug

When trying to generate the Dart client on a freshly scaffolded chain, I always receive the error:

cannot build app:

        error while running command /tmp/protoc1589772162 -I /tmp/3222178989 --plugin protoc-gen-dart=/tmp/protoc-gen-dart3672736953 -I /home/jared/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.46.1/proto -I /home/jared/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.46.1/third_party/proto -I /home/jared/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.46.1/proto -I /home/jared/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.46.1/third_party/proto -I /home/jared/go/pkg/mod/github.com/cosmos/ibc-go/v5@v5.0.0-rc1/proto -I /home/jared/go/pkg/mod/github.com/cosmos/ibc-go/v5@v5.0.0-rc1/third_party/proto --dart_out=grpc:. /home/jared/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.46.1/proto/cosmos/nft/v1beta1/event.proto /home/jared/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.46.1/proto/cosmos/nft/v1beta1/genesis.proto /home/jared/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.46.1/proto/cosmos/nft/v1beta1/nft.proto /home/jared/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.46.1/proto/cosmos/nft/v1beta1/query.proto /home/jared/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.46.1/proto/cosmos/nft/v1beta1/tx.proto /tmp/3222178989/google/protobuf/any.proto /home/jared/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.46.1/proto/cosmos/base/query/v1beta1/pagination.proto /home/jared/go/pkg/mod/github.com/cosmos/ibc-go/v5@v5.0.0-rc1/third_party/proto/google/api/annotations.proto /home/jared/go/pkg/mod/github.com/cosmos/ibc-go/v5@v5.0.0-rc1/third_party/proto/google/api/http.proto /tmp/3222178989/google/protobuf/descriptor.proto /home/jared/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.46.1/proto/cosmos/msg/v1/msg.proto /tmp/3222178989/google/protobuf/descriptor.proto: Unhandled exception:
Could not format because the source could not be parsed:

line 72, column 47 of .: A function body must be provided.
   ╷
72 │   $grpc.ResponseFuture<$0.QueryClassResponse> class($0.QueryClassRequest request, {$grpc.CallOptions? options}) {
   │                                               ^^^^^
   ╵
line 169, column 17 of .: Expected to find '>'.
    ╷
169 │   $async.Future<$0.QueryClassResponse> class($grpc.ServiceCall call, $0.QueryClassRequest request);
    │                 ^^
    ╵
line 72, column 52 of .: Expected an identifier.
   ╷
72 │   $grpc.ResponseFuture<$0.QueryClassResponse> class($0.QueryClassRequest request, {$grpc.CallOptions? options}) {
   │                                                    ^
   ╵
line 72, column 23 of .: Constructors can't have type parameters.
   ╷
72 │   $grpc.ResponseFuture<$0.QueryClassResponse> class($0.QueryClassRequest request, {$grpc.CallOptions? options}) {
   │                       ^^^^^^^^^^^^^^^^^^^^^^^
   ╵
line 169, column 40 of .: A function body must be provided.
    ╷
169 │   $async.Future<$0.QueryClassResponse> class($grpc.ServiceCall call, $0.QueryClassRequest request);
    │                                        ^^^^^
    ╵
line 72, column 24 of .: Expected to find '>'.
   ╷
72 │   $grpc.ResponseFuture<$0.QueryClassResponse> class($0.QueryClassRequest request, {$grpc.CallOptions? options}) {
   │                        ^^
   ╵
line 169, column 16 of .: Constructors can't have type parameters.
    ╷
169 │   $async.Future<$0.QueryClassResponse> class($grpc.ServiceCall call, $0.QueryClassRequest request);
    │                ^^^^^^^^^^^^^^^^^^^^^^^
    ╵
line 72, column 3 of .: Methods must have an explicit list of parameters.
   ╷
72 │   $grpc.ResponseFuture<$0.QueryClassResponse> class($0.QueryClassRequest request, {$grpc.CallOptions? options}) {
   │   ^^^^^
   ╵
line 169, column 3 of .: Methods must have an explicit list of parameters.
    ╷
169 │   $async.Future<$0.QueryClassResponse> class($grpc.ServiceCall call, $0.QueryClassRequest request);
    │   ^^^^^^
    ╵
line 169, column 40 of .: Classes can't be declared inside other classes.
    ╷
169 │   $async.Future<$0.QueryClassResponse> class($grpc.ServiceCall call, $0.QueryClassRequest request);
    │                                        ^^^^^
    ╵
(5 more errors...)
#0      DartFormatter.formatSource (package:dart_style/src/dart_formatter.dart:142)
#1      DartFormatter.format (package:dart_style/src/dart_formatter.dart:75)
#2      FileGenerator.generateGrpcFile (package:protoc_plugin/file_generator.dart:518)
#3      FileGenerator.generateFiles (package:protoc_plugin/file_generator.dart:252)
#4      CodeGenerator.generate.<anonymous closure> (package:protoc_plugin/code_generator.dart:116)
<asynchronous suspension>
--dart_out: protoc-gen-dart: Plugin failed with status code 255.
: exit status 1

To reproduce Steps to reproduce the behavior:

  1. ignite scaffold chain fresh
  2. cd fresh
  3. ignite generate dart

What version are you using?

Ignite CLI version:     v0.24.0
Ignite CLI build date:  2022-09-12T14:14:32Z
Ignite CLI source hash: 21c6430cfcc17c69885524990c448d4a3f56461c
Your OS:                linux
Your arch:              amd64
Your Node.js version:   v16.17.1
Your go version:        go version go1.19 linux/amd64
Your uname -a:          Linux WE-C-000F5 5.10.102.1-microsoft-standard-WSL2 #1 SMP Wed Mar 2 00:30:59 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Your cwd:               /home/jared/projects/sandbox/cosmos-sdk/fresh
Is on Gitpod:           false

NOTE I also tried building it from source and still received the above error.

aljo242 commented 1 year ago

Hi, @jaredweinfurtner, ignite generate dart functionality is no longer maintained by the team as we have changed size and prioritize other features.