Merge pull request #5207 from soltanmm/hack
Paper over custom command limitations
diff --git a/src/python/grpcio/commands.py b/src/python/grpcio/commands.py
index 1561bbf..eb5cbb3 100644
--- a/src/python/grpcio/commands.py
+++ b/src/python/grpcio/commands.py
@@ -187,7 +187,17 @@
class BdistWheelCustomName(bdist_wheel.bdist_wheel, WheelNameMixin):
"""Thin wrapper around the bdist command to build with our custom name."""
+ description = ("Create a gRPC custom-named wheel distribution. "
+ "Cannot be run with any other distribution-related command.")
+
def run(self):
+ # TODO(atash): if the hack we use to support Linux binaries becomes
+ # 'supported' (i.e.
+ # https://bitbucket.org/pypa/pypi/issues/120/binary-wheels-for-linux-are-not-supported
+ # is not solved and we see users beginning to use this command, ill-advised
+ # as that may be) consider making the following capable of running with
+ # other distribution-related commands. Currently it depends on the (AFAIK
+ # undocumented, private) ordering of the distribution files.
bdist_wheel.bdist_wheel.run(self)
output = self.distribution.dist_files[-1][2]
target = os.path.join(self.dist_dir, '{}.whl'.format(self.wheel_name(True)))
diff --git a/tools/run_tests/build_artifact_python.sh b/tools/run_tests/build_artifact_python.sh
index f22ddd9..f2c10ab 100755
--- a/tools/run_tests/build_artifact_python.sh
+++ b/tools/run_tests/build_artifact_python.sh
@@ -43,7 +43,13 @@
GRPC_PYTHON_BUILD_WITH_CYTHON=1 \
${SETARCH_CMD} python setup.py \
bdist_wheel \
- sdist \
+ sdist
+
+# The bdist_wheel_grpc_custom command is finicky about command output ordering
+# and thus ought to be run in a shell command separate of others.
+GRPC_PYTHON_USE_CUSTOM_BDIST=0 \
+GRPC_PYTHON_BUILD_WITH_CYTHON=1 \
+${SETARCH_CMD} python setup.py \
bdist_wheel_grpc_custom
mkdir -p artifacts