Ë
    
_ßdº  ã                   óœ   — d dl mZ d dlmc mZ d dlZd dlZd dlZd dl	Z	d dl
mZ ddlmZ ddlmZ eZdd„Z G d	„ d
ej                  «      Zy)é    )ÚlogN)Úchainé   )Úmetadataé   )Ú_ORIGINAL_SUBCOMMANDSc              #   ó€   K  — t        j                  d¬«      D ]!  } |j                  «       | «      D ]  }|–— Œ Œ# y­w)z%Find all files under revision controlzsetuptools.file_finders)ÚgroupN)r   Úentry_pointsÚload)ÚdirnameÚepÚitems      ú:/usr/lib/python3/dist-packages/setuptools/command/sdist.pyÚwalk_revctrlr      sB   è ø€ ä×#Ñ#Ð*CÔDò ˆØ�B—G‘G“I˜gÓ&ò 	ˆDØ‹Jñ	ñùs   ‚<>c                   óÞ   ‡ — e Zd ZdZg d¢Zi Zg d¢Z ed„ eD «       «      Zd„ Z	d„ Z
d„ Zd„ Zeej                  d	„ «       «       Zˆ fd
„Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zˆ xZS )Úsdistz=Smart sdist that finds anything supported by revision control))zformats=Nz6formats for source distribution (comma-separated list))z	keep-tempÚkz@keep the distribution tree around after creating archive file(s))z	dist-dir=ÚdzFdirectory to put the source distribution archive(s) in [default: dist])zowner=Úuz@Owner name used when creating a tar file [default: current user])zgroup=ÚgzAGroup name used when creating a tar file [default: current group])Ú z.rstz.txtz.mdc              #   ó>   K  — | ]  }d j                  |«      –— Œ y­w)z	README{0}N)Úformat)Ú.0Úexts     r   ú	<genexpr>zsdist.<genexpr>4   s   è ø€ ÒI°�K×&Ñ& s×+ÑIùs   ‚c                 ó  — | j                  d«       | j                  d«      }|j                  | _        | j                  j                  t        j
                  j                  |j                  d«      «       | j                  «        | j                  «       D ]  }| j                  |«       Œ | j                  «        t        | j                  dg «      }| j                  D ]  }dd|f}||vsŒ|j                  |«       Œ y )NÚegg_infozSOURCES.txtÚ
dist_filesr   r   )Úrun_commandÚget_finalized_commandÚfilelistÚappendÚosÚpathÚjoinr   Úcheck_readmeÚget_sub_commandsÚmake_distributionÚgetattrÚdistributionÚarchive_files)ÚselfÚei_cmdÚcmd_namer    ÚfileÚdatas         r   Úrunz	sdist.run6   sÝ   € Ø×Ñ˜Ô$Ø×+Ñ+¨JÓ7ˆØŸ™ˆŒØ�‰×ÑœRŸW™WŸ\™\¨&¯/©/¸=ÓIÔJØ×ÑÔð ×-Ñ-Ó/ò 	'ˆHØ×Ñ˜XÕ&ð	'ð 	×ÑÔ ä˜T×.Ñ.°¸bÓAˆ
Ø×&Ñ&ò 	(ˆDØ˜R Ð&ˆDØ˜:Ò%Ø×!Ñ! $Õ'ñ	(ó    c                 ób   — t         j                  j                  | «       | j                  «        y ©N)Úorigr   Úinitialize_optionsÚ_default_to_gztar©r.   s    r   r8   zsdist.initialize_optionsI   s    € Ü�
‰
×%Ñ% dÔ+à×ÑÕ r4   c                 ó<   — t         j                  dk\  ry dg| _        y )N)é   é   r   Úbetar   Úgztar)ÚsysÚversion_infoÚformatsr:   s    r   r9   zsdist._default_to_gztarN   s   € ä×ÑÐ3Ò3ØØ�yˆ�r4   c                 óŒ   — | j                  «       5  t        j                  j                  | «       ddd«       y# 1 sw Y   yxY w)z%
        Workaround for #516
        N)Ú_remove_os_linkr7   r   r*   r:   s    r   r*   zsdist.make_distributionT   s7   € ð ×!Ñ!Ó#ñ 	/Ü�J‰J×(Ñ(¨Ô.÷	/÷ 	/ñ 	/ús	   ‘ :ºAc               #   óÚ   K  —  G d„ d«      } t        t        d| «      }	 t        `	 d–— || urt	        t        d|«       yy# t        $ r Y Œ'w xY w# || urt	        t        d|«       w w xY w­w)zG
        In a context, remove and restore os.link if it exists
        c                   ó   — e Zd Zy)ú&sdist._remove_os_link.<locals>.NoValueN)Ú__name__Ú
