o
    Ëý°j}  ã                   @   sh   d dl Z d dlZd dlmZ d dlmZmZ d dlmZ e  	e
¡Zdedededed	ee f
d
d„ZdS )é    N)ÚOptional)ÚHookMissingÚPep517HookCaller)Úrunner_with_spinner_messageÚnameÚbackendÚmetadata_directoryÚtempdÚreturnc                 C   sÜ   |dusJ ‚zPt  d|¡ td| › d�ƒ}| |¡�3 z	|j||d�}W n! tyE } zt  d| |¡ W Y d}~W d  ƒ W dS d}~ww W d  ƒ n1 sPw   Y  W n tyf   t  d| ¡ Y dS w tj	 
||¡S )z�Build one InstallRequirement using the PEP 660 build process.

    Returns path to wheel if successfully built. Otherwise, returns None.
    NzDestination directory: %szBuilding editable for z (pyproject.toml))r   zLCannot build editable %s because the build backend does not have the %s hookzFailed building editable for %s)ÚloggerÚdebugr   Úsubprocess_runnerÚbuild_editabler   ÚerrorÚ	ExceptionÚosÚpathÚjoin)r   r   r   r	   ÚrunnerÚ
wheel_nameÚe© r   ú /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/pip/_internal/operations/build/wheel_editable.pyÚbuild_wheel_editable   s<   

ÿ
þü
ó€üþ€þr   )Úloggingr   Útypingr   Úpip._vendor.pep517.wrappersr   r   Úpip._internal.utils.subprocessr   Ú	getLoggerÚ__name__r   Ústrr   r   r   r   r   Ú<module>   s"    
ÿþýüû