
    4Hd                       d Z ddlmZ ddlZddlmZmZmZ ed   Z	ed   Z
 edi dee   d	ee   d
ej                  e   de	dedededededej                  e   dej                  e   dedededej                  e   dej                  e   deej                  eej                  eef   f   eeeeedd      Z	  G d ded      Z G d de      Z ed eeeeeeeeeej                  e   d!
d      Z	  G d" d#ed      Zej(                  eef   Z	  ed$eeeeeeeee	ej                  e
   ej                  e   d%d      Z G d& d'ed      Z G d( d)ed      Z G d* d+ed      Z G d, d-ed      Z G d. d/ed      Z G d0 d1e      Z G d2 d3e      Z ed4eej                  eef   ej                  eef   ej                  eef   ej                  eef   eej                  e   ej                  e   ej                  e   ej                  e   ej                  eej                  e   f   ej                  eef   ed5d      Z	  G d6 d7e      Zy)8z*Type definitions for cargo manifest files.    )annotationsN)Literal	TypedDictRequired)201520182021)binlibdylib	staticlibcdylibrlib
proc-macroPackagenameversionauthorseditionzrust-versiondescriptionreadmelicensezlicense-filekeywords
categories	workspacebuildlinksincludeexcludepublish)metadatazdefault-runautobinsautoexamples	autotestsautobenchesF)totalc                      e Zd ZU dZded<   ded<   ded<   ded<   d	ed
<   d	ed<   d	ed<   d	ed<   d	ed<   ded<   ded<   d	ed<   d	ed<   d	ed<   ded<   ded<   ded<   ded<   d	ed<   ded<   ded<   ded<   ded<   y) FixedPackagez2A description of the Package Dictionary, fixed up.Required[str]r   r   T.List[str]r   EDITIONr   strrust_versionr   r   r   license_filer   r   r   r   r   r   r   boolr    zT.Dict[str, T.Dict[str, str]]r!   default_runr"   r#   r$   r%   N__name__
__module____qualname____doc____annotations__     ;/usr/lib/python3/dist-packages/mesonbuild/cargo/manifest.pyr(   r(   -   s    <
KLNJJM++NOr8   r(   c                      e Zd ZU dZded<   y)BadgezAn entry in the badge section.zcLiteral['actively-developed', 'passively-developed', 'as-is', 'experimental', 'deprecated', 'none']statusNr1   r7   r8   r9   r;   r;   J   s    (oor8   r;   
Dependency)
r   registrygitbranchrevpathoptionalpackagezdefault-featuresfeaturesc                  v    e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   d
ed<   ded<   y)FixedDependencyz1An entry in the *dependencies sections, fixed up.r*   r   r,   r>   r?   r@   rA   rB   r/   rC   rD   default_featuresrE   Nr1   r7   r8   r9   rG   rG   d   s:    ;M	HK	H
INLr8   rG   _BaseBuildTarget)rB   testdoctestbenchdocpluginr   harnessr   z
crate-typezrequired-featuresc                      e Zd ZU ded<   y)BuildTargetr)   r   Nr2   r3   r4   r6   r7   r8   r9   rQ   rQ      s    
r8   rQ   c                      e Zd ZU ded<   y)	LibTargetr,   r   NrR   r7   r8   r9   rT   rT          
Ir8   rT   c                  r    e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   y)_BaseFixedBuildTargetr,   rB   r/   rJ   rK   rL   rM   rN   rO   r+   r   zT.List[CRATE_TYPE]
crate_typer*   required_featuresNrR   r7   r8   r9   rW   rW      s7    
I
JMK	ILM""""r8   rW   c                      e Zd ZU ded<   y)FixedBuildTargetr,   r   NrR   r7   r8   r9   r[   r[      rU   r8   r[   c                  "    e Zd ZU ded<   ded<   y)FixedLibTargetr)   r   r/   
proc_macroNrR   r7   r8   r9   r]   r]      s    
r8   r]   c                      e Zd ZU dZded<   y)Targetz"Target entry in the Manifest File.zT.Dict[str, DependencyV]dependenciesNr1   r7   r8   r9   r`   r`      s    ,**r8   r`   c                  &    e Zd ZU dZded<   ded<   y)	WorkspaceaF  The representation of a workspace.

    In a vritual manifest the :attribute:`members` is always present, but in a
    project manifest, an empty workspace may be provided, in which case the
    workspace is implicitly filled in by values from the path based dependencies.

    the :attribute:`exclude` is always optional
    r*   membersr   Nr1   r7   r8   r9   rc   rc      s     r8   rc   Manifest)rD   badgesra   zdev-dependencieszbuild-dependenciesr   r
   rJ   rL   examplerE   targetr   c                      e Zd ZU dZded<   y)VirtualManifestzThe Representation of a virtual manifest.

    Cargo allows a root manifest that contains only a workspace, this is called
    a virtual manifest. This doesn't really map 1:1 with any meson concept,
    except perhaps the proposed "meta project".
    rc   r   Nr1   r7   r8   r9   rj   rj      s     r8   rj   ) r5   
__future__r   typingTtyping_extensionsr   r   r   r+   
CRATE_TYPEr,   Listr/   Dictr   r(   r;   r=   rG   UnionDependencyVrI   rQ   rT   rW   r[   r]   r`   rc   re   rj   r7   r8   r9   <module>rt      sv   1 "  : :
(
)WX

8C= 	166#; 	7	
 	 	s 	# 	3 	 	AFF3K 	affSk 	S 	 	 	166#;  	166#;!" 	4#$ FF3sCx 001/2 7: /9E :pI p  FF3K 
  .iu   ggj#o& ? ffZ(VVC[  &"%   

#IU 
#,E *% +Y +	  &&e$sK/0FF3#34ffS+%56vvk"{#$66+&FF3s+,&&f%$ ), !	i 	r8   