1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
U
G=®dœã@sˆddlmZddlmmZddlZddlZddlZddl    Z    ddl
m Z m Z ddl mZddlZeZd dd„ZGd    d
„d
eejƒZdS) é)ÚlogN)ÚsixÚ ordered_seté)Úsdist_add_defaultsÚccs,t d¡D]}| ¡|ƒD]
}|Vqq
dS)z%Find all files under revision controlzsetuptools.file_findersN)Ú pkg_resourcesÚiter_entry_pointsÚload)ÚdirnameÚepÚitem©rúOD:\z\workplace\VsCode\pyvenv\venv\Lib\site-packages\setuptools/command/sdist.pyÚ walk_revctrlsrcseZdZdZdddgZiZddddgZed    d
„eDƒƒZd d „Z    d d„Z
dd„Z dd„Z e ejdd„ƒƒZdd„Zejdkp®dejkodknp®dejkoªdknZer¸eZ‡fdd„Zdd„Zd d!„Zd"d#„Z‡fd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Z‡Z S)0Úsdistz=Smart sdist that finds anything supported by revision control)zformats=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]rz.rstz.txtz.mdccs|]}d |¡VqdS)z    README{0}N)Úformat)Ú.0ÚextrrrÚ    <genexpr>)szsdist.<genexpr>cCs–| d¡| d¡}|j|_|j tj |jd¡¡| ¡|     ¡D]}| |¡qD| 
¡t |j dgƒ}|j D] }dd|f}||krp| |¡qpdS)NÚegg_infoz SOURCES.txtÚ
dist_filesrr)Ú run_commandÚget_finalized_commandÚfilelistÚappendÚosÚpathÚjoinrÚ check_readmeÚget_sub_commandsÚmake_distributionÚgetattrÚ distributionZ archive_files)ÚselfZei_cmdÚcmd_namerÚfileÚdatarrrÚrun+s
 
 
 
z    sdist.runcCstj |¡| ¡dS©N)ÚorigrÚinitialize_optionsÚ_default_to_gztar©r&rrrr->s zsdist.initialize_optionscCstjdkrdSdg|_dS)N)éérÚbetarÚgztar)ÚsysÚ version_infoÚformatsr/rrrr.Cs
zsdist._default_to_gztarc    Cs$| ¡tj |¡W5QRXdS)z%
        Workaround for #516
        N)Ú_remove_os_linkr,rr#r/rrrr#Is
zsdist.make_distributionc
cs^Gdd„dƒ}ttd|ƒ}zt`Wntk
r6YnXz
dVW5||k    rXttd|ƒXdS)zG
        In a context, remove and restore os.link if it exists
        c@s eZdZdS)z&sdist._remove_os_link.<locals>.NoValueN)Ú__name__Ú
__module__Ú __qualname__rrrrÚNoValueWsr;ÚlinkN)r$rr<Ú    ExceptionÚsetattr)r;Zorig_valrrrr7Ps 
zsdist._remove_os_linkcCsLztj |¡Wn6tk
rFt ¡\}}}|jjjd     ¡‚YnXdS)NÚtemplate)
r,rÚ read_templater=r4Úexc_infoÚtb_nextÚtb_frameÚf_localsÚclose)r&Ú_ÚtbrrrZ__read_template_hackes zsdist.__read_template_hack)éérH)r0r)r0ré)r0rH)r0rHrcs8tjrt |¡n
tƒ ¡tj d¡r4|j     d¡dS)Nzpyproject.toml)
rÚPY2rÚ_add_defaults_optionalÚsuperrrÚisfilerrr/©Ú    __class__rrrL|s
 
 zsdist._add_defaults_optionalcCs8|j ¡r4| d¡}|j | ¡¡| | |¡¡dS)zgetting python filesÚbuild_pyN)r%Úhas_pure_modulesrrÚextendZget_source_filesÚ_add_data_filesÚ_safe_data_files©r&rQrrrÚ_add_defaults_python„s
 
zsdist._add_defaults_pythoncCs|jjr dS|jS)z¶
        Extracting data_files from build_py is known to cause
        infinite recursion errors when `include_package_data`
        is enabled, so suppress it in that case.
        r)r%Zinclude_package_dataÚ
data_filesrVrrrrU‹szsdist._safe_data_filescCs|j dd„|Dƒ¡dS)zA
        Add data files as found in build_py.data_files.
        css.|]&\}}}}|D]}tj ||¡VqqdSr+)rrr )rrFÚsrc_dirÚ    filenamesÚnamerrrr™s
þz(sdist._add_data_files.<locals>.<genexpr>N)rrS)r&rXrrrrT•s þzsdist._add_data_filescsDz tjrt |¡n
tƒ ¡Wntk
r>t d¡YnXdS)Nz&data_files contains unexpected objects)rrKrÚ_add_defaults_data_filesrMÚ    TypeErrorrÚwarnr/rOrrr\Ÿs  zsdist._add_defaults_data_filescCs8|jD]}tj |¡rdSq| dd |j¡¡dS)Nz,standard file not found: should have one of z, )ÚREADMESrrÚexistsr^r )r&Úfrrrr!¨s
 
ÿÿzsdist.check_readmecCs^tj |||¡tj |d¡}ttdƒrJtj |¡rJt |¡|     d|¡| 
d¡  |¡dS)Nz    setup.cfgr<r) r,rÚmake_release_treerrr Úhasattrr`ÚunlinkÚ    copy_filerZsave_version_info)r&Úbase_dirÚfilesÚdestrrrrb²s 
 zsdist.make_release_treec    Cs@tj |j¡sdSt |jd¡}| ¡}W5QRX|d ¡kS)NFÚrbz+# file GENERATED by distutils, do NOT edit
)rrrNÚmanifestÚioÚopenÚreadlineÚencode)r&ÚfpÚ
first_linerrrÚ_manifest_is_not_generated¿sÿz sdist._manifest_is_not_generatedc    Cst d|j¡t|jdƒ}|D]d}tjs^z| d¡}Wn&tk
r\t d|¡YqYnX|     ¡}| 
d¡s|svq|j   |¡q|  ¡dS)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.
        zreading manifest file '%s'rizUTF-8z"%r not UTF-8 decodable -- skippingú#N)rÚinforjrlrrKÚdecodeÚUnicodeDecodeErrorr^ÚstripÚ
startswithrrrE)r&rjÚlinerrrÚ read_manifestÉs 
zsdist.read_manifestcCs²t ¡}|j d¡}| dd¡\}}|dkr8t d¡n
| |¡z| |jj    j
¡Wnt k
rtt  d¡YnX|D]&}t j |¡szt  d|¡| |¡qz|j |¡dS)zvChecks if license_file' or 'license_files' is configured and adds any
        valid paths to 'self.filelist'.
        ÚmetadataÚ license_file)NNNz''license_file' option was not specifiedz,warning: 'license_files' option is malformedz8warning: Failed to find the configured license file '%s')rZ
OrderedSetr%Úget_option_dictÚgetrÚdebugÚaddÚupdaterzZ license_filesr]r^rrr`ÚremoverrS)r&rgÚoptsrFr{rarrrÚ check_licenseßs$  
 þ zsdist.check_license)!r8r9r:Ú__doc__Ú user_optionsÚ negative_optZREADME_EXTENSIONSÚtupler_r*r-r.r#Ú staticmethodÚ
contextlibÚcontextmanagerr7Z_sdist__read_template_hackr4r5Zhas_leaky_handler@rLrWrUrTr\r!rbrqryrƒÚ __classcell__rrrOrrsBú   
ÿý 
 
    
 
r)r)Ú    distutilsrZdistutils.command.sdistÚcommandrr,rr4rkr‰Zsetuptools.externrrZ
py36compatrrÚlistZ_default_revctrlrrrrrÚ<module>s