Alter health/reflection packages' build criterion
Using the presence of the `*_pb2_grpc` module, as opposed to the absence of the build script (`*_commands` module) is a problematic choice, because even if a generated file is present, the test infrastructure may want to regenerate it under a different environment (e.g. different Python/proto package version). This will ensure the protos always get recompiled if we have a `*_commands` module present, signaling we are in a build environment, thereby making the process hermetic.
This commit is contained in:
parent
018153cd1a
commit
90dbd2b670
|
|
@ -60,17 +60,8 @@ INSTALL_REQUIRES = ('protobuf>=3.3.0',
|
|||
'grpcio>={version}'.format(version=grpc_version.VERSION),)
|
||||
|
||||
try:
|
||||
# ensure we can load the _pb2_grpc module:
|
||||
from grpc_health.v1 import health_pb2_grpc as _pb2_grpc
|
||||
# if we can find the _pb2_grpc module, the package has already been built.
|
||||
SETUP_REQUIRES = ()
|
||||
COMMAND_CLASS = {
|
||||
# wire up commands to no-op not to break the external dependencies
|
||||
'preprocess': _NoOpCommand,
|
||||
'build_package_protos': _NoOpCommand,
|
||||
}
|
||||
except ImportError: # we are in the build environment
|
||||
import health_commands as _health_commands
|
||||
# we are in the build environment, otherwise the above import fails
|
||||
SETUP_REQUIRES = (
|
||||
'grpcio-tools=={version}'.format(version=grpc_version.VERSION),)
|
||||
COMMAND_CLASS = {
|
||||
|
|
@ -78,6 +69,13 @@ except ImportError: # we are in the build environment
|
|||
'preprocess': _health_commands.CopyProtoModules,
|
||||
'build_package_protos': _health_commands.BuildPackageProtos,
|
||||
}
|
||||
except ImportError:
|
||||
SETUP_REQUIRES = ()
|
||||
COMMAND_CLASS = {
|
||||
# wire up commands to no-op not to break the external dependencies
|
||||
'preprocess': _NoOpCommand,
|
||||
'build_package_protos': _NoOpCommand,
|
||||
}
|
||||
|
||||
setuptools.setup(
|
||||
name='grpcio-health-checking',
|
||||
|
|
|
|||
|
|
@ -61,17 +61,8 @@ INSTALL_REQUIRES = ('protobuf>=3.3.0',
|
|||
'grpcio>={version}'.format(version=grpc_version.VERSION),)
|
||||
|
||||
try:
|
||||
# ensure we can load the _pb2_grpc module:
|
||||
from grpc_reflection.v1alpha import reflection_pb2_grpc as _pb2_grpc
|
||||
# if we can find the _pb2_grpc module, the package has already been built.
|
||||
SETUP_REQUIRES = ()
|
||||
COMMAND_CLASS = {
|
||||
# wire up commands to no-op not to break the external dependencies
|
||||
'preprocess': _NoOpCommand,
|
||||
'build_package_protos': _NoOpCommand,
|
||||
}
|
||||
except ImportError: # we are in the build environment
|
||||
import reflection_commands as _reflection_commands
|
||||
# we are in the build environment, otherwise the above import fails
|
||||
SETUP_REQUIRES = (
|
||||
'grpcio-tools=={version}'.format(version=grpc_version.VERSION),)
|
||||
COMMAND_CLASS = {
|
||||
|
|
@ -79,6 +70,13 @@ except ImportError: # we are in the build environment
|
|||
'preprocess': _reflection_commands.CopyProtoModules,
|
||||
'build_package_protos': _reflection_commands.BuildPackageProtos,
|
||||
}
|
||||
except ImportError:
|
||||
SETUP_REQUIRES = ()
|
||||
COMMAND_CLASS = {
|
||||
# wire up commands to no-op not to break the external dependencies
|
||||
'preprocess': _NoOpCommand,
|
||||
'build_package_protos': _NoOpCommand,
|
||||
}
|
||||
|
||||
setuptools.setup(
|
||||
name='grpcio-reflection',
|
||||
|
|
|
|||
Loading…
Reference in New Issue