Kaydet (Commit) e18dd8dd authored tarafından Greg Ward's avatar Greg Ward

Support for multiple distribution formats in one run.

üst ec21cc60
...@@ -20,9 +20,9 @@ class bdist (Command): ...@@ -20,9 +20,9 @@ class bdist (Command):
user_options = [('bdist-base=', 'b', user_options = [('bdist-base=', 'b',
"temporary directory for creating built distributions"), "temporary directory for creating built distributions"),
('format=', 'f', ('formats=', None,
"format for distribution " + "formats for distribution " +
"(tar, ztar, gztar, bztar, zip, ... )"), "(gztar, bztar, zip, rpm, ... )"),
] ]
# The following commands do not take a format option from bdist # The following commands do not take a format option from bdist
...@@ -43,7 +43,7 @@ class bdist (Command): ...@@ -43,7 +43,7 @@ class bdist (Command):
def initialize_options (self): def initialize_options (self):
self.bdist_base = None self.bdist_base = None
self.format = None self.formats = None
# initialize_options() # initialize_options()
...@@ -57,31 +57,32 @@ class bdist (Command): ...@@ -57,31 +57,32 @@ class bdist (Command):
plat = get_platform() plat = get_platform()
self.bdist_base = os.path.join (build_base, 'bdist.' + plat) 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: try:
self.format = self.default_format[os.name] self.formats = [self.default_format[os.name]]
except KeyError: except KeyError:
raise DistutilsPlatformError, \ raise DistutilsPlatformError, \
"don't know how to create built distributions " + \ "don't know how to create built distributions " + \
"on platform %s" % os.name "on platform %s" % os.name
#elif type (self.format) is StringType:
# self.format = string.split (self.format, ',')
# finalize_options() # finalize_options()
def run (self): def run (self):
try: for format in self.formats:
cmd_name = self.format_command[self.format]
except KeyError:
raise DistutilsOptionError, \
"invalid archive format '%s'" % self.format
if cmd_name not in self.no_format_option: try:
sub_cmd = self.get_finalized_command (cmd_name) cmd_name = self.format_command[self.format]
sub_cmd.format = self.format except KeyError:
self.run_command (cmd_name) 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() # run()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment