aboutsummaryrefslogtreecommitdiffstats
path: root/build_scripts/setup_runner.py
diff options
context:
space:
mode:
Diffstat (limited to 'build_scripts/setup_runner.py')
-rw-r--r--build_scripts/setup_runner.py37
1 files changed, 26 insertions, 11 deletions
diff --git a/build_scripts/setup_runner.py b/build_scripts/setup_runner.py
index 0e45a13f4..3c7116b82 100644
--- a/build_scripts/setup_runner.py
+++ b/build_scripts/setup_runner.py
@@ -37,17 +37,19 @@
##
#############################################################################
-import sys, os, textwrap
+import sys
+import os
+import textwrap
+
+from setuptools import setup # Import setuptools before distutils
+import distutils.log as log
from build_scripts.config import config
from build_scripts.main import get_package_version, get_setuptools_extension_modules
from build_scripts.main import cmd_class_dict
-from build_scripts.options import OPTION_BUILD_TYPE, OPTION_INTERNAL_BUILD_TYPE
-from build_scripts.options import OPTION_QUIET
+from build_scripts.options import ADDITIONAL_OPTIONS, OPTION
from build_scripts.utils import run_process
-from setuptools import setup
-
class SetupRunner(object):
def __init__(self, orig_argv):
@@ -86,8 +88,13 @@ class SetupRunner(object):
internal_build_type_arg = self.construct_internal_build_type_cmd_line_argument(build_type)
setup_cmd = [sys.executable] + self.sub_argv + [internal_build_type_arg]
+ command = self.sub_argv[0]
+ if command == 'setup.py' and len(self.sub_argv) > 1:
+ command = self.sub_argv[1]
+
# Add --reuse-build option if requested and not already present.
- if reuse_build and not self.cmd_line_argument_is_in_args("reuse-build", self.sub_argv):
+ if (reuse_build and command in ('bdist_wheel', 'build', 'build_rst_docs', 'install')
+ and not self.cmd_line_argument_is_in_args("reuse-build", self.sub_argv)):
setup_cmd.append(self.construct_cmd_line_argument("reuse-build"))
self.invocations_list.append(setup_cmd)
@@ -101,13 +108,13 @@ class SetupRunner(object):
"""
# Prepare initial config.
- config.init_config(build_type=OPTION_BUILD_TYPE,
- internal_build_type=OPTION_INTERNAL_BUILD_TYPE,
+ config.init_config(build_type=OPTION["BUILD_TYPE"],
+ internal_build_type=OPTION["INTERNAL_BUILD_TYPE"],
cmd_class_dict=cmd_class_dict,
package_version=get_package_version(),
ext_modules=get_setuptools_extension_modules(),
setup_script_dir=self.setup_script_dir,
- quiet=OPTION_QUIET)
+ quiet=OPTION["QUIET"])
# This is an internal invocation of setup.py, so start actual
# build.
@@ -126,7 +133,11 @@ class SetupRunner(object):
.format(config.build_type))
# Build everything: shiboken2, shiboken2-generator and PySide2.
- if config.is_top_level_build_all():
+ help_requested = '--help' in self.sub_argv or '-h' in self.sub_argv
+ if help_requested:
+ self.add_setup_internal_invocation(config.pyside_option_name)
+
+ elif config.is_top_level_build_all():
self.add_setup_internal_invocation(config.shiboken_module_option_name)
# Reuse the shiboken build for the generator package instead
@@ -147,7 +158,7 @@ class SetupRunner(object):
for cmd in self.invocations_list:
cmd_as_string = " ".join(cmd)
- print("\nRunning process: {}\n".format(cmd_as_string))
+ log.info("\nRunning setup: {}\n".format(cmd_as_string))
exit_code = run_process(cmd)
if exit_code != 0:
msg = textwrap.dedent("""
@@ -156,6 +167,10 @@ class SetupRunner(object):
""").format(exit_code, cmd_as_string)
raise RuntimeError(msg)
+ if help_requested:
+ print(ADDITIONAL_OPTIONS)
+
+
@staticmethod
def run_setuptools_setup():
"""