File: //usr/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/build.cpython-39.pyc
a
?�f
� @ s d Z ddlZddlZddlZddlmZ ddlZddlmZ ddl m
Z
ddlmZm
Z
ddlmZ e�e�Zd d
� Zdd� Zd
d� Zdd� Zd#dd�Ze�� Zejddd� ejddddd� ejddddd� ejdddd� d d!� Zed"k�r ee�� � dS )$z%Build a project using PEP 517 hooks.
� N)�toml� )�BuildEnvironment)�Pep517HookCaller)�tempdir�mkdir_p)�FileNotFoundErrorc C s4 ddh}|t | �ks0dj|t | � d�}t|��dS )z7
Ensure build system has the requisite fields.
�requires�
build-backendz"Missing required fields: {missing})ZmissingN)�set�format�
ValueError)�systemZrequired�message� r �</usr/lib/python3.9/site-packages/pip/_vendor/pep517/build.py�validate_system s
�r c C sH t j�| d�}t|��}t�|�}W d � n1 s60 Y |d S )zC
Load the build system from a source dir (pyproject.toml).
zpyproject.tomlNzbuild-system)�os�path�join�openr �load)�
source_dirZ pyproject�fZpyproject_datar r r �load_system s
(r c C sH zt | �}W n ttfy& i }Y n0 |�dd� |�dddg� |S )z�
Given a source dir, attempt to get a build system backend
and requirements from pyproject.toml. Fallback to
setuptools but only if the file was not found or a build
system was not indicated.
r
z setuptools.build_meta:__legacy__r Z
setuptools�wheel)r r �KeyError�
setdefault)r r r r r �
compat_system'