Enhance documentation for generate_py_protobufs
. (#7937)
This change updates the README.md to describe the order of resolution between `options['generate_py_protobufs']`, `--protoc`, and the `PROTOC` env var. Since the `setup.py` script is not the main way to find docs, this change deletes the parts of the docstring that are redundant with `README.md`.
This commit is contained in:
parent
344f28d4a2
commit
ad29d402c4
@ -103,4 +103,19 @@ $ python -m pip install .
|
|||||||
|
|
||||||
By default, the protoc binary (the Protobuf compiler) is found by
|
By default, the protoc binary (the Protobuf compiler) is found by
|
||||||
searching the environment path. To use a specific protoc binary, its
|
searching the environment path. To use a specific protoc binary, its
|
||||||
path can be specified.
|
path can be specified. Resolution of the `protoc` value is as follows:
|
||||||
|
1. If the `--protoc=VALUE` flag is passed to `generate_py_protobufs`,
|
||||||
|
then `VALUE` will be used.
|
||||||
|
For example:
|
||||||
|
```shell
|
||||||
|
$ python setup.py generate_py_protobufs --protoc=/path/to/protoc
|
||||||
|
```
|
||||||
|
2. Otherwise, if a value was set in the `options`, it will be used.
|
||||||
|
(See "Example setup.py configuration," above.)
|
||||||
|
3. Otherwise, if the `PROTOC` environment variable is set, it will be
|
||||||
|
used. For example:
|
||||||
|
For example:
|
||||||
|
```shell
|
||||||
|
$ PROTOC=/path/to/protoc python setup.py generate_py_protobufs
|
||||||
|
```
|
||||||
|
4. Otherwise, `$PATH` will be searched.
|
||||||
|
@ -28,71 +28,7 @@
|
|||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
"""Setuptools/distutils extension for generating Python protobuf code.
|
"""Setuptools/distutils extension for generating Python protobuf code."""
|
||||||
|
|
||||||
This extension uses a prebuilt 'protoc' binary to generate Python types for
|
|
||||||
protobuf sources. By default, it will use a system-installed protoc binary, but
|
|
||||||
a custom protoc can be specified by flag.
|
|
||||||
|
|
||||||
This command should usually be run before the 'build' command, so that the
|
|
||||||
generated sources are treated the same way as the rest of the Python
|
|
||||||
sources.
|
|
||||||
|
|
||||||
Options:
|
|
||||||
|
|
||||||
source_dir:
|
|
||||||
This is the directory holding .proto files to be processed.
|
|
||||||
|
|
||||||
The default behavior is to generate sources for all .proto files found
|
|
||||||
under `source_dir`, recursively. This behavior can be controlled with
|
|
||||||
options below.
|
|
||||||
|
|
||||||
proto_root_path:
|
|
||||||
This is the root path for resolving imports in source .proto files.
|
|
||||||
|
|
||||||
The default is the shortest prefix of `source_dir` among:
|
|
||||||
[source_dir] + self.extra_proto_paths
|
|
||||||
|
|
||||||
extra_proto_paths:
|
|
||||||
Specifies additional paths that should be used to find imports, in
|
|
||||||
addition to `source_dir`.
|
|
||||||
|
|
||||||
This option can be used to specify the path to other protobuf sources,
|
|
||||||
which are imported by files under `source_dir`. No Python code will be
|
|
||||||
generated for .proto files under `extra_proto_paths`.
|
|
||||||
|
|
||||||
output_dir:
|
|
||||||
Specifies where generated code should be placed.
|
|
||||||
|
|
||||||
Typically, this should be the root package that generated Python modules
|
|
||||||
should be below.
|
|
||||||
|
|
||||||
The generated files will be named according to the relative source paths
|
|
||||||
under `proto_root_path`. For example, this source .proto file:
|
|
||||||
${proto_root_path}/subdir/message.proto
|
|
||||||
will correspond to this generated Python module:
|
|
||||||
${output_dir}/subdir/message_pb2.py
|
|
||||||
|
|
||||||
proto_files:
|
|
||||||
Specific .proto files can be specified for generating code, instead of
|
|
||||||
searching for all .proto files under `source_path`.
|
|
||||||
|
|
||||||
These paths are relative to `source_dir`. For example, to generate code
|
|
||||||
for just ${source_dir}/subdir/message.proto, specify
|
|
||||||
['subdir/message.proto'].
|
|
||||||
|
|
||||||
protoc:
|
|
||||||
By default, the protoc binary (the Protobuf compiler) is found by
|
|
||||||
searching the environment path. To use a specific protoc binary, its
|
|
||||||
path can be specified.
|
|
||||||
|
|
||||||
recurse:
|
|
||||||
If `proto_files` are not specified, then the default behavior is to
|
|
||||||
search `source_dir` recursively. This option controls the recursive
|
|
||||||
search; if it is False, only .proto files immediately under `source_dir`
|
|
||||||
will be used to generate sources.
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
__author__ = 'dlj@google.com (David L. Jones)'
|
__author__ = 'dlj@google.com (David L. Jones)'
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user