xref: /aosp_15_r20/external/grpc-grpc/src/csharp/Grpc.Tools/build/_protobuf/Protobuf.CSharp.xml (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1<ProjectSchemaDefinitions xmlns="http://schemas.microsoft.com/build/2009/properties">
2  <FileExtension Name=".proto"
3                 ContentType="ProtoFile" />
4
5  <ContentType Name="ProtoFile"
6               DisplayName="Protocol buffer definitions file"
7               ItemType="Protobuf" />
8
9  <ItemType Name="Protobuf"
10            DisplayName="Protobuf compiler" />
11
12  <Rule Name="Protobuf"
13        DisplayName="File Properties"
14        PageTemplate="generic"
15        Description="File Properties"
16        OverrideMode="Extend">
17    <Rule.DataSource>
18      <DataSource Persistence="ProjectFile" Label="Configuration" ItemType="Protobuf"
19                  HasConfigurationCondition="false" SourceOfDefaultValue="AfterContext" />
20    </Rule.DataSource>
21
22    <Rule.Categories>
23      <Category Name="Advanced" DisplayName="Advanced" />
24      <Category Name="Protobuf" DisplayName="Protobuf" />
25      <Category Name="Misc" DisplayName="Misc" />
26    </Rule.Categories>
27
28    <DynamicEnumProperty Name="{}{ItemType}" DisplayName="Build Action"  Category="Advanced"
29                   Description="How the file relates to the build and deployment processes."
30                   EnumProvider="ItemTypes" />
31
32    <StringProperty Name="Identity" Visible="false" ReadOnly="true">
33      <StringProperty.DataSource>
34        <DataSource Persistence="Intrinsic" ItemType="Protobuf"
35                    PersistedName="Identity" SourceOfDefaultValue="AfterContext" />
36      </StringProperty.DataSource>
37    </StringProperty>
38
39    <StringProperty Name="FullPath"
40                    DisplayName="Full Path"
41                    ReadOnly="true"
42                    Category="Misc"
43                    Description="Location of the file.">
44      <StringProperty.DataSource>
45        <DataSource Persistence="Intrinsic" ItemType="Protobuf"
46                    PersistedName="FullPath" SourceOfDefaultValue="AfterContext" />
47      </StringProperty.DataSource>
48    </StringProperty>
49
50    <StringProperty Name="FileNameAndExtension"
51                    DisplayName="File Name"
52                    ReadOnly="true"
53                    Category="Misc"
54                    Description="Name of the file or folder.">
55      <StringProperty.DataSource>
56        <DataSource Persistence="Intrinsic" ItemType="Protobuf"
57                    PersistedName="FileNameAndExtension" SourceOfDefaultValue="AfterContext" />
58      </StringProperty.DataSource>
59    </StringProperty>
60
61    <BoolProperty Name="Visible" Visible="false" Default="true" />
62
63    <StringProperty Name="DependentUpon" Visible="false">
64      <StringProperty.Metadata>
65        <NameValuePair Name="DoNotCopyAcrossProjects" Value="true" />
66      </StringProperty.Metadata>
67    </StringProperty>
68
69    <StringProperty Name="Link" Visible="false">
70      <StringProperty.DataSource>
71        <DataSource SourceOfDefaultValue="AfterContext" />
72      </StringProperty.DataSource>
73      <StringProperty.Metadata>
74        <NameValuePair Name="DoNotCopyAcrossProjects" Value="true" />
75      </StringProperty.Metadata>
76    </StringProperty>
77
78    <EnumProperty Name="Access" DisplayName="Class Access"
79                  Category="Protobuf"
80                  Description="Public or internal access modifier on generated classes.">
81      <EnumValue Name="Public" DisplayName="Public" IsDefault="true" />
82      <EnumValue Name="Internal" DisplayName="Internal" />
83      <EnumProperty.DataSource>
84        <DataSource ItemType="Protobuf" SourceOfDefaultValue="AfterContext"
85                    PersistenceStyle="Attribute" HasConfigurationCondition="false" />
86      </EnumProperty.DataSource>
87    </EnumProperty>
88
89    <BoolProperty Name="ProtoCompile" DisplayName="Compile Protobuf"
90                  Category="Protobuf" Default="true"
91                  Description="Specifies if this file is compiled or only imported by other files.">
92      <BoolProperty.DataSource>
93        <DataSource ItemType="Protobuf" SourceOfDefaultValue="AfterContext"
94                    PersistenceStyle="Attribute" HasConfigurationCondition="false" />
95      </BoolProperty.DataSource>
96    </BoolProperty>
97
98  </Rule>
99</ProjectSchemaDefinitions>
100