
    )h                         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 j                  e
      Zdedededed	ee   f
d
Zy)    N)Optional)BuildBackendHookCallerHookMissing)runner_with_spinner_messagenamebackendmetadata_directorytempdreturnc                    |J 	 t         j                  d|       t        d|  d      }|j                  |      5  	 |j	                  ||      }	 ddd       t        j                  j                  |      S # t
        $ r)}t         j                  d| |       Y d}~ddd       yd}~ww xY w# 1 sw Y   ^xY w# t        $ r t         j                  d|        Y yw xY w)zBuild 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es          `/var/www/html/venv/lib/python3.12/site-packages/pip/_internal/operations/build/wheel_editable.pybuild_wheel_editabler      s     )))0%8,$TF*;<
 &&v. 	$33'9 4 
	" 77<<z**  8	 	 		 	  6=sQ   6B; B/A:B; :	B,B'B/B; 'B,,B//B84B; ;CC)loggingr   typingr   pip._vendor.pyproject_hooksr   r   pip._internal.utils.subprocessr   	getLogger__name__r   strr        r   <module>r$      s]     	  K F			8	$"+
"+#"+ "+ 	"+
 c]"+r#   