idB.dZddlZddlZddlZddlZddlmZmZm Z m Z ddl m Z m Z ddlmZmZddlmZddlmZmZddlmZmZdd lmZdd lmZdd lmZdd lm Z dd l!m"Z"ddl#m$Z$ddl%m&Z&ddl'm(Z(m)Z)ddl*m+Z+ddl,m-Z-ddl.m/Z/ddl0m1Z1ddl2m3Z3ej4e5Z6ej7dej8Z9e ee$ee$fZ:de;dede$deu |1..000 4r&c$t|dS)NTr(r2r's r$should_build_for_wheel_commandr7Ns  . . ..r&c$t|dS)NFr4r5r6s r$ should_build_for_install_commandr9Ts  / / //r&cr|js|jsdS|jri|jjr]|jrJ|jsJt j|jj}|sJ||jj|jrdSdS|jsJ|j \}}t|rdSdS)z Return whether a built InstallRequirement can be stored in the persistent wheel cache, assuming the wheel cache is available, and _should_build() has determined a wheel needs to be built. FT) r0r/linkis_vcsrget_backend_for_schemeschemeis_immutable_rev_checkouturlsplitextr%)r' vcs_backendbaseexts r$ _should_cacherEZs |3>u x CHO <~0AA   0 0s~ N N 4u 8OOO!!##ID#$t 5r& wheel_cachect|j}|jsJ|r*t|r||j}n||j}|S)zdReturn the persistent or temporary cache directory where the built wheel need to be stored. )r! cache_dirr;rEget_path_for_linkget_ephem_path_for_link)r'rFcache_availablerHs r$_get_cache_dirrLzsj;011O 8OOOB=--B11#(;; 77AA r& wheel_pathc>t|jpd}ttj|}t|j|kr(t d||jtt||}t|j }t|t|j kr(t d||j |j }|td t|}n"#t $rd|}t|wxYw|tdkr>))*T\72S2S) $f[11   *)))s D**E  output_dirverify build_optionsglobal_optionsr0c|rdnd} t|n:#t$r-}td||j|Yd}~dSd}~wwxYw|j5t |||||}dddn #1swxYwY|rU|rS t||nA#ttf$r-}td||j|Yd}~dSd}~wwxYw|S)zaBuild one wheel. :return: The filename of the built wheel, or None if the build failed. r0wheelzBuilding %s for %s failed: %sNzBuilt %s for %s is invalid: %s) rOSErrorr,warningr. build_env_build_one_inside_envr^r r ) r'r_r`rarbr0artifacterMs r$ _build_onerksr&2zz7H :  +  H    ttttt   * ]NH                 f  Z ( ( ( ($&67    NN;XsxQR S S S44444  s> A"A  AA99A=A= BC+"CCc Htd5}|jsJ|jr|jsJ|jsJ|r t d|j|r t d|j|r(t|j|j|j|j}nQt|j|j|j|j}n)t|j|j |j |||j}|tj|}tj||} t!|\} } t#j||t d|j|| | t d||cdddS#t*$r+} t d |j| Yd} ~ nd} ~ wwxYw|jst-|| ddddS#1swxYwYdS) Nrd)kindz7Ignoring --global-option when building %s using PEP 517z6Ignoring --build-option when building %s using PEP 517)r.backendmetadata_directorytempd)r. setup_py_pathr/rbrarpz3Created wheel for %s: filename=%s size=%d sha256=%szStored in directory: %sz Building wheel for %s failed: %s)rr. use_pep517ropep517_backendr,rfrrQrrrqunpacked_source_directoryrPrRjoinrshutilmover- hexdigest Exception_clean_one_legacy) r'r_rarbr0temp_dirrM wheel_name dest_path wheel_hashlengthrjs r$rhrhs G $ $ $=x >! ) ) ) )% % % % Msx Lch 1.'*'="-  0.'*'="-  ,X!/8-+m J  !))*55J Z< 2 2 2{==================s7D#H5A8F:: G/!G*%H*G//HHHct|j|}td|j t |d|jdS#t$r$td|jYdSwxYw)N)rbzRunning setup.py clean for %szpython setup.py clean) command_desccwdTz Failed cleaning build dir for %sF) rrqr,r-r.rr/ryerror)r'rb clean_argss r$rzrzs+ %J  KK/::: %<#.    t  7BBBuusA*A?>A? requirementsc ^|sggfStddd|Dt5gg}}|D]}|jsJt ||}t ||||||jo|j} | rx|j | ||j tt| |_ |j j|_|j jsJ|||| dddn #1swxYwY|r8tddd|D|r8tddd |D||fS) zBuild wheels. :return: The list of InstallRequirement that succeeded to build and the list of InstallRequirement that failed to build. z*Building wheels for collected packages: %sz, c3$K|] }|jV dS)Nr..0r's r$ zbuild..8s$33s#(333333r&NzSuccessfully built %s cg|] }|j Srrs r$ zbuild..[s:::3ch:::r&zFailed to build %scg|] }|j Srrrs r$rzbuild..`s9993ch999r&)r,r-rurr.rLrkr0permit_editable_wheels download_inforecord_download_originrrr; file_pathlocal_file_pathr+append) rrFr`rarbbuild_successesbuild_failuresr'rH wheel_files r$buildr&s1 2v  KK4 33l33333 ++*,b + +C8OOO&sK88I# ;!; J +$0 66y#BSTTT J 7 788&)h&8#x((((&&s++++%%c****1 ++++++++++++++++:  # HH::/::: ; ;     HH99.999 : :   N **s CD,,D03D0)H__doc__loggingos.pathrPrervtypingrrrrpip._vendor.packaging.utilsrrpip._vendor.packaging.versionr r pip._internal.cacher pip._internal.exceptionsr r pip._internal.metadatarrpip._internal.models.linkrpip._internal.models.wheelr$pip._internal.operations.build.wheelr-pip._internal.operations.build.wheel_editabler+pip._internal.operations.build.wheel_legacyrpip._internal.req.req_installrpip._internal.utils.loggingrpip._internal.utils.miscrr$pip._internal.utils.setuptools_buildrpip._internal.utils.subprocessrpip._internal.utils.temp_dirrpip._internal.utils.urlsrpip._internal.vcsr getLogger__name__r,compile IGNORECASEr" BuildResultrTr!r%r2r7r9rErLr^rkrhrzrrr&r$rsp 222222222222OOOOOOOOAAAAAAAA******KKKKKKKKJJJJJJJJ******,,,,,,CCCCCCNNNNNNJJJJJJ<<<<<<222222::::::::KKKKKK::::::666666000000!!!!!!  8 $ $rz;R]KK D+,d3E.FFG (#($((((  B/ / //// 0 0 0000   d^@           ' S T    <# ## #9 # I #  #c]####LD DD9DI D  D c] DDDDN-tCyT"=+-.=+=+ =+9 =+ I =+  =+=+=+=+=+=+r&