aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Lidi Zheng <lidiz@google.com>2018-12-13 17:18:38 -0800
committerGravatar Lidi Zheng <lidiz@google.com>2018-12-13 18:07:52 -0800
commitb9cb2459ea4b2956547abf5fb516b553d85f1ae2 (patch)
treef2a8bfb07b7ce5fb00723dfa6eba6cc7623f2707 /src
parent0e2f4061f5cc035b61fe7ee22db38529735fb618 (diff)
Include LICENSE in artifact
Diffstat (limited to 'src')
-rw-r--r--src/python/grpcio_status/MANIFEST.in1
-rw-r--r--src/python/grpcio_status/setup.py19
-rw-r--r--src/python/grpcio_status/status_commands.py39
3 files changed, 52 insertions, 7 deletions
diff --git a/src/python/grpcio_status/MANIFEST.in b/src/python/grpcio_status/MANIFEST.in
index eca719a9c2..09b8ea721e 100644
--- a/src/python/grpcio_status/MANIFEST.in
+++ b/src/python/grpcio_status/MANIFEST.in
@@ -1,3 +1,4 @@
include grpc_version.py
recursive-include grpc_status *.py
global-exclude *.pyc
+include LICENSE
diff --git a/src/python/grpcio_status/setup.py b/src/python/grpcio_status/setup.py
index 0601498bc5..a59cdd0f0f 100644
--- a/src/python/grpcio_status/setup.py
+++ b/src/python/grpcio_status/setup.py
@@ -63,12 +63,18 @@ INSTALL_REQUIRES = (
'googleapis-common-protos>=1.5.5',
)
-SETUP_REQUIRES = ()
-COMMAND_CLASS = {
- # wire up commands to no-op not to break the external dependencies
- 'preprocess': _NoOpCommand,
- 'build_package_protos': _NoOpCommand,
-}
+try:
+ import status_commands as _status_commands
+ # we are in the build environment, otherwise the above import fails
+ COMMAND_CLASS = {
+ # Run preprocess from the repository *before* doing any packaging!
+ 'preprocess': _status_commands.Preprocess,
+ }
+except ImportError:
+ COMMAND_CLASS = {
+ # wire up commands to no-op not to break the external dependencies
+ 'preprocess': _NoOpCommand,
+ }
setuptools.setup(
name='grpcio-status',
@@ -82,5 +88,4 @@ setuptools.setup(
package_dir=PACKAGE_DIRECTORIES,
packages=setuptools.find_packages('.'),
install_requires=INSTALL_REQUIRES,
- setup_requires=SETUP_REQUIRES,
cmdclass=COMMAND_CLASS)
diff --git a/src/python/grpcio_status/status_commands.py b/src/python/grpcio_status/status_commands.py
new file mode 100644
index 0000000000..78cd497f62
--- /dev/null
+++ b/src/python/grpcio_status/status_commands.py
@@ -0,0 +1,39 @@
+# Copyright 2018 The gRPC Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""Provides distutils command classes for the GRPC Python setup process."""
+
+import os
+import shutil
+
+import setuptools
+
+ROOT_DIR = os.path.abspath(os.path.dirname(os.path.abspath(__file__)))
+LICENSE = os.path.join(ROOT_DIR, '../../../LICENSE')
+
+
+class Preprocess(setuptools.Command):
+ """Command to copy LICENSE from root directory."""
+
+ description = ''
+ user_options = []
+
+ def initialize_options(self):
+ pass
+
+ def finalize_options(self):
+ pass
+
+ def run(self):
+ if os.path.isfile(LICENSE):
+ shutil.copyfile(LICENSE, os.path.join(ROOT_DIR, 'LICENSE'))