0iP*ddlmZddlZddlZddlZddlmZddlmZddlm Z ddl m Z ddl m Z ddl m Z dd lmZdd lmZd Ze j&Ze j*Z dd Zdd Zej2ddZ ddZy)) annotationsN) Generator)Sequence) lang_base) envcontext)PatchesTUNSET)Prefix) cmd_output_bjuliaenvctj||}|r|dn|j|d}dd|g|dd}tj||||S)Nrjulia--startup-file=no)require_serialcolor)rhook_cmdpath run_xargs) prefixentryargs file_argsis_localrrcmdscripts I/opt/hc_python/lib/python3.12/site-packages/pre_commit/languages/julia.pyrun_hookrsg"   UD )CSVV[[Q%8F ' :#ab' :C    %  cd|fdtffS)NJULIA_LOAD_PATH JULIA_PROJECTr ) target_dirversions r get_env_patchr&1s J' %  r c#Ktj|t|}tt ||5ddddy#1swYyxYww)N)renvironment_dirENVIRONMENT_DIRrr&)rr%envdirs rin_envr+9s7  & &v HF M&'2 3  4 3 3s1A A A A A c tj|t|}t||5t j |dd}d}|D]L}|j |}tj j|s4tj||d}n|s8ttj j|ddjd}|D]J} |j | } tj j| s4tj| |nd} td d d | d |g|d |jidddy#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+osmakedirsrisfileshutilcopyopenjoincloser prefix_dir) rr%additional_dependenciesr* project_names project_found project_name project_filemanifest_names manifest_name manifest_file julia_codes rinstall_environmentrC@s,  & &v HF   FT*=  )L!;;|4L77>>,/ KK f - M  * fn5s ; A A CA+M"KK 6M77>>-0 KK v .  , 4  ($ D& $ !! w ! s DE  E)rr rstrr Sequence[str]rrErboolrrFrrFreturnztuple[int, bytes])r$rDr%rDrGr)rr r%rDrGzGenerator[None])rr r%rDr:rErGNone) __future__r contextlibr1r4collections.abcrr pre_commitrpre_commit.envcontextrrr pre_commit.prefixr pre_commit.utilr r)basic_health_check health_checkbasic_get_default_versionget_default_versionrr&contextmanagerr+rCr rrVs" %$ ,*'$(++ 99!   8  E E E "/E  E r