Rene Liebscher: if we have to run the same sub-command multiple times

(eg. "bdist_dumb", to generate both ZIP and tar archives in the same
run), tell all but the last run to keep temp files -- this just gets
rid of the need to pseudo-install the same files multiple times.
This commit is contained in:
Greg Ward 2000-09-16 16:04:59 +00:00
parent 3bfc8c8068
commit beb6d72f31
1 changed files with 18 additions and 5 deletions

View File

@ -90,7 +90,8 @@ class bdist (Command):
# "build/bdist.<plat>/dumb", "build/bdist.<plat>/rpm", etc.)
if self.bdist_base is None:
build_base = self.get_finalized_command('build').build_base
self.bdist_base = os.path.join(build_base, 'bdist.' + self.plat_name)
self.bdist_base = os.path.join(build_base,
'bdist.' + self.plat_name)
self.ensure_string_list('formats')
if self.formats is None:
@ -109,16 +110,28 @@ class bdist (Command):
def run (self):
# Figure out which sub-commands we need to run.
commands = []
for format in self.formats:
try:
cmd_name = self.format_command[format][0]
commands.append(self.format_command[format][0])
except KeyError:
raise DistutilsOptionError, \
"invalid format '%s'" % format
raise DistutilsOptionError, "invalid format '%s'" % format
# Reinitialize and run each command.
for i in range(len(self.formats)):
cmd_name = commands[i]
sub_cmd = self.reinitialize_command(cmd_name)
if cmd_name not in self.no_format_option:
sub_cmd.format = format
sub_cmd.format = self.formats[i]
print ("bdist.run: format=%s, command=%s, rest=%s" %
(self.formats[i], cmd_name, commands[i+1:]))
# If we're going to need to run this command again, tell it to
# keep its temporary files around so subsequent runs go faster.
if cmd_name in commands[i+1:]:
sub_cmd.keep_temp = 1
self.run_command (cmd_name)
# run()