Viewing File: /opt/hc_python/lib/python3.12/site-packages/pre_commit/languages/__pycache__/julia.cpython-312.pyc

�

i0iP��*�ddlmZddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZddl
mZddl
m
Z
dd	lmZdd
lmZdZe	j&Ze	j*Z																dd�Zdd
�Zej2dd��Z								dd�Zy)�)�annotationsN)�	Generator)�Sequence)�	lang_base)�
envcontext)�PatchesT��UNSET)�Prefix)�cmd_output_b�juliaenvc��tj||�}|r|dn|j|d�}dd|g|dd��}tj||||��S)Nr�julia�--startup-file=no�)�require_serial�color)r�hook_cmd�path�	run_xargs)	�prefix�entry�args�	file_args�is_localrr�cmd�scripts	         �I/opt/hc_python/lib/python3.12/site-packages/pre_commit/languages/julia.py�run_hookrsg��"�
�
�U�D�
)�C��S��V�V�[�[��Q��%8�F��'��
:�#�a�b�'�
:�C������%��	��c��d|fdtffS)N�JULIA_LOAD_PATH�
JULIA_PROJECTr	)�
target_dir�versions  r�
get_env_patchr&1s��	�J�'�	�%� ��r c#�K�tj|t|�}tt	||��5d��ddd�y#1swYyxYw�w)N)r�environment_dir�ENVIRONMENT_DIRrr&)rr%�envdirs   r�in_envr+9s7����
�
&�
&�v���
H�F�	�M�&�'�2�	3�
�
4�	3�	3�s�1A
�A�	A
�A
�A
c	��tj|t|�}t||�5t	j
|d��d}d}|D]L}|j
|�}tjj|�s�4tj||�d}n|s8ttjj|d�d�j�d}|D]J}	|j
|	�}
tjj|
�s�4tj|
|�nd}td	d
d|d|g|��d
|ji�ddd�y#1swYyxYw)NT)�exist_ok)zJuliaProject.toml�Project.tomlFr.�a)zJuliaManifest.tomlz
Manifest.tomla�
        @assert length(ARGS) > 0
        hook_env = ARGS[1]
        deps = join(ARGS[2:end], " ")

        # We prepend @stdlib here so that we can load the package manager even
        # though `get_env_patch` limits `JULIA_LOAD_PATH` to just the hook env.
        pushfirst!(LOAD_PATH, "@stdlib")
        using Pkg
        popfirst!(LOAD_PATH)

        # Instantiate the environment shipped with the hook repo. If we have
        # additional dependencies we disable precompilation in this step to
        # avoid double work.
        precompile = isempty(deps) ? "1" : "0"
        withenv("JULIA_PKG_PRECOMPILE_AUTO" => precompile) do
            Pkg.instantiate()
        end

        # Add additional dependencies (with precompilation)
        if !isempty(deps)
            withenv("JULIA_PKG_PRECOMPILE_AUTO" => "1") do
                Pkg.REPLMode.pkgstr("add " * deps)
            end
        end
        rrz-ez--�cwd)rr(r)r+�os�makedirsr�isfile�shutil�copy�open�join�closer�
prefix_dir)rr%�additional_dependenciesr*�
project_names�
project_found�project_name�project_file�manifest_names�
manifest_name�
manifest_file�
julia_codes            r�install_environmentrC@s,��
�
&�
&�v���
H�F�	���	 �	���F�T�*�=�
��
�)�L�!�;�;�|�4�L��7�7�>�>�,�/���K�K��f�-� �M��
*��������f�n�5�s�;�A�A�C�A��+�M�"�K�K�
�6�M��7�7�>�>�-�0���K�K�
�v�.��,��
�4	��(�$�
�D�&�	
�
$�	
��!�!�	
�w
!�	 �	 �s�DE	�	E)rrr�strr�
Sequence[str]rrEr�boolrrFrrF�returnztuple[int, bytes])r$rDr%rDrGr)rrr%rDrGzGenerator[None])rrr%rDr:rErG�None)�
__future__r�
contextlibr1r4�collections.abcrr�
pre_commitr�pre_commit.envcontextrrr
�pre_commit.prefixr�pre_commit.utilrr)�basic_health_check�health_check�basic_get_default_version�get_default_versionrr&�contextmanagerr+rC�r r�<module>rVs���"��	�
�%�$� �,�*�'�$�(����+�+���9�9���������!�	��
�������8�������E
��E
��E
�"/�E
�
�	E
r 
Back to Directory File Manager