a
    äIþfØ
  ã                   @   sD   d Z ddlZddlmZ ddlmZ ddlmZ G dd„ deƒZdS )zBdistutils.command.clean

Implements the Distutils 'clean' command.é    N)ÚCommand)Úremove_tree)Úlogc                   @   s6   e Zd ZdZg d¢ZdgZdd„ Zdd„ Zdd	„ Zd
S )Úcleanz-clean up temporary files from 'build' command))zbuild-base=Úbz2base build directory (default: 'build.build-base'))z
build-lib=Nz<build directory for all modules (default: 'build.build-lib'))zbuild-temp=Útz7temporary build directory (default: 'build.build-temp'))zbuild-scripts=Nz<build directory for scripts (default: 'build.build-scripts'))zbdist-base=Nz+temporary directory for built distributions)ÚallÚaz7remove all build output, not just temporary by-productsr   c                 C   s(   d | _ d | _d | _d | _d | _d | _d S )N)Ú
build_baseÚ	build_libÚ
build_tempÚbuild_scriptsÚ
bdist_baser   ©Úself© r   ú(lib/python3.9/distutils/command/clean.pyÚinitialize_options    s    zclean.initialize_optionsc                 C   s"   |   ddddd¡ |   dd¡ d S )NZbuild)r
   r
   )r   r   )r   r   )r   r   Zbdist)r   r   )Zset_undefined_optionsr   r   r   r   Úfinalize_options(   s    üÿzclean.finalize_optionsc                 C   s®   t j | j¡r t| j| jd nt d| j¡ | jrr| j	| j
| jfD ],}t j |¡rdt|| jd qDt d|¡ qD| jsªzt  | j¡ t d| j¡ W n ty¨   Y n0 d S )N)Údry_runz%'%s' does not exist -- can't clean itzremoving '%s')ÚosÚpathÚexistsr   r   r   r   Údebugr   r   r   r   ÚwarnÚrmdirr
   ÚinfoÚOSError)r   Z	directoryr   r   r   Úrun1   s*    ÿþÿz	clean.runN)	Ú__name__Ú
__module__Ú__qualname__ZdescriptionZuser_optionsZboolean_optionsr   r   r   r   r   r   r   r      s   	r   )	Ú__doc__r   Zdistutils.corer   Zdistutils.dir_utilr   Z	distutilsr   r   r   r   r   r   Ú<module>   s
   