Your Swiss Army Knife for Protocol Buffers
protoc
version to 3.8.0
.protoc
output for 3.8.0
.protoc
calls were being executed.config init --document
produced an invalid YAML file.google.protobuf.Any
values for gRPC error details.--generate-ignores
flag to the lint
command to print out the value
for lint.ignores
that will allow lint
to pass. This is useful when
migrating to a set of lint rules, usually a lint group.protoc
to 3.7.1
.uber1
. The lint
group can be specified with the lint.group
option.uber2
lint group and associated V2 Style Guide representing the second
version of our lint rules. These rules are almost entirely a superset of the
V1 Style guide lint rules. If lint.group
is set to uber2
, this also will
affect the create
and format
commands, as the uber2
lint group adds
more file options to more closely match the Google Cloud APIs File Structure
and changes the value of go_package
to take versions into account.
In total, 39 lint rules have been added as compared to the uber1
lint
group.google
lint group representing Google's minimal Style Guide.--list-lint-group
flag to the lint
command to list a lint group's
rules.--diff-lint-groups
flag to the lint
command to print the diff
between two lint groups.descriptor-set
command to output a merged FileDescriptorSet
with all files compiled to either stdout, a given file, or a temporary file.
Useful with external tools that use FileDescriptorSets, and also useful for
inspection if the --json
flag is given.break check
command. By default, this
compiles your existing Protobuf definitions, and then does a shallow clone
of your git repository against the default branch and compiles the
definitions on that branch, and compares the existing versus the branch.
The branch can be controlled with the --git-branch
flag, and one can
use a FileDescriptorSet
instead of a shallow clone by generating a
file with break descriptor-set
and then passing the path to this file
to break check
with the --descriptor-set-path
flag.bazel/deps.bzl
to allow Prototool to be easily
built within a Bazel workspace.lint.file_header
option to allow a file header to be specified. This
affects lint
, format
, and create
.generate.plugins.path
to be relative. If a relative path is given,
Prototool will search your PATH
for the specified executable.generate.plugins.file_suffix
option that allows for JAR generation with
the built-in java
plugin, and FileDescriptorSet
generation with the
built-in descriptor_set
plugin.generate.plugins.include_imports
and
generate.plugins.include_source_info
to be used with the built-in
descriptor_set
plugin.cache
top-level command to allow management of the protoc
cache.x
top-level command for experimental functionality.inspect
command under x
with Protobuf inspection capabilities.--error-format
flag to allow specific error fields to be printed.protoc
binary and WKT paths to be controlled by the environment
variables PROTOTOOL_PROTOC_BIN_PATH
and PROTOTOOL_PROTOC_WKT_PATH
in
addition to the existing --protoc-bin-path
and --protoc-wkt-path
flags.
The flags take precedence. This is especially useful for Docker images.protoc
downloader to eliminate concurrency
issues where multiple prototool
invocations may be accessing the cache
at the same time.grpc
command.--details
flag to the grpc
command to output headers, trailers,
and statuses as well as the responses.--address
flag of the
grpc
command via the prefix unix://
.