U
ʗRe @ s d Z ddlZddlZddlZddlZddlmZmZ ddl Z ddl
mZ ddlZddl
Z
ddlmZ ddlZddlmZ ddlmZmZ dd lmZ dd
lmZ eeZdd Zd
d Zdd ZdddZ dddddZ!dd Z"edkre dS )zHCheck a project and backend by attempting to build using PEP 517 hooks.
N)isfilejoin)CalledProcessError)mkdtemp )enable_colourful_output)TOMLDecodeError toml_load)BuildEnvironment)Pep517HookCallerc
C s t }z|| td W n* tk
rL td Y W 5 Q R dS X z| i }td| W n. tk
r tjddd Y W 5 Q R dS X z|| td W n* tk
r td Y W 5 Q R dS X t }td
| zz| |i }td| W n4 tk
r@ tjddd Y W W 5 Q R dS X |d
sltd| W W 5 Q R dS t
||}t|rtd| ntd| W FW 5 Q R dS t|rtd ntd W W 5 Q R dS W 5 t
| X W 5 Q R dS Q R X d S )N#Installed static build dependencies+Failed to install static build dependenciesFGot build requires: %s'Failure in get_requires_for_build_sdistTexc_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 extensionOutput file %s existsOutput file %s does not existzOutput file is a tar filezOutput file is not a tar file)r
pip_installloginfor errorget_requires_for_build_sdist Exceptionr shutilrmtreebuild_sdistendswithpjoinr tarfile
is_tarfilehooksZbuild_sys_requiresenvreqstdfilenamepath r* /builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/pep517/check.pycheck_build_sdist sZ
r, c
C s t }z|| td W n* tk
rL td Y W 5 Q R dS X z| i }td| W n. tk
r tjddd Y W 5 Q R dS X z|| td W n* tk
r td Y W 5 Q R dS X t }td
| zz| |i }td| W n4 tk
r@ tjddd Y W W 5 Q R dS X |d
sltd| W W 5 Q R dS t
||}t|rtd| ntd| W FW 5 Q R dS t|rtd ntd W W 5 Q R dS W 5 t
| X W 5 Q R dS Q R X d S )Nr r
Fr r Tr r r zTrying to build wheel in %szbuild_wheel returned %rzFailure in build_wheelz.whlz'Filename %s doesn't have .whl extensionr r zOutput file is a zip filezOutput file is not a zip file)r
r r r r r get_requires_for_build_wheelr r r r build_wheelr r r zipfile
is_zipfiler# r* r* r+ check_build_wheelP sT
r1 c C s t | d}t|rtd ntd dS zPt|d}t|}W 5 Q R X |d }|d }|d }|d }td
W n( t t
fk
r tjddd
Y dS X t| ||}t||} t
||}
| std |
std | S )Nzpyproject.tomlzFound pyproject.tomlzMissing pyproject.tomlFrbzbuild-systemrequiresz
build-backendzbackend-pathzLoaded pyproject.tomlzInvalid pyproject.tomlTr z%Sdist checks failed; scroll up to seezWheel checks failed)r r r r r ioopenr getr KeyErrorr r, r1 warning)
source_dir pyprojectfZpyproject_dataZbuildsysr3 backendbackend_pathr$ Zsdist_okZwheel_okr* r* r+ check s0
r> c C sj t d t }|jddd || }t t|j}|rNt t
dd nt t
dd td d S )
NzQpep517.check is deprecated. Consider switching to https://pypi.org/project/build/r9 z%A directory containing pyproject.toml)helpz
Checks passedgreenz
Checks failedredr )
r r8 argparseArgumentParseradd_argument
parse_argsr r> r9 printansisysexit)argvZapargsokr* r* r+ main s
rM z[0mz[1mz[31mz[32m)resetboldrA r@ c C s8 t jdkr,tj r,t| t| td S t| S d S )NntrN )osnamerH stdoutisatty
ansi_codesstr)sattrr* r* r+ rG s rG __main__)N)#__doc__rB r4 loggingrQ os.pathr r r r
subprocessr rH r! tempfiler r/ Zcolorlogr compatr r Zenvbuildr
wrappersr getLogger__name__r r, r1 r> rM rU rG r* r* r* r+