summaryrefslogtreecommitdiff
path: root/command/bdist.py
diff options
context:
space:
mode:
authorGreg Ward <gward@python.net>2000-06-06 02:51:38 +0000
committerGreg Ward <gward@python.net>2000-06-06 02:51:38 +0000
commit6a1d2a4ef333b3c52fbd11a6f4ba261349aae97c (patch)
tree413327b192b3d95ca0407302586b595c6f5bfdf1 /command/bdist.py
parent448d6882a1ad6730e07c74b34be274cfadfbd514 (diff)
downloadpython-setuptools-git-6a1d2a4ef333b3c52fbd11a6f4ba261349aae97c.tar.gz
Support for multiple distribution formats in one run.
Diffstat (limited to 'command/bdist.py')
-rw-r--r--command/bdist.py35
1 files changed, 18 insertions, 17 deletions
diff --git a/command/bdist.py b/command/bdist.py
index df4e3a03..3cd1eb03 100644
--- a/command/bdist.py
+++ b/command/bdist.py
@@ -20,9 +20,9 @@ class bdist (Command):
user_options = [('bdist-base=', 'b',
"temporary directory for creating built distributions"),
- ('format=', 'f',
- "format for distribution " +
- "(tar, ztar, gztar, bztar, zip, ... )"),
+ ('formats=', None,
+ "formats for distribution " +
+ "(gztar, bztar, zip, rpm, ... )"),
]
# The following commands do not take a format option from bdist
@@ -43,7 +43,7 @@ class bdist (Command):
def initialize_options (self):
self.bdist_base = None
- self.format = None
+ self.formats = None
# initialize_options()
@@ -57,31 +57,32 @@ class bdist (Command):
plat = get_platform()
self.bdist_base = os.path.join (build_base, 'bdist.' + plat)
- if self.format is None:
+ self.ensure_string_list('formats')
+ if self.formats is None:
try:
- self.format = self.default_format[os.name]
+ self.formats = [self.default_format[os.name]]
except KeyError:
raise DistutilsPlatformError, \
"don't know how to create built distributions " + \
"on platform %s" % os.name
- #elif type (self.format) is StringType:
- # self.format = string.split (self.format, ',')
# finalize_options()
def run (self):
- try:
- cmd_name = self.format_command[self.format]
- except KeyError:
- raise DistutilsOptionError, \
- "invalid archive format '%s'" % self.format
+ for format in self.formats:
- if cmd_name not in self.no_format_option:
- sub_cmd = self.get_finalized_command (cmd_name)
- sub_cmd.format = self.format
- self.run_command (cmd_name)
+ try:
+ cmd_name = self.format_command[self.format]
+ except KeyError:
+ raise DistutilsOptionError, \
+ "invalid format '%s'" % self.format
+
+ sub_cmd = self.reinitialize_command(cmd_name)
+ if cmd_name not in self.no_format_option:
+ sub_cmd.format = self.format
+ self.run_command (cmd_name)
# run()