o
    yAfS                     @   s,   d dl mZ d dlmZ G dd deZdS )    )cached_property)BuildHookInterfacec                   @   s0   e Zd ZdZedd Zedd Zdd ZdS )	VCSBuildHookvcsc                 C   sB   | j d}|std| j dt|tstd| j d|S )Nzversion-filez&Option `version-file` for build hook `z` is required` must be a string)configget
ValueErrorPLUGIN_NAME
isinstancestr	TypeError)selfZversion_file r   9/usr/lib/python3.10/site-packages/hatch_vcs/build_hook.pyconfig_version_file   s   
z VCSBuildHook.config_version_filec                 C   s4   | j d}|d urt|tstd| j d|S )Ntemplatez"Option `template` for build hook `r   )r   r   r   r   r   r
   )r   r   r   r   r   config_template   s   zVCSBuildHook.config_templatec                 C   sV   ddl m} i }| jr| j|d< || j| jj| jfi | |d d| j  d S )Nr   )dump_versionr   Z	artifacts/)Zsetuptools_scmr   r   rootmetadataversionr   append)r   r   Z
build_datar   kwargsr   r   r   
initialize   s   
zVCSBuildHook.initializeN)__name__
__module____qualname__r
   r   r   r   r   r   r   r   r   r   	   s    
	
r   N)	functoolsr   Z)hatchling.builders.hooks.plugin.interfacer   r   r   r   r   r   <module>   s   