]> granicus.if.org Git - python/commitdiff
Added the --dist-dir option to control where the archive(s) are put;
authorGreg Ward <gward@python.net>
Wed, 5 Jul 2000 03:06:46 +0000 (03:06 +0000)
committerGreg Ward <gward@python.net>
Wed, 5 Jul 2000 03:06:46 +0000 (03:06 +0000)
defaults to 'dist' (ie. no longer in the distribution root).

Lib/distutils/command/sdist.py

index 6f867e89d8a90823fe82e5a6fad6462f808719d2..2d31640f44345f6a922f7dd20dfe6ee1f3304c69 100644 (file)
@@ -64,6 +64,9 @@ class sdist (Command):
         ('keep-tree', 'k',
          "keep the distribution tree around after creating " +
          "archive file(s)"),
+        ('dist-dir=', 'd',
+         "directory to put the source distribution archive(s) in "
+         "[default: dist]"),
         ]
 
 
@@ -94,6 +97,7 @@ class sdist (Command):
 
         self.formats = None
         self.keep_tree = 0
+        self.dist_dir = None
 
         self.archive_files = None
 
@@ -118,6 +122,9 @@ class sdist (Command):
             raise DistutilsOptionError, \
                   "unknown archive format '%s'" % bad_format
 
+        if self.dist_dir is None:
+            self.dist_dir = "dist"
+
 
     def run (self):
 
@@ -667,11 +674,14 @@ class sdist (Command):
         # Don't warn about missing meta-data here -- should be (and is!)
         # done elsewhere.
         base_dir = self.distribution.get_fullname()
+        base_name = os.path.join(self.dist_dir, base_dir)
 
         self.make_release_tree (base_dir, self.files)
         archive_files = []              # remember names of files we create
+        if self.dist_dir:
+            self.mkpath(self.dist_dir)
         for fmt in self.formats:
-            file = self.make_archive (base_dir, fmt, base_dir=base_dir)
+            file = self.make_archive (base_name, fmt, base_dir=base_dir)
             archive_files.append(file)
 
         self.archive_files = archive_files