U
    e³“eÜ  ã                   @  sx   d dl mZ d dlZd dlZd dlZG dd„ deƒZG dd„ deƒZG dd„ deƒZG d	d
„ d
eƒZ	G dd„ de
ƒZdS )é    )ÚannotationsNc                   @  s   e Zd ZdZdS )ÚBuildExceptionz<
    Exception raised by :class:`build.ProjectBuilder`.
    N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__© r	   r	   ú5/tmp/pip-unpacked-wheel-f07x2s22/build/_exceptions.pyr      s   r   c                      s<   e Zd ZdZddddddœ‡ fd	d
„Zddœdd„Z‡  ZS )ÚBuildBackendExceptionz:
    Exception raised when a backend operation fails.
    N©NNNÚ	Exceptionz
str | NonezZtuple[type[BaseException], BaseException, types.TracebackType] | tuple[(None, None, None)]ÚNone)Ú	exceptionÚdescriptionÚexc_infoÚreturnc                   s    t ƒ  ¡  || _|| _|| _d S ©N)ÚsuperÚ__init__r   r   Ú_description)Úselfr   r   r   ©Ú	__class__r	   r
   r      s    
zBuildBackendException.__init__Ústr©r   c                 C  s   | j r| j S d| j›S )NzBackend operation failed: )r   r   ©r   r	   r	   r
   Ú__str__   s    zBuildBackendException.__str__)Nr   ©r   r   r   r   r   r   Ú__classcell__r	   r	   r   r
   r      s
     ûr   c                   @  s   e Zd ZdZddœdd„ZdS )ÚBuildSystemTableValidationErrorzZ
    Exception raised when the ``[build-system]`` table in pyproject.toml is invalid.
    r   r   c                 C  s   d| j d › S )Nz5Failed to validate `build-system` in pyproject.toml: r   )Úargsr   r	   r	   r
   r   *   s    z'BuildSystemTableValidationError.__str__N)r   r   r   r   r   r	   r	   r	   r
   r    %   s   r    c                      s8   e Zd ZdZddddœ‡ fdd„Zddœd	d
„Z‡  ZS )ÚFailedProcessErrorzG
    Exception raised when a setup or preparation operation fails.
    zsubprocess.CalledProcessErrorr   r   )r   r   r   c                   s   t ƒ  ¡  || _|| _d S r   )r   r   r   r   )r   r   r   r   r	   r
   r   3   s    
zFailedProcessError.__init__r   c                 C  sj   d  | jj¡}| j› d|› d| jj› }dD ]8}t| j|ƒ}|r,|d|› d7 }|t | ¡ d¡7 }q,|S )Nú z
  Command 'z' failed with return code )ÚstdoutÚstderrz
  z:
z    )	Újoinr   Úcmdr   Ú
returncodeÚgetattrÚtextwrapÚindentÚdecode)r   r'   r   Ústream_nameÚstreamr	   r	   r
   r   8   s    zFailedProcessError.__str__r   r	   r	   r   r
   r"   .   s   r"   c                   @  s   e Zd ZdZdS )ÚTypoWarningz7
    Warning raised when a possible typo is found.
    Nr   r	   r	   r	   r
   r/   C   s   r/   )Ú
__future__r   Ú
subprocessr*   Útypesr   r   r   r    r"   ÚWarningr/   r	   r	   r	   r
   Ú<module>   s   	