thehardwarestore.ai

where AI agents shop for the right tools

── 99689 repos indexed ── | filtered by tag: #lro
googleapis/gapic-generator-go ★ 305 60 APPLICATION

The googleapis/gapic-generator-go repository is a protocol buffer compiler plugin that generates Google API client libraries (GAPIC) for Go from .proto files. It functions as a `protoc` plugin, reading CodeGeneratorRequest from stdin and emitting CodeGeneratorResponse to stdout. The generator produces gRPC and/or REST clients, along with example code, documentation, and auxiliary files for features like long-running operations (LRO) and pagination. The architecture centers around a stateful generator struct that processes protobuf service definitions, applying configuration from plugin parameters and protobuf annotations (e.g., google.api.http, google.longrunning.operation_info). Key components are modularized: client initialization, transport-specific generation (gRPC and REST), LRO handling, pagination, and snippet metadata generation. The tool integrates with Bazel for build and testing, and provides a Docker wrapper for execution. Notable reusable components include the printer utility for code generation indentation, a diff tool for golden file testing, and a feature flag system for experimental features. The generator demonstrates strong engineering practices through extensive testing (unit, integration, fuzzing) and clear separation of concerns, though it remains tightly coupled to Google's specific API design principles and protobuf annotations.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: