3
ûâde'  ã               @   s\   d dl Z d dlZd dlmZ d dlmZ d dlmZ e je	ƒZ
eeeeee dœdd„ZdS )é    N)ÚOptional)ÚPep517HookCaller)Úrunner_with_spinner_message)ÚnameÚbackendÚmetadata_directoryÚtempdÚreturnc             C   s€   |dk	st ‚yDtjd|ƒ td| › d�ƒ}|j|ƒ� |j||d�}W dQ R X W n  tk
rp   tjd| ƒ dS X tj	j
||ƒS )z�Build one InstallRequirement using the PEP 517 build process.

    Returns path to wheel if successfully built. Otherwise, returns None.
    NzDestination directory: %szBuilding wheel for z (pyproject.toml))r   zFailed building wheel for %s)ÚAssertionErrorÚloggerÚdebugr   Zsubprocess_runnerZbuild_wheelÚ	ExceptionÚerrorÚosÚpathÚjoin)r   r   r   r   ZrunnerÚ
wheel_name© r   úC/tmp/pip-build-red6nood/pip/pip/_internal/operations/build/wheel.pyÚbuild_wheel_pep517   s    
r   )Úloggingr   Útypingr   Zpip._vendor.pep517.wrappersr   Zpip._internal.utils.subprocessr   Ú	getLoggerÚ__name__r   Ústrr   r   r   r   r   Ú<module>   s   
