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