Added --skip-build option, so lazy debuggers/testers (mainly me) don't
have to wade through all the 'build' output when testing installation.
This commit is contained in:
parent
f8f2b98bdd
commit
74ead8ff5d
|
@ -77,6 +77,11 @@ class install (Command):
|
|||
('install-data=', None,
|
||||
"installation directory for data files"),
|
||||
|
||||
# For lazy debuggers who just want to test the install
|
||||
# commands without rerunning "build" all the time
|
||||
('skip-build', None,
|
||||
"skip rebuilding everything (for testing/debugging)"),
|
||||
|
||||
# Where to install documentation (eventually!)
|
||||
#('doc-format=', None, "format of documentation to generate"),
|
||||
#('install-man=', None, "directory for Unix man pages"),
|
||||
|
@ -129,6 +134,8 @@ class install (Command):
|
|||
self.extra_path = None
|
||||
self.install_path_file = 0
|
||||
|
||||
self.skip_build = 0
|
||||
|
||||
# These are only here as a conduit from the 'build' command to the
|
||||
# 'install_*' commands that do the real work. ('build_base' isn't
|
||||
# actually used anywhere, but it might be useful in future.) They
|
||||
|
@ -270,7 +277,10 @@ class install (Command):
|
|||
from distutils.fancy_getopt import longopt_xlate
|
||||
print msg + ":"
|
||||
for opt in self.user_options:
|
||||
opt_name = string.translate (opt[0][0:-1], longopt_xlate)
|
||||
opt_name = opt[0]
|
||||
if opt_name[-1] == "=":
|
||||
opt_name = opt_name[0:-1]
|
||||
opt_name = string.translate (opt_name, longopt_xlate)
|
||||
val = getattr (self, opt_name)
|
||||
print " %s: %s" % (opt_name, val)
|
||||
|
||||
|
@ -409,7 +419,8 @@ class install (Command):
|
|||
def run (self):
|
||||
|
||||
# Obviously have to build before we can install
|
||||
self.run_peer ('build')
|
||||
if not self.skip_build:
|
||||
self.run_peer ('build')
|
||||
|
||||
# Run all sub-commands: currently this just means install all
|
||||
# Python modules using 'install_lib'.
|
||||
|
|
|
@ -15,6 +15,7 @@ class install_lib (Command):
|
|||
('build-dir=','b', "build directory (where to install from)"),
|
||||
('compile', 'c', "compile .py to .pyc"),
|
||||
('optimize', 'o', "compile .py to .pyo (optimized)"),
|
||||
('skip-build', None, "skip the build steps"),
|
||||
]
|
||||
|
||||
|
||||
|
@ -24,6 +25,7 @@ class install_lib (Command):
|
|||
self.build_dir = None
|
||||
self.compile = 1
|
||||
self.optimize = 1
|
||||
self.skip_build = None
|
||||
|
||||
def finalize_options (self):
|
||||
|
||||
|
@ -34,16 +36,19 @@ class install_lib (Command):
|
|||
('build_lib', 'build_dir'),
|
||||
('install_lib', 'install_dir'),
|
||||
('compile_py', 'compile'),
|
||||
('optimize_py', 'optimize'))
|
||||
('optimize_py', 'optimize'),
|
||||
('skip_build', 'skip_build'),
|
||||
)
|
||||
|
||||
|
||||
def run (self):
|
||||
|
||||
# Make sure we have built everything we need first
|
||||
if self.distribution.has_pure_modules():
|
||||
self.run_peer ('build_py')
|
||||
if self.distribution.has_ext_modules():
|
||||
self.run_peer ('build_ext')
|
||||
if not self.skip_build:
|
||||
if self.distribution.has_pure_modules():
|
||||
self.run_peer ('build_py')
|
||||
if self.distribution.has_ext_modules():
|
||||
self.run_peer ('build_ext')
|
||||
|
||||
# Install everything: simply dump the entire contents of the build
|
||||
# directory to the installation directory (that's the beauty of
|
||||
|
|
Loading…
Reference in New Issue