o
    (c                     @   s<   d dl Z d dlZddlmZ ddlmZ G dd deZdS )    N   )RustCommand)RustExtensionc                       s8   e Zd ZdZdZd
 fddZdeddfdd	Z  ZS )
clean_rustzClean Rust extensions.z7clean Rust extensions (compile/link to build directory)returnNc                    s   t    d| _d S )NF)superinitialize_optionsZinplace)self	__class__ 9usr/lib/python3.10/site-packages/setuptools_rust/clean.pyr      s   

zclean_rust.initialize_optionsextc                 C   sX   ddd|j g}|jr||j |jstd|tjd zt	| W d S    Y d S )NZcargocleanz--manifest-path )file)
pathZcargo_manifest_argsextendquietprintjoinsysstderr
subprocesscheck_output)r	   r   argsr   r   r   run_for_extension   s   zclean_rust.run_for_extension)r   N)	__name__
__module____qualname____doc__descriptionr   r   r   __classcell__r   r   r
   r   r      s
    r   )r   r   commandr   	extensionr   r   r   r   r   r   <module>   s
    