# This file is generated by importer.py for protoc_plugin-19.3.1

import("//build/dart/dart_library.gni")

dart_library("protoc_plugin") {
  package_name = "protoc_plugin"

  language_version = "2.7"

  disable_analysis = true

  deps = [
    "//third_party/dart-pkg/pub/fixnum",
    "//third_party/dart-pkg/pub/path",
    "//third_party/dart-pkg/pub/protobuf",
    "//third_party/dart-pkg/pub/dart_style",
  ]

  sources = [
    "base_type.dart",
    "bazel.dart",
    "client_generator.dart",
    "code_generator.dart",
    "const_generator.dart",
    "enum_generator.dart",
    "extension_generator.dart",
    "file_generator.dart",
    "grpc_generator.dart",
    "indenting_writer.dart",
    "linker.dart",
    "message_generator.dart",
    "mixins.dart",
    "names.dart",
    "options.dart",
    "output_config.dart",
    "protobuf_field.dart",
    "protoc.dart",
    "service_generator.dart",
    "src/dart_options.pb.dart",
    "src/descriptor.pb.dart",
    "src/descriptor.pbenum.dart",
    "src/plugin.pb.dart",
    "src/plugin.pbenum.dart",
    "string_escape.dart",
    "testing/mixins.dart",
    "well_known_types.dart",
  ]
}
