� ��^i����dZddlZddlZddlZddlZddlmZmZddl Z ddl m Z ddl Z ddl Z ddlmZddlZddlmZddlmZmZdd lmZdd lmZeje��Zd �Zd �Zd �Zdd�Z ddddd�Z!d�Z"edkr e ��dSdS)zHCheck a project and backend by attempting to build using PEP 517 hooks. �N)�isfile�join)�CalledProcessError)�mkdtemp�)�enable_colourful_output)�TOMLDecodeError� toml_load)�BuildEnvironment)�Pep517HookCallerc���t��5} |�|��t�d��n6#t$r)t�d��Yddd��dSwxYw |�i��}t�d|��n8#t$r+t�dd���Yddd��dSwxYw |�|��t�d��n6#t$r)t�d ��Yddd��dSwxYwt��}t�d |�� |� |i��}t�d |��nL#t$r?t�d d���Ytj |��ddd��dSwxYw|� d ��s=t�d|�� tj |��ddd��dSt||��}t|��rt�d|��n=t�d|�� tj |��ddd��dStj|��rt�d��nz%A directory containing pyproject.toml)�helpz Checks passed�greenz Checks failed�redr) rr=�argparse�ArgumentParser� add_argument� parse_argsrrGr>�print�ansi�sys�exit)�argv�ap�args�oks r-�mainrX�s����K�K�H�I�I�I� � � "� "�B��O�O�� 4��6�6�6� �=�=�� � �D����� �t�� � �B� �� �d�?�G�,�,�-�-�-�-�-� �d�?�E�*�*�+�+�+� ��� � � � � �zzzz)�reset�boldrKrJc���tjdkrItj���r+t |t |��zt dzSt |��S)N�ntrZ)�os�namerR�stdout�isatty� ansi_codes�str)�s�attrs r-rQrQ�sJ�� �w�$���3�:�,�,�.�.���$��#�a�&�&�(�:�g�+>�>�>��1�v�v� rY�__main__)N)#�__doc__rLr9�loggingr^�os.pathrrr"r� subprocessrrRr#�tempfilerr3�colorlogr�compatr r �envbuildr �wrappersr � getLogger�__name__rr.r5rGrXrbrQ�rYr-�rss��������� � � � ����� � � � �)�)�)�)�)�)�)�)� � � � �)�)�)�)�)�)� � � � ���������������-�-�-�-�-�-�.�.�.�.�.�.�.�.�&�&�&�&�&�&�&�&�&�&�&�&��g���!�!��6�6�6�r5�5�5�p���D����,� � � � �� ���� �z����D�F�F�F�F�F��rY