U e( @sddlmZddlZddlZddlZddlZddlmZddlm Z ddl m Z ddl m Z ddl mZddl mZdd lmZdd lmZdd lmZd Ze jZe jZe jZd ddddZejdd ddddZdd dddddZ dS)) annotationsN) Generator)Sequence) lang_base) envcontext)PatchesT)Var)Prefix)win_exe) yaml_loadZdartenvstrr)venvreturncCs dtj|dtjtdfffS)NPATHbin)ospathjoinpathsepr)r rG/opt/hc_python/lib/python3.8/site-packages/pre_commit/languages/dart.py get_env_patchsrr zGenerator[(None, None, None)])prefixversionrc cs0t|t|}tt| dVW5QRXdS)N)renvironment_dirENVIRONMENT_DIRrr)rrenvdirrrrin_envsrz Sequence[str]None)rradditional_dependenciesrc s:td|t|t|}tj|dddddfdd }tt }|||W5QRX|D]}t }| d \}} }|r|d |f} n|f} tj |d| tj d|idt |D]T\} } } d| krt .} tj| d}t| ||t||W5QRXq*qtd|W5QRXqjdS)Ndartrr r r)prefix_p pub_cacherc stjd|i}t|d}t|}W5QRXtj|d|d|dD]<}tj|dddd tjt||d |d f|dqHdS) N PUB_CACHE pubspec.yaml)r pubgetenvZ executablesr compileexez--outputrz.dart) renvironopenrr r setup_cmdrr )r!r"Zdart_envfZpubspec_contents executablebin_dirrr _install_dir0s  z)install_environment.._install_dir:z --versionr%cacheaddr#r'r$pkgz could not find pubspec.yaml for )r r%r4r5)rZassert_version_defaultrrrrrmakedirstempfileTemporaryDirectory partitionr-r+walkshutilcopytreer AssertionError)rrrrr2tmpZdep_sZdep_tmpdep_Zdep_cmdroot filenamescopiedr6rr0rinstall_environment&s8        rE)! __future__r contextlibos.pathrr<r8typingrrZ pre_commitrZpre_commit.envcontextrrrZpre_commit.prefixr Zpre_commit.utilr Zpre_commit.yamlr rZbasic_get_default_versionZget_default_versionZbasic_health_checkZ health_checkZbasic_run_hookZrun_hookrcontextmanagerrrErrrrs*