From f93875d561b260de7ff4424abdb3e25e9ffbabee Mon Sep 17 00:00:00 2001 From: "Mahdi K. Fard" Date: Thu, 16 Mar 2023 22:02:53 +0330 Subject: [PATCH 1/5] Format the generated code. --- protoc_plugin/lib/protoc.dart | 1 + protoc_plugin/lib/src/file_generator.dart | 13 ++++++++++--- protoc_plugin/pubspec.yaml | 1 + 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/protoc_plugin/lib/protoc.dart b/protoc_plugin/lib/protoc.dart index e6d175bd7..f6001b365 100644 --- a/protoc_plugin/lib/protoc.dart +++ b/protoc_plugin/lib/protoc.dart @@ -1,5 +1,6 @@ import 'dart:convert'; +import 'package:dart_style/dart_style.dart'; import 'package:protobuf/protobuf.dart'; import 'const_generator.dart' show writeJsonConst; diff --git a/protoc_plugin/lib/src/file_generator.dart b/protoc_plugin/lib/src/file_generator.dart index f4c199498..ee05b55e9 100644 --- a/protoc_plugin/lib/src/file_generator.dart +++ b/protoc_plugin/lib/src/file_generator.dart @@ -223,6 +223,13 @@ class FileGenerator extends ProtobufContainer { List generateFiles(OutputConfiguration config) { if (!_linked) throw StateError('not linked'); + String formatDartCode(String code) { + final formatter = DartFormatter(); + + final formattedCode = formatter.format(code); + return formattedCode; + } + CodeGeneratorResponse_File makeFile(String extension, String content) { var protoUrl = Uri.file(descriptor.name); var dartUrl = config.outputPathFor(protoUrl, extension); @@ -235,9 +242,9 @@ class FileGenerator extends ProtobufContainer { var enumWriter = generateEnumFile(config); final files = [ - makeFile('.pb.dart', mainWriter.toString()), - makeFile('.pbenum.dart', enumWriter.toString()), - makeFile('.pbjson.dart', generateJsonFile(config)), + makeFile('.pb.dart', formatDartCode(mainWriter.toString())), + makeFile('.pbenum.dart', formatDartCode(enumWriter.toString())), + makeFile('.pbjson.dart', formatDartCode(generateJsonFile(config))), ]; if (options.generateMetadata) { diff --git a/protoc_plugin/pubspec.yaml b/protoc_plugin/pubspec.yaml index 26d02432b..016b87b2d 100644 --- a/protoc_plugin/pubspec.yaml +++ b/protoc_plugin/pubspec.yaml @@ -7,6 +7,7 @@ environment: sdk: '>=2.17.0 <3.0.0' dependencies: + dart_style: ^2.2.5 fixnum: ^1.0.0 path: ^1.8.0 protobuf: ^2.0.0 From bf3c6c7fefae60a18b422e0ddd88757beac3078a Mon Sep 17 00:00:00 2001 From: "Mahdi K. Fard" Date: Thu, 16 Mar 2023 22:14:39 +0330 Subject: [PATCH 2/5] Fix conflicting package dependencies. --- protoc_plugin/pubspec.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/protoc_plugin/pubspec.yaml b/protoc_plugin/pubspec.yaml index 016b87b2d..d78bdffae 100644 --- a/protoc_plugin/pubspec.yaml +++ b/protoc_plugin/pubspec.yaml @@ -4,7 +4,7 @@ description: A protobuf protoc compiler plugin used to generate Dart code. repository: https://github.com/google/protobuf.dart/tree/master/protoc_plugin environment: - sdk: '>=2.17.0 <3.0.0' + sdk: ">=2.17.0 <3.0.0" dependencies: dart_style: ^2.2.5 @@ -14,9 +14,9 @@ dependencies: dev_dependencies: collection: ^1.15.0 - lints: ^1.0.0 + lints: ^2.0.0 matcher: ^0.12.10 - test: ^1.16.0 + test: ^1.22.0 executables: protoc-gen-dart: protoc_plugin From 70a106b9887f57eddc159296d783ca534218383a Mon Sep 17 00:00:00 2001 From: "Mahdi K. Fard" Date: Thu, 16 Mar 2023 22:21:36 +0330 Subject: [PATCH 3/5] Solve another dependency conflict. --- protoc_plugin/pubspec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/protoc_plugin/pubspec.yaml b/protoc_plugin/pubspec.yaml index d78bdffae..2314451d7 100644 --- a/protoc_plugin/pubspec.yaml +++ b/protoc_plugin/pubspec.yaml @@ -4,7 +4,7 @@ description: A protobuf protoc compiler plugin used to generate Dart code. repository: https://github.com/google/protobuf.dart/tree/master/protoc_plugin environment: - sdk: ">=2.17.0 <3.0.0" + sdk: '>=2.17.0 <3.0.0' dependencies: dart_style: ^2.2.5 @@ -16,7 +16,7 @@ dev_dependencies: collection: ^1.15.0 lints: ^2.0.0 matcher: ^0.12.10 - test: ^1.22.0 + test: ^1.21.5 executables: protoc-gen-dart: protoc_plugin From 24303d3c7d446774f8f5c76129468fef4494fa5a Mon Sep 17 00:00:00 2001 From: "Mahdi K. Fard" Date: Thu, 16 Mar 2023 23:00:18 +0330 Subject: [PATCH 4/5] Update dependencies. --- protoc_plugin/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protoc_plugin/pubspec.yaml b/protoc_plugin/pubspec.yaml index 2314451d7..7d25ad8e3 100644 --- a/protoc_plugin/pubspec.yaml +++ b/protoc_plugin/pubspec.yaml @@ -16,7 +16,7 @@ dev_dependencies: collection: ^1.15.0 lints: ^2.0.0 matcher: ^0.12.10 - test: ^1.21.5 + test: ^1.21.4 executables: protoc-gen-dart: protoc_plugin From 0bceff26f2035cd13930a5d9bf6bc44c473e7a72 Mon Sep 17 00:00:00 2001 From: "Mahdi K. Fard" Date: Thu, 16 Mar 2023 23:17:25 +0330 Subject: [PATCH 5/5] Another try before giving up. --- protoc_plugin/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protoc_plugin/pubspec.yaml b/protoc_plugin/pubspec.yaml index 7d25ad8e3..ed5884308 100644 --- a/protoc_plugin/pubspec.yaml +++ b/protoc_plugin/pubspec.yaml @@ -7,7 +7,7 @@ environment: sdk: '>=2.17.0 <3.0.0' dependencies: - dart_style: ^2.2.5 + dart_style: ^2.2.3 fixnum: ^1.0.0 path: ^1.8.0 protobuf: ^2.0.0