
    Zi
                    >   U d dl mZ d dlZd dlZd dlZd dlZd dlmZmZ ddl	m
Z
  G d dej                  Zej        Z ej        e          Zddd"dZ ej        de          Z ej        dd           Zd#dZd$d%dZej        rded<   ded<   nd  Zg d!ZdS )&    )annotationsN)MappingSequence   )StrPathc                      e Zd Zddd
d	ZdS )LoggerNoriginmessagestrr   tuple[str, ...] | NonereturnNonec                   d S )N )selfr   r   s      E/root/projects/butler/venv/lib/python3.11/site-packages/build/_ctx.py__call__zLogger.__call__   s          r   r   r   r   r   r   )__name__
__module____qualname__r   r   r   r   r	   r	      s%        IM[[[[[[[[r   r	   r
   r   r   r   r   r   r   c               \    |)t                               t          j        | d           d S d S )N   )
stacklevel)_default_loggerlogloggingINFO)r   r   s     r   _log_defaultr"      s1    ~GL'a@@@@@ ~r   LOGGER)default	VERBOSITYerrorsubprocess.CalledProcessErrorc                   t                                           } |t          j        | j                  d           dD ]L}t          | |          }|r8 |t          |t                    r|                                n|d|f           Md S )N
subprocesscmdr
   )stdoutstderrr*   )	r#   getr*   list2cmdliner+   getattr
isinstancebytesdecode)r&   r   stream_namestreams       r   log_subprocess_errorr6      s    
**,,CC
	**3HIIII+ n n,, 	nC:fe#<#<H&R^`kQlmmmmn nr   r+   Sequence[StrPath]cwd
str | NoneenvMapping[str, str] | Nonec           	       	
 t                                           }|dk    rdd l}t                                          	|j                            d          5 }t          j        | |d|t          j        t          j	                  5 
 	t          j
        |           d           |j        d	
fd
            }|j                            |g           
                                }|rt          j        |
j                  	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S 	 t          j        | dd||           d S # t          j        $ r}t!          |            d }~ww xY w)Nr   r   )max_workerszutf-8)r8   encodingr:   r,   r-   r)   r
   r   r   c                 H    j         sJ j         D ]}  | d           d S )N)r*   r,   r
   )r,   )liner   processs    r   
log_streamz"run_subprocess.<locals>.log_stream9   sE    ~%%%#N ? ?DC%=>>>>>? ?r   T)capture_outputcheckr8   r:   )r   r   )r%   r.   concurrent.futuresr#   futuresThreadPoolExecutorr*   PopenPIPESTDOUTr/   submitwaitCalledProcessErrorargsrunr6   )r+   r8   r:   	verbosity
concurrentexecutorrB   coder&   r   rA   s            @@r   run_subprocessrT   )   sI   I1}}!!!!jjll 11a1@@	HDLwC
XbXi  	H C
',,5JKKKK_? ? ? ? ? ? _?
 ##ZL111<<>>D H 3D',GGGH#	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H*	N3t4ScRRRRRR, 	 	 	 '''	sO   /D.
A?D
D.D	D.D	D..D25D2<E E;&E66E;r   boolrP   c                    | dk    rt                                           S | dk    rt                                          S t          |           )Nr   rP   )r#   r.   r%   AttributeError)names    r   __getattr__rY   S   s@    5==::<<[  ==??"T"""r   )r#   r%   r   r6   rT   rP   r   )r&   r'   r   r   )NN)r+   r7   r8   r9   r:   r;   r   r   )
__future__r   contextvarsr    r*   typingcollections.abcr   r   _typesr   Protocolr	   __spec__parent_package_name	getLoggerr   r"   
ContextVarr#   r%   r6   rT   TYPE_CHECKING__annotations__rY   __all__r   r   r   <module>rh      s   " " " " " " "           - - - - - - - -      \ \ \ \ \V_ \ \ \ #'#M22 DH A A A A A A
 
 	,	?	?	?"K";:::	n n n n! ! ! ! !H 
 #KKKOOOO# # #  r   