NAME
Module::Starter::Protobuf - A Module::Starter plugin for generating Protocol Buffers client libraries
VERSION
Version 0.03
SYNOPSIS
use Module::Starter qw(Module::Starter::Protobuf);
# Or from the command line:
# PROTOBUF_FILES=protos/my_service.proto module-starter --module=My::Client --plugin=Module::Starter::Protobuf
DESCRIPTION
This is a Module::Starter plugin that automates the generation of skeletal CPAN distributions from Protocol Buffers (proto3) schemas. It runs the protoc compiler to generate low-level serialization classes using the upb C/XS compiler plugin and automatically generates high-level client wrappers with idiomatic gRPC call methods.
METHODS
create_distro
Intercepts and validates the protobuf configuration parameters from arguments or environment variables.
create_modules
Generates the low-level protobuf serialization classes and the high-level client wrapper modules.
create_t
Generates the dynamic service integration tests (t/01-service.t) under the target directory, including a mock Google::gRPC::Client constructor that accepts both HashRef and list options.
Makefile_PL_guts
Injects the required dependencies (Moo, Log::Any, Google::Auth, Google::gRPC::Client, Protobuf) into the generated Makefile.PL.
AUTHOR
C.J. Collier <cjac@google.com>
LICENSE AND COPYRIGHT
Copyright (C) 2026 Google LLC
This program is released under the Apache 2.0 license.