__module__Ú__qualname__© r4   r   ÚNoValuerG   b   s   „ Ør4   rL   ÚlinkN)r+   r%   rM   Ú	ExceptionÚsetattr)rL   Úorig_vals     r   rD   zsdist._remove_os_link[   sz   è ø€ ÷	ñ 	ô œ2˜v wÓ/ˆð	Ü�ð	.Ûà˜wÑ&Üœ˜F HÕ-ð 'øô ò 	Ùð	ûð
 ˜wÑ&Üœ˜F HÕ-ð 'üs8   ‚A+ŸA ¦A ªA+Á	AÁ
A+ÁAÁA+ÁA(Á(A+c                 óB   •— t         ‰| �  «        | j                  «        y r6   )ÚsuperÚadd_defaultsÚ _add_defaults_build_sub_commands©r.   Ú	__class__s    €r   rS   zsdist.add_defaultsp   s   ø€ Ü‰ÑÔØ×-Ñ-Õ/r4   c                 ó˜   •— t         ‰| �  «        t        j                  j	                  d«      r| j
                  j                  d«       y y )Nzpyproject.toml)rR   Ú_add_defaults_optionalr%   r&   Úisfiler#   r$   rU   s    €r   rX   zsdist._add_defaults_optionalt   s7   ø€ Ü‰Ñ&Ô(Ü�7‰7�>‰>Ð*Ô+Ø�M‰M× Ñ Ð!1Õ2ð ,r4   c                 óî   — | j                   j                  «       r[| j                  d«      }| j                  j	                  |j                  «       «       | j                  | j                  |«      «       yy)zgetting python filesÚbuild_pyN)r,   Úhas_pure_modulesr"   r#   ÚextendÚget_source_filesÚ_add_data_filesÚ_safe_data_files©r.   r[   s     r   Ú_add_defaults_pythonzsdist._add_defaults_pythony   s]   € à×Ñ×-Ñ-Ô/Ø×1Ñ1°*Ó=ˆHØ�M‰M× Ñ  ×!:Ñ!:Ó!<Ô=Ø× Ñ  ×!6Ñ!6°xÓ!@ÕAð 0r4   c                 óì   ‡ — ‰ j                  d«      }t        |j                  «       «      t        z
  }ˆ fd„|D «       }d„ |D «       }‰ j                  j                  t        j                  |«      «       y )NÚbuildc              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr6   )r"   )r   Úcr.   s     €r   r   z9sdist._add_defaults_build_sub_commands.<locals>.<genexpr>„   s   øè ø€ ÒD°!�×*Ñ*¨1×-ÑDùs   ƒc              3   óV   K  — | ]!  }t        |d «      sŒ|j                  «       –— Œ# y­w)r^   N)Úhasattrr^   )r   rf   s     r   r   z9sdist._add_defaults_build_sub_commands.<locals>.<genexpr>…   s#   è ø€ ÒV¨!´w¸qÐBTÕ7U�×#Ñ#×%ÑVùs   ‚)”))r"   Úsetr)   r   r#   r]   r   Úfrom_iterable)r.   rd   Úmissing_cmdsÚcmdsÚfiless   `    r   rT   z&sdist._add_defaults_build_sub_commands€   s]   ø€ Ø×*Ñ*¨7Ó3ˆÜ˜5×1Ñ1Ó3Ó4Ô7LÑLˆãD°|ÔDˆÙV¨tÔVˆØ�‰×ÑœU×0Ñ0°Ó7Õ8r4   c                 ó   — |j                   S )að  
        Since the ``sdist`` class is also used to compute the MANIFEST
        (via :obj:`setuptools.command.egg_info.manifest_maker`),
        there might be recursion problems when trying to obtain the list of
        data_files and ``include_package_data=True`` (which in turn depends on
        the files included in the MANIFEST).

        To avoid that, ``manifest_maker`` should be able to overwrite this
        method and avoid recursive attempts to build/analyze the MANIFEST.
        )Ú
data_filesra   s     r   r`   zsdist._safe_data_filesˆ   s   € ð ×"Ñ"Ð"r4   c                 óH   — | j                   j                  d„ |D «       «       y)zA
        Add data files as found in build_py.data_files.
        c              3   ót   K  — | ]0  \  }}}}|D ]$  }t         j                  j                  ||«      –— Œ& Œ2 y ­wr6   )r%   r&   r'   )r   Ú_Úsrc_dirÚ	filenamesÚnames        r   r   z(sdist._add_data_files.<locals>.<genexpr>™   sD   è ø€ ò 
á(��7˜A˜yØ!ò
ð ô �G‰G�L‰L˜ $×'ð
Ø'ñ
ùs   ‚68N)r#   r]   )r.   ro   s     r   r_   zsdist._add_data_files•   s#   € ð 	�‰×Ññ 
à,6ô
õ 	
r4   c                 ól   •— 	 t         ‰| �  «        y # t        $ r t        j                  d«       Y y w xY w)Nz&data_files contains unexpected objects)rR   Ú_add_defaults_data_filesÚ	TypeErrorr   ÚwarnrU   s    €r   rw   zsdist._add_defaults_data_filesŸ   s/   ø€ ð	?Ü‰GÑ,Õ.øÜò 	?Ü�H‰HÐ=Ö>ð	?ús   ƒ ’3²3c                 óÂ   — | j                   D ]#  }t        j                  j                  |«      sŒ# y  | j	                  ddj                  | j                   «      z   «       y )Nz,standard file not found: should have one of z, )ÚREADMESr%   r&   Úexistsry   r'   )r.   Úfs     r   r(   zsdist.check_readme¥   sK   € Ø—‘ò 	ˆAÜ�w‰w�~‰~˜aÕ Ùð	ð �I‰IØ>ÀÇÁÈ4Ï<É<ÓAXÑXõr4   c                 ór  — t         j                  j                  | ||«       t        j                  j                  |d«      }t        t        d«      rFt        j                  j                  |«      r't        j                  |«       | j                  d|«       | j                  d«      j                  |«       y )Nz	setup.cfgrM   r   )r7   r   Úmake_release_treer%   r&   r'   rh   r|   ÚunlinkÚ	copy_filer"   Úsave_version_info)r.   Úbase_dirrm   Údests       r   r   zsdist.make_release_tree®   s{   € Ü�
‰
×$Ñ$ T¨8°UÔ;ô �w‰w�|‰|˜H kÓ2ˆÜ”2�vÔ¤2§7¡7§>¡>°$Ô#7ô �I‰I�dŒOØ�N‰N˜;¨Ô-à×"Ñ" :Ó.×@Ñ@ÀÕFr4   c                 ó  — t         j                  j                  | j                  «      syt	        j
                  | j                  d«      5 }|j                  «       }d d d «       dj                  «       k7  S # 1 sw Y   ŒxY w)NFÚrbz+# file GENERATED by distutils, do NOT edit
)r%   r&   rY   ÚmanifestÚioÚopenÚreadlineÚencode)r.   ÚfpÚ
first_lines      r   Ú_manifest_is_not_generatedz sdist._manifest_is_not_generated»   sb   € ä�w‰w�~‰~˜dŸm™mÔ,Øä�W‰W�T—]‘] DÓ)ð 	'¨RØŸ™›ˆJ÷	'àÐK×RÑRÓTÑTÐT÷	'ð 	'ús   ÁA7Á7B c                 óŽ  — t        j                  d| j                  «       t        | j                  d«      }|D ]S  }	 |j	                  d«      }|j                  «       }|j                  d«      s|sŒ9| j                  j                  |«       ŒU |j                  «        y# t
        $ r t        j                  d|z  «       Y ŒŠw xY w)zªRead the manifest file (named by 'self.manifest') and use it to
        fill in 'self.filelist', the list of files to include in the source
        distribution.
        zreading manifest file '%s'r†   zUTF-8z"%r not UTF-8 decodable -- skippingú#N)r   Úinfor‡   r‰   ÚdecodeÚUnicodeDecodeErrorry   ÚstripÚ
startswithr#   r$   Úclose)r.   r‡   Úlines      r   Úread_manifestzsdist.read_manifestÄ   s«   € ô
 	�‰Ð-¨t¯}©}Ô=Ü˜Ÿ™ tÓ,ˆØò 	'ˆDðØ—{‘{ 7Ó+�ð
 —:‘:“<ˆDØ�‰˜sÔ#©4ØØ�M‰M× Ñ  Õ&ð	'ð 	�‰Õøô &ò Ü—‘Ð=ÀÑDÔEÙðús   ½B Â !CÃC)rH   rI   rJ   Ú__doc__Úuser_optionsÚnegative_optÚREADME_EXTENSIONSÚtupler{   r3   r8   r9   r*   ÚstaticmethodÚ
contextlibÚcontextmanagerrD   rS   rX   rb   rT   r`   r_   rw   r(   r   rŽ   r˜   Ú__classcell__)rV   s   @r   r   r      s›   ø„ ÙGò€Lð0 €Lâ3ÐÙÑIÐ7HÔIÓI€Gò(ò&!ò
!ò/ð Ø×Ññ.ó ó ð.ô&0ô3ò
Bò9ò#ò
ô?òòGòUör4   r   )r   )Ú	distutilsr   Údistutils.command.sdistÚcommandr   r7   r%   r@   rˆ   rŸ   Ú	itertoolsr   Ú
_importlibr   rd   r   ÚlistÚ_default_revctrlr   rK   r4   r   ú<module>r©      s@   ðÝ ß &Ð &Û 	Û 
Û 	Û Ý å !Ý (àÐ óôAˆD�J‰Jõ Ar4   