U oÏ aIã@sìdZddlZddlZddlZddlmZmZddlm Z m Z ddl Z ddl mZddlZddlZddlmZddlZddlmZdd lmZdd lmZe e¡Zd d „Zd d„Zdd„Zddd„Z dddddœZ!dd„Z"edkrèe ƒdS)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 Cstƒö}z| |¡t d¡Wn*tk rLt d¡YW5QR£dSXz| i¡}t d|¡Wn.tk r–tjdddYW5QR£dSXz| |¡t d¡Wn*tk rÚt d ¡YW5QR£dSXtƒ}t d |¡zôz|  |i¡}t d |¡Wn4tk r@tjd ddYW¢²W5QR£dSX|  d ¡slt d|¡W¢†W5QR£dSt ||ƒ}t|ƒrŽt d|¡nt d|¡W¢FW5QR£dSt |¡rÄt d¡nt d¡W¢W5QR£dSW5t   |¡XW5QR£dSQRXdS)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 dependencieszTrying to build sdist in %szbuild_sdist returned %rzFailure in build_sdistz.tar.gzz*Filename %s doesn't have .tar.gz extensionúOutput file %s existsúOutput file %s does not existzOutput file is a tar filezOutput file is not a tar file)r Ú pip_installÚlogÚinforÚerrorÚget_requires_for_build_sdistÚ ExceptionrÚshutilÚrmtreeÚ build_sdistÚendswithÚpjoinrÚtarfileÚ is_tarfile©ÚhooksZbuild_sys_requiresÚenvÚreqsÚtdÚfilenameÚpath©r*úYC:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-6mt8ur68\pip\_vendor\pep517\check.pyÚcheck_build_sdistsZ         ÿ       r,c Cstƒö}z| |¡t d¡Wn*tk rLt d¡YW5QR£dSXz| i¡}t d|¡Wn.tk r–tjdddYW5QR£dSXz| |¡t d¡Wn*tk rÚt d ¡YW5QR£dSXtƒ}t d |¡zôz|  |i¡}t d |¡Wn4tk r@tjd ddYW¢²W5QR£dSX|  d ¡slt d|¡W¢†W5QR£dSt ||ƒ}t|ƒrŽt d|¡nt d|¡W¢FW5QR£dSt |¡rÄt d¡nt d¡W¢W5QR£dSW5t   |¡XW5QR£dSQRXdS)Nr r FrrTrrrzTrying to build wheel in %szbuild_wheel returned %rzFailure in build_wheelz.whlz'Filename %s doesn't have .whl extensionrrzOutput file is a zip filezOutput file is not a zip file)r rrrrrÚget_requires_for_build_wheelrrrrÚ build_wheelrr rÚzipfileÚ is_zipfiler#r*r*r+Úcheck_build_wheelOsT                 r1c Csât|dƒ}t|ƒrt d¡nt d¡dSzLt|ƒ}t|ƒ}W5QRX|d}|d}|d}| d¡}t d ¡Wn(tt fk r tjd d d YdSXt |||ƒ}t ||ƒ} t ||ƒ} | sÐt  d ¡| sÞt  d¡| S)Nzpyproject.tomlzFound pyproject.tomlzMissing pyproject.tomlFz build-systemÚrequiresz build-backendz backend-pathzLoaded pyproject.tomlzInvalid pyproject.tomlTrz%Sdist checks failed; scroll up to seezWheel checks failed)r rrrrÚopenÚ toml_loadÚgetrÚKeyErrorr r,r1Úwarning) Ú source_dirÚ pyprojectÚfZpyproject_dataZbuildsysr2ÚbackendÚ backend_pathr$Zsdist_okZwheel_okr*r*r+Úcheck‡s0          r=cCs`t ¡}|jddd| |¡}tƒt|jƒ}|rDttddƒƒnttddƒƒt   d¡dS) Nr8z%A directory containing pyproject.toml)Úhelpz Checks passedÚgreenz Checks failedÚredr) ÚargparseÚArgumentParserÚ add_argumentÚ parse_argsr r=r8ÚprintÚansiÚsysÚexit)ÚargvZapÚargsÚokr*r*r+Úmain©sþ  rLzzzz)ÚresetZboldr@r?cCs8tjdkr,tj ¡r,t|t|ƒtdSt|ƒSdS)NÚntrM)ÚosÚnamerGÚstdoutÚisattyÚ ansi_codesÚstr)ÚsÚattrr*r*r+rFÃsrFÚ__main__)N)#Ú__doc__rAÚloggingrOÚos.pathrrr Zpip._vendor.tomlrrr4rÚ subprocessrrGr!Útempfilerr/Zcolorlogr Zenvbuildr Úwrappersr Ú getLoggerÚ__name__rr,r1r=rLrSrFr*r*r*r+Ús6      98" ü