NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

clean.py (2183B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\stdlib\distutils\command\clean.py
      2 __revision__ = '$Id: clean.py 82110 2010-06-20 13:38:51Z kristjan.jonsson $'
      3 import os
      4 from distutils.core import Command
      5 from distutils.dir_util import remove_tree
      6 from distutils import log
      7 
      8 class clean(Command):
      9     description = "clean up temporary files from 'build' command"
     10     user_options = [('build-base=', 'b', "base build directory (default: 'build.build-base')"),
     11      ('build-lib=', None, "build directory for all modules (default: 'build.build-lib')"),
     12      ('build-temp=', 't', "temporary build directory (default: 'build.build-temp')"),
     13      ('build-scripts=', None, "build directory for scripts (default: 'build.build-scripts')"),
     14      ('bdist-base=', None, 'temporary directory for built distributions'),
     15      ('all', 'a', 'remove all build output, not just temporary by-products')]
     16     boolean_options = ['all']
     17 
     18     def initialize_options(self):
     19         self.build_base = None
     20         self.build_lib = None
     21         self.build_temp = None
     22         self.build_scripts = None
     23         self.bdist_base = None
     24         self.all = None
     25 
     26     def finalize_options(self):
     27         self.set_undefined_options('build', ('build_base', 'build_base'), ('build_lib', 'build_lib'), ('build_scripts', 'build_scripts'), ('build_temp', 'build_temp'))
     28         self.set_undefined_options('bdist', ('bdist_base', 'bdist_base'))
     29 
     30     def run(self):
     31         if os.path.exists(self.build_temp):
     32             remove_tree(self.build_temp, dry_run=self.dry_run)
     33         else:
     34             log.debug("'%s' does not exist -- can't clean it", self.build_temp)
     35         if self.all:
     36             for directory in (self.build_lib, self.bdist_base, self.build_scripts):
     37                 if os.path.exists(directory):
     38                     remove_tree(directory, dry_run=self.dry_run)
     39                 else:
     40                     log.warn("'%s' does not exist -- can't clean it", directory)
     41 
     42         if not self.dry_run:
     43             try:
     44                 os.rmdir(self.build_base)
     45                 log.info("removing '%s'", self.build_base)
     46             except OSError:
     47                 pass