o
    Ú¨Ci}  ã                   @   sÂ   d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
mZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZmZ d dlmZ d dlmZ e  e¡ZG dd„ de
ƒZdS )é    N)ÚValues)Ú
WheelCache)Ú
cmdoptions)ÚRequirementCommandÚwith_cleanup)ÚSUCCESS)ÚCommandError)Úget_build_tracker)ÚInstallRequirement)Ú
ensure_dirÚnormalize_path)ÚTempDirectory)Úbuildc                   @   s<   e Zd ZdZdZddd„Zededee	 de
fd	d
„ƒZdS )ÚWheelCommanda‘  
    Build Wheel archives for your requirements and dependencies.

    Wheel is a built-package format, and offers the advantage of not
    recompiling your software during every install. For more details, see the
    wheel docs: https://wheel.readthedocs.io/en/latest/

    'pip wheel' uses the build system interface as described here:
    https://pip.pypa.io/en/stable/reference/build-system/

    zõ
      %prog [options] <requirement specifier> ...
      %prog [options] -r <requirements file> ...
      %prog [options] [-e] <vcs project url> ...
      %prog [options] [-e] <local project path> ...
      %prog [options] <archive url/path> ...ÚreturnNc                 C   sv  | j jddddtjdd | j  t ¡ ¡ | j  t ¡ ¡ | j  t ¡ ¡ | j  t ¡ ¡ | j  t 	¡ ¡ | j  t 
¡ ¡ | j  t ¡ ¡ | j  t ¡ ¡ | j  t ¡ ¡ | j  t ¡ ¡ | j  t ¡ ¡ | j  t ¡ ¡ | j  t ¡ ¡ | j  t ¡ ¡ | j jddd	d
dd | j  t ¡ ¡ | j jdd	d
dd | j  t ¡ ¡ t tj| j¡}| j d|¡ | j d| j ¡ d S )Nz-wz--wheel-dirÚ	wheel_dirÚdirzLBuild wheels into <dir>, where the default is the current working directory.)ÚdestÚmetavarÚdefaultÚhelpz--no-verifyÚ	no_verifyÚ
store_trueFz%Don't verify if built wheel is valid.)r   Úactionr   r   z--prezYInclude pre-release and development versions. By default, pip only finds stable versions.)r   r   r   r   )Úcmd_optsÚ
add_optionÚosÚcurdirr   Ú	no_binaryÚonly_binaryÚprefer_binaryÚno_build_isolationÚ
use_pep517Úcheck_build_depsÚconstraintsÚbuild_constraintsÚeditableÚrequirementsÚsrcÚignore_requires_pythonÚno_depsÚprogress_barÚconfig_settingsÚrequire_hashesÚmake_option_groupÚindex_groupÚparserÚinsert_option_group)ÚselfÚ
index_opts© r4   út/var/www/html/fyndo/python/python_agents/rag_suite/venv/lib/python3.10/site-packages/pip/_internal/commands/wheel.pyÚadd_options*   sV   ùûû
þzWheelCommand.add_optionsÚoptionsÚargsc                 C   s   t  |¡ |  |¡}|  ||¡}t|jƒ|_t|jƒ |  tƒ ¡}t	|j
 ddd}|  ||||¡}t|jƒ}| j||||||jd| jd}	| j|	||||jd}
|  |¡ |
j|dd}|	 |j ¡ ¡ g }|j ¡ D ]}|jrw|	 |¡ ql| |¡ qlt|||j d\}}|D ]9}|jr“|jjs•J ‚|jsšJ ‚z
t |j|j¡ W qŠ t yÃ } zt! "d	|j#|¡ | |¡ W Y d }~qŠd }~ww t$|ƒd
krÎt%dƒ‚t&S )NÚwheelT)ÚdeleteÚkindÚglobally_managedF)Útemp_build_dirr7   Úbuild_trackerÚsessionÚfinderÚdownload_dirÚuse_user_siteÚ	verbosity)Úpreparerr@   r7   Úwheel_cacher)   )Úcheck_supported_wheels)rE   Úverifyz Building wheel for %s failed: %sr   z"Failed to build one or more wheels)'r   Úcheck_build_constraintsÚget_default_sessionÚ_build_package_finderr   r   r   Úenter_contextr	   r   Úno_cleanÚget_requirementsr   Ú	cache_dirÚmake_requirement_preparerrC   Úmake_resolverr)   Útrace_basic_infoÚresolveÚ prepare_linked_requirements_morer'   ÚvaluesÚis_wheelÚsave_linked_requirementÚappendr   r   ÚlinkÚlocal_file_pathÚshutilÚcopyÚOSErrorÚloggerÚwarningÚnameÚlenr   r   )r2   r7   r8   r?   r@   r>   Ú	directoryÚreqsrE   rD   ÚresolverÚrequirement_setÚreqs_to_buildÚreqÚbuild_successesÚbuild_failuresÚer4   r4   r5   Úrunc   sx   


ý
øû

ý
ý€úzWheelCommand.run)r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úusager6   r   r   ÚlistÚstrÚintrj   r4   r4   r4   r5   r      s    
9 r   )Úloggingr   rZ   Úoptparser   Úpip._internal.cacher   Úpip._internal.clir   Úpip._internal.cli.req_commandr   r   Úpip._internal.cli.status_codesr   Úpip._internal.exceptionsr   Ú,pip._internal.operations.build.build_trackerr	   Úpip._internal.req.req_installr
   Úpip._internal.utils.miscr   r   Úpip._internal.utils.temp_dirr   Úpip._internal.wheel_builderr   Ú	getLoggerrk   r]   r   r4   r4   r4   r5   Ú<module>   s     
