<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
U
    ÀÒ.e=  ã                   @   sì   d Z ddlZddlZddlZddlmZmZ ddlm	Z	m
Z ddlZddlmZ ddlZddlZddlmZ ddlZddlmZ dd	lmZ dd
lmZ e e¡Zdd„ Zdd„ Zdd„ Zddd„Z dddddœZ!dd„ Z"edkrèe ƒ  dS )zHCheck a project and backend by attempting to build using PEP 517 hooks.
é    N)ÚisfileÚjoin)ÚTomlDecodeErrorÚload)ÚCalledProcessError)Úmkdtempé   )Úenable_colourful_output)ÚBuildEnvironment)ÚPep517HookCallerc              
   C   s  t ƒ ö}z| |¡ t d¡ W n* tk
rL   t d¡ Y W 5 Q R £ dS X z|  i ¡}t d|¡ W n. tk
r–   tjddd Y W 5 Q R £ dS X z| |¡ t d¡ W n* tk
rÚ   t d	¡ Y W 5 Q R £ dS X tƒ }t d
|¡ zôz|  |i ¡}t d|¡ W n4 tk
r@   tjddd Y W ¢²W 5 Q R £ dS X | d¡slt d|¡ W ¢†W 5 Q R £ dS t||ƒ}t|ƒrŽt d|¡ nt d|¡ W ¢FW 5 Q R £ dS t |¡rÄt d¡ nt d¡ W ¢W 5 Q R £ dS W 5 t	 
|¡ X W 5 Q R £ dS Q R X d S )Nú#Installed static build dependenciesú+Failed to install static build dependenciesFúGot build requires: %sú'Failure in get_requires_for_build_sdistT©Úexc_infoú$Installed dynamic build dependenciesú,Failed to install dynamic build dependencieszTrying to build sdist in %szbuild_sdist returned %rzFailure in build_sdistz.tar.gzz*Filename %s doesn't have .tar.gz extensionúOutput file %s existsúOutput file %s does not existzOutput file is a tar filezOutput file is not a tar file)r
   Úpip_installÚlogÚinfor   ÚerrorZget_requires_for_build_sdistÚ	Exceptionr   ÚshutilÚrmtreeZbuild_sdistÚendswithÚpjoinr   ÚtarfileZ
is_tarfile©ÚhooksZbuild_sys_requiresÚenvZreqsZtdÚfilenameÚpath© r%   ú</usr/lib/python3.8/site-packages/pip/_vendor/pep517/check.pyÚcheck_build_sdist   sZ    





 ÿ


r'   c              
   C   s  t ƒ ö}z| |¡ t d¡ W n* tk
rL   t d¡ Y W 5 Q R £ dS X z|  i ¡}t d|¡ W n. tk
r–   tjddd Y W 5 Q R £ dS X z| |¡ t d¡ W n* tk
rÚ   t d	¡ Y W 5 Q R £ dS X tƒ }t d
|¡ zôz|  |i ¡}t d|¡ W n4 tk
r@   tjddd Y W ¢²W 5 Q R £ dS X | d¡slt d|¡ W ¢†W 5 Q R £ dS t||ƒ}t|ƒrŽt d|¡ nt d|¡ W ¢FW 5 Q R £ dS t |¡rÄt d¡ nt d¡ W ¢W 5 Q R £ dS W 5 t	 
|¡ X W 5 Q R £ dS Q R X d S )Nr   r   Fr   r   Tr   r   r   zTrying to build wheel in %szbuild_wheel returned %rzFailure in build_wheelz.whlz'Filename %s doesn't have .whl extensionr   r   zOutput file is a zip filezOutput file is not a zip file)r
   r   r   r   r   r   Zget_requires_for_build_wheelr   r   r   r   Zbuild_wheelr   r   r   ÚzipfileZ
is_zipfiler    r%   r%   r&   Úcheck_build_wheelO   sT    








r)   c              	   C   sâ   t | dƒ}t|ƒrt d¡ nt d¡ dS zLt|ƒ}t|ƒ}W 5 Q R X |d }|d }|d }| d¡}t d	¡ W n( tt	fk
r    tjd
dd Y dS X t
| ||ƒ}t||ƒ}	t||ƒ}
|	sÐt d¡ |
sÞt d¡ |	S )Nzpyproject.tomlzFound pyproject.tomlzMissing pyproject.tomlFzbuild-systemÚrequireszbuild-backendzbackend-pathzLoaded pyproject.tomlzInvalid pyproject.tomlTr   z%Sdist checks failed; scroll up to seezWheel checks failed)r   r   r   r   r   ÚopenÚ	toml_loadÚgetr   ÚKeyErrorr   r'   r)   Zwarning)Ú
source_dirZ	pyprojectÚfZpyproject_dataZbuildsysr*   ZbackendZbackend_pathr!   Zsdist_okZwheel_okr%   r%   r&   Úcheck‡   s0    







r1   c                 C   s`   t  ¡ }|jddd | | ¡}tƒ  t|jƒ}|rDttddƒƒ nttddƒƒ t	 
d¡ d S )	Nr/   z%A directory containing pyproject.toml)ÚhelpzChecks passedÚgreenzChecks failedÚredr   )ÚargparseÚArgumentParserÚadd_argumentÚ
parse_argsr	   r1   r/   ÚprintÚansiÚsysÚexit)ÚargvZapÚargsÚokr%   r%   r&   Úmain©   s    þ

r@   z[0mz[1mz[31mz[32m)ÚresetZboldr4   r3   c                 C   s8   t jdkr,tj ¡ r,t| t| ƒ td  S t| ƒS d S )NÚntrA   )ÚosÚnamer;   ÚstdoutÚisattyÚ
ansi_codesÚstr)ÚsÚattrr%   r%   r&   r:   Ã   s    r:   Ú__main__)N)#Ú__doc__r5   ZloggingrC   Zos.pathr   r   r   Ztomlr   r   r,   r   Ú
subprocessr   r;   r   Ztempfiler   r(   Zcolorlogr	   Zenvbuildr
   Zwrappersr   Z	getLoggerÚ__name__r   r'   r)   r1   r@   rG   r:   r%   r%   r%   r&   Ú<module>   s6   
98"
ü