U
ʗRe @ sB d Z ddlZddlZddlZddlZddlZzddlmZ W n e k
rX ddl
ZY nX zddlmZ W n e k
r ddl
mZ Y nX ddlmZ ddlmZmZ ddlmZmZmZ ddlmZmZmZ eeZd d
Zddd
ZefddZdd Z e! Z"e"j#ddd e"j#dddd dd Z$edkr>e$ dS )z2Build metadata for a project using PEP 517 hooks.
N)Path )BuildEnvironment)Pep517HookCallerquiet_subprocess_runner)tempdirmkdir_pdir_to_zipfile)validate_systemload_system
compat_systemc
C s | i }td| || td t J}td| | |i }tj||}t
|tj|tj| W 5 Q R X d S )NzGot build requires: %sz$Installed dynamic build dependencieszTrying to build metadata in %s)get_requires_for_build_wheelloginfopip_installr prepare_metadata_for_build_wheelospathjoinshutilmovebasename)hooksenvdestreqstdfilenamesource 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/meta.py
_prep_meta s
r! .c
C s |p
t | }tj| |pd}t| t| t| |d |d}|t 2 t
}||d t||| W 5 Q R X W 5 Q R X d S )Ndistz
build-backendzbackend-pathrequires)
r r r r r r
r getsubprocess_runnerr r r r! )
source_dirr systemr r r r r build) s r) c
C s0 t }| |d t|W 5 Q R S Q R X d S )N)r )r r )builderout_dirr r r build_as_zip8 s
r, c C s: t j| } t| }tjt| |d}tt|}t
|S )z
Given a source directory (root) of a package,
return an importlib.metadata.Distribution object
with metadata build from that package.
)r' r( )r r
expanduserr functoolspartialr) r r, imp_metaZPathDistribution)rootr( r* r r r r load> s
r2 r' z%A directory containing pyproject.toml)helpz --out-dirz-oz>Destination in which to save the builds relative to source dirc C s t } t| j| j d S )N)parser
parse_argsr) r' r+ )argsr r r mainV s r7 __main__)r" NN)%__doc__argparseloggingr r r. importlib.metadatametadatar0 ImportErrorZimportlib_metadatazipfiler ZzippZenvbuildr wrappersr r Zdirtoolsr r r r) r
r r getLogger__name__r r! r, r2 ArgumentParserr4 add_argumentr7 r r r r