Skip to content

Commit 62d173b

Browse files
author
Emile Joubert
committed
0.9.1 codegen updates
Make dtxstart and dtxselect, clusterid optional Report protocol revision
1 parent 3751446 commit 62d173b

File tree

6 files changed

+195
-176
lines changed

6 files changed

+195
-176
lines changed

projects/client/Apigen/src/apigen/Apigen.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ public static string MangleMethodClass(AmqpClass c, AmqpMethod m) {
165165
public bool m_versionOverridden = false;
166166
public int m_majorVersion;
167167
public int m_minorVersion;
168+
public int? m_revision;
168169
public string m_apiName;
169170
public bool m_emitComments = false;
170171

@@ -281,6 +282,11 @@ public void ParseSpec() {
281282
if (!m_versionOverridden) {
282283
m_majorVersion = GetInt(m_spec, "/amqp/@major");
283284
m_minorVersion = GetInt(m_spec, "/amqp/@minor");
285+
if (m_spec.SelectSingleNode("/amqp/@revision") != null)
286+
{
287+
m_revision = GetInt(m_spec, "/amqp/@revision");
288+
}
289+
284290
}
285291
foreach (XmlNode n in m_spec.SelectNodes("/amqp/constant")) {
286292
m_constants.Add(new DictionaryEntry(GetString(n, "@name"), GetInt(n, "@value")));
@@ -416,6 +422,10 @@ public void EmitPublic() {
416422
EmitLine(" public override int MajorVersion { get { return " + m_majorVersion + "; } }");
417423
EmitLine(" ///<summary>Protocol minor version (= "+m_minorVersion+")</summary>");
418424
EmitLine(" public override int MinorVersion { get { return " + m_minorVersion + "; } }");
425+
EmitLine(" ///<summary>Protocol revision (= " +
426+
(m_revision.HasValue ? m_revision.ToString() : "not specified") + ")</summary>");
427+
EmitLine(" public override int? Revision { get { return " +
428+
(m_revision.HasValue ? m_revision.ToString() : "null") + "; } }");
419429
EmitLine(" ///<summary>Protocol API name (= "+m_apiName+")</summary>");
420430
EmitLine(" public override string ApiName { get { return \"" + m_apiName + "\"; } }");
421431
int port = GetInt(m_spec, "/amqp/@port");
Lines changed: 174 additions & 171 deletions
Original file line numberDiff line numberDiff line change
@@ -1,171 +1,174 @@
1-
<?xml version="1.0" encoding="utf-8"?>
2-
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3-
<!-- Warning! This file contains important customizations. Using Visual Studio to edit project's properties might break things. -->
4-
<!-- Props file -->
5-
<PropertyGroup>
6-
<LocalPropsFile>$(MSBuildProjectDirectory)\..\..\..\Local.props</LocalPropsFile>
7-
</PropertyGroup>
8-
<Import Project="$(LocalPropsFile)" />
9-
<!-- MSBuild Community Tasks -->
10-
<PropertyGroup>
11-
<MSBuildCommunityTasksPath>$(MSBuildProjectDirectory)\..\..\..\lib\MSBuild.Community.Tasks\</MSBuildCommunityTasksPath>
12-
</PropertyGroup>
13-
<Import Project="$(MSBuildCommunityTasksPath)MSBuild.Community.Tasks.Targets" />
14-
<!-- Gensrc dir -->
15-
<PropertyGroup>
16-
<GensrcDir>..\..\..\gensrc\$(MSBuildProjectName)\</GensrcDir>
17-
</PropertyGroup>
18-
<Target Name="CreateGensrcDir">
19-
<MakeDir Directories="$(GensrcDir)" />
20-
</Target>
21-
<!-- API autogeneration -->
22-
<PropertyGroup>
23-
<SpecsDir>..\..\..\docs\specs\</SpecsDir>
24-
<AmqpSpec0_9_1BaseName>amqp0-9-1.stripped.xml</AmqpSpec0_9_1BaseName>
25-
<AmqpSpec0_9BaseName>amqp0-9.stripped.xml</AmqpSpec0_9BaseName>
26-
<AmqpSpec0_8qpidBaseName>qpid-amqp.0-8.stripped.xml</AmqpSpec0_8qpidBaseName>
27-
<AmqpSpec0_8BaseName>amqp0-8.stripped.xml</AmqpSpec0_8BaseName>
28-
<AmqpSpec0_9_1>$(SpecsDir)$(AmqpSpec0_9_1BaseName)</AmqpSpec0_9_1>
29-
<AmqpSpec0_9>$(SpecsDir)$(AmqpSpec0_9BaseName)</AmqpSpec0_9>
30-
<AmqpSpec0_8qpid>$(SpecsDir)$(AmqpSpec0_8qpidBaseName)</AmqpSpec0_8qpid>
31-
<AmqpSpec0_8>$(SpecsDir)$(AmqpSpec0_8BaseName)</AmqpSpec0_8>
32-
<AutogeneratedApi0_9_1BaseName>autogenerated-api-0-9-1.cs</AutogeneratedApi0_9_1BaseName>
33-
<AutogeneratedApi0_9BaseName>autogenerated-api-0-9.cs</AutogeneratedApi0_9BaseName>
34-
<AutogeneratedApi0_8qpidBaseName>autogenerated-api-qpid-0-8.cs</AutogeneratedApi0_8qpidBaseName>
35-
<AutogeneratedApi0_8BaseName>autogenerated-api-0-8.cs</AutogeneratedApi0_8BaseName>
36-
<AutogeneratedApi0_9>$(GensrcDir)$(AutogeneratedApi0_9BaseName)</AutogeneratedApi0_9>
37-
<AutogeneratedApi0_9_1>$(GensrcDir)$(AutogeneratedApi0_9_1BaseName)</AutogeneratedApi0_9_1>
38-
<AutogeneratedApi0_8qpid>$(GensrcDir)$(AutogeneratedApi0_8qpidBaseName)</AutogeneratedApi0_8qpid>
39-
<AutogeneratedApi0_8>$(GensrcDir)$(AutogeneratedApi0_8BaseName)</AutogeneratedApi0_8>
40-
<ApiGenExe>..\Apigen\build\bin\rabbitmq-dotnet-apigen.exe</ApiGenExe>
41-
</PropertyGroup>
42-
<ItemGroup>
43-
<AmqpSpecs Include="$(AmqpSpec0_9)">
44-
<Link>specs\$(AmqpSpec0_9BaseName)</Link>
45-
</AmqpSpecs>
46-
<AmqpSpecs Include="$(AmqpSpec0_8qpid)">
47-
<Link>specs\$(AmqpSpec0_8qpidBaseName)</Link>
48-
</AmqpSpecs>
49-
<AmqpSpecs Include="$(AmqpSpec0_8)">
50-
<Link>specs\$(AmqpSpec0_8BaseName)</Link>
51-
</AmqpSpecs>
52-
<AutogeneratedApi Include="$(AutogeneratedApi0_9_1)">
53-
<Link>src\gensrc\$(AutogeneratedApi0_9_1BaseName)</Link>
54-
</AutogeneratedApi>
55-
<AutogeneratedApi Include="$(AutogeneratedApi0_9)">
56-
<Link>src\gensrc\$(AutogeneratedApi0_9BaseName)</Link>
57-
</AutogeneratedApi>
58-
<AutogeneratedApi Include="$(AutogeneratedApi0_8qpid)">
59-
<Link>src\gensrc\$(AutogeneratedApi0_8qpidBaseName)</Link>
60-
</AutogeneratedApi>
61-
<AutogeneratedApi Include="$(AutogeneratedApi0_8)">
62-
<Link>src\gensrc\$(AutogeneratedApi0_8BaseName)</Link>
63-
</AutogeneratedApi>
64-
<Compile Include="$(AutogeneratedApi0_9)">
65-
<Visible>false</Visible>
66-
</Compile>
67-
<Compile Include="$(AutogeneratedApi0_8qpid)">
68-
<Visible>false</Visible>
69-
</Compile>
70-
<Compile Include="$(AutogeneratedApi0_8)">
71-
<Visible>false</Visible>
72-
</Compile>
73-
</ItemGroup>
74-
<Target Name="GenerateApi" DependsOnTargets="CreateGensrcDir" Inputs="@(AmqpSpecs);$(ApiGenExe)" Outputs="@(AutogeneratedApi)">
75-
<Exec Command="$(PropLaunchExe)$(ApiGenExe) /apiName:AMQP_0_9_1 /n:v0_9_1 $(AmqpSpec0_9_1) $(AutogeneratedApi0_9_1)" WorkingDirectory="$(ProjectDir)" />
76-
<Exec Command="$(PropLaunchExe)$(ApiGenExe) /apiName:AMQP_0_9 /n:v0_9 $(AmqpSpec0_9) $(AutogeneratedApi0_9)" WorkingDirectory="$(ProjectDir)" />
77-
<Exec Command="$(PropLaunchExe)$(ApiGenExe) /apiName:AMQP_0_8_QPID /n:v0_8qpid $(AmqpSpec0_8qpid) $(AutogeneratedApi0_8qpid)" WorkingDirectory="$(ProjectDir)" />
78-
<Exec Command="$(PropLaunchExe)$(ApiGenExe) /apiName:AMQP_0_8 /n:v0_8 $(AmqpSpec0_8) $(AutogeneratedApi0_8)" WorkingDirectory="$(ProjectDir)" />
79-
</Target>
80-
<Target Name="CleanGenerateApi">
81-
<Delete Files="@(AutogeneratedApi)" />
82-
</Target>
83-
<!-- Detokenize -->
84-
<PropertyGroup>
85-
<AssemblyInfoBaseName>AssemblyInfo.cs</AssemblyInfoBaseName>
86-
<AssemblyInfoTok>src\tokenized\$(AssemblyInfoBaseName).in</AssemblyInfoTok>
87-
<AssemblyInfoDetok>$(GensrcDir)$(AssemblyInfoBaseName)</AssemblyInfoDetok>
88-
</PropertyGroup>
89-
<ItemGroup>
90-
<Tokenized Include="$(AssemblyInfoTok)" />
91-
<Detokenized Include="$(AssemblyInfoDetok)">
92-
<Link>properties\$(AssemblyInfoBaseName)</Link>
93-
</Detokenized>
94-
<Compile Include="$(AssemblyInfoDetok)">
95-
<Visible>false</Visible>
96-
</Compile>
97-
<Tokens Include="PropAssemblyVersion">
98-
<ReplacementValue>$(PropAssemblyVersion)</ReplacementValue>
99-
<Visible>false</Visible>
100-
</Tokens>
101-
</ItemGroup>
102-
<Target Name="Detokenize" DependsOnTargets="CreateGensrcDir" Inputs="@(Tokenized); $(LocalPropsFile)" Outputs="@(Detokenized)">
103-
<Delete Files="@(Detokenized)" />
104-
<TemplateFile Template="$(AssemblyInfoTok)" OutputFilename="detok.out" Tokens="@(Tokens)" />
105-
<Move SourceFiles="src\tokenized\detok.out" DestinationFiles="$(AssemblyInfoDetok)" />
106-
</Target>
107-
<Target Name="CleanDetokenize">
108-
<Delete Files="@(Detokenized)" />
109-
</Target>
110-
<!-- Visual Studio generated -->
111-
<PropertyGroup>
112-
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
113-
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
114-
<ProductVersion>9.0.21022</ProductVersion>
115-
<SchemaVersion>2.0</SchemaVersion>
116-
<ProjectGuid>{71713FDD-D5EC-40B2-A924-76F80AD57E12}</ProjectGuid>
117-
<OutputType>Library</OutputType>
118-
<AppDesignerFolder>properties</AppDesignerFolder>
119-
<RootNamespace>RabbitMQ.Client</RootNamespace>
120-
<AssemblyName>RabbitMQ.Client</AssemblyName>
121-
<TargetFrameworkVersion>$(PropTargetFramework)</TargetFrameworkVersion>
122-
<FileAlignment>512</FileAlignment>
123-
</PropertyGroup>
124-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
125-
<DebugSymbols>true</DebugSymbols>
126-
<DebugType>full</DebugType>
127-
<Optimize>false</Optimize>
128-
<OutputPath>build\bin\</OutputPath>
129-
<DefineConstants>DEBUG;TRACE</DefineConstants>
130-
<ErrorReport>none</ErrorReport>
131-
<WarningLevel>4</WarningLevel>
132-
<DocumentationFile>build\bin\RabbitMQ.Client.xml</DocumentationFile>
133-
<NoWarn>1591</NoWarn>
134-
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
135-
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
136-
<RegisterForComInterop>false</RegisterForComInterop>
137-
</PropertyGroup>
138-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
139-
<DebugType>pdbonly</DebugType>
140-
<Optimize>true</Optimize>
141-
<OutputPath>build\bin\</OutputPath>
142-
<DefineConstants>TRACE</DefineConstants>
143-
<ErrorReport>none</ErrorReport>
144-
<WarningLevel>4</WarningLevel>
145-
<DocumentationFile>build\bin\RabbitMQ.Client.xml</DocumentationFile>
146-
<NoWarn>1591</NoWarn>
147-
<DebugSymbols>true</DebugSymbols>
148-
<RegisterForComInterop>false</RegisterForComInterop>
149-
<SignAssembly Condition="'$(PropKeyfile)' != ''">true</SignAssembly>
150-
<AssemblyOriginatorKeyFile>$(PropKeyfile)</AssemblyOriginatorKeyFile>
151-
</PropertyGroup>
152-
<ItemGroup>
153-
<Compile Include="src\client\**\*.cs" />
154-
<Compile Include="src\util\**\*.cs" />
155-
</ItemGroup>
156-
<ItemGroup>
157-
<Reference Include="System" />
158-
<Reference Include="System.Data" />
159-
<Reference Include="System.Xml" />
160-
</ItemGroup>
161-
<!-- Mono compatibility workarounds -->
162-
<PropertyGroup Condition=" '$(PropUsingMono)' == 'true'">
163-
<_DisabledWarnings>$(NoWarn)</_DisabledWarnings>
164-
</PropertyGroup>
165-
<!-- Microsoft CSharp targets -->
166-
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
167-
<!-- Custom BeforeBuild-->
168-
<Target Name="BeforeBuild" DependsOnTargets="GenerateApi; Detokenize" />
169-
<!-- Custom BeforeClean -->
170-
<Target Name="BeforeClean" DependsOnTargets="CleanGenerateApi; CleanDetokenize" />
171-
</Project>
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<!-- Warning! This file contains important customizations. Using Visual Studio to edit project's properties might break things. -->
4+
<!-- Props file -->
5+
<PropertyGroup>
6+
<LocalPropsFile>$(MSBuildProjectDirectory)\..\..\..\Local.props</LocalPropsFile>
7+
</PropertyGroup>
8+
<Import Project="$(LocalPropsFile)" />
9+
<!-- MSBuild Community Tasks -->
10+
<PropertyGroup>
11+
<MSBuildCommunityTasksPath>$(MSBuildProjectDirectory)\..\..\..\lib\MSBuild.Community.Tasks\</MSBuildCommunityTasksPath>
12+
</PropertyGroup>
13+
<Import Project="$(MSBuildCommunityTasksPath)MSBuild.Community.Tasks.Targets" />
14+
<!-- Gensrc dir -->
15+
<PropertyGroup>
16+
<GensrcDir>..\..\..\gensrc\$(MSBuildProjectName)\</GensrcDir>
17+
</PropertyGroup>
18+
<Target Name="CreateGensrcDir">
19+
<MakeDir Directories="$(GensrcDir)" />
20+
</Target>
21+
<!-- API autogeneration -->
22+
<PropertyGroup>
23+
<SpecsDir>..\..\..\docs\specs\</SpecsDir>
24+
<AmqpSpec0_9_1BaseName>amqp0-9-1.stripped.xml</AmqpSpec0_9_1BaseName>
25+
<AmqpSpec0_9BaseName>amqp0-9.stripped.xml</AmqpSpec0_9BaseName>
26+
<AmqpSpec0_8qpidBaseName>qpid-amqp.0-8.stripped.xml</AmqpSpec0_8qpidBaseName>
27+
<AmqpSpec0_8BaseName>amqp0-8.stripped.xml</AmqpSpec0_8BaseName>
28+
<AmqpSpec0_9_1>$(SpecsDir)$(AmqpSpec0_9_1BaseName)</AmqpSpec0_9_1>
29+
<AmqpSpec0_9>$(SpecsDir)$(AmqpSpec0_9BaseName)</AmqpSpec0_9>
30+
<AmqpSpec0_8qpid>$(SpecsDir)$(AmqpSpec0_8qpidBaseName)</AmqpSpec0_8qpid>
31+
<AmqpSpec0_8>$(SpecsDir)$(AmqpSpec0_8BaseName)</AmqpSpec0_8>
32+
<AutogeneratedApi0_9_1BaseName>autogenerated-api-0-9-1.cs</AutogeneratedApi0_9_1BaseName>
33+
<AutogeneratedApi0_9BaseName>autogenerated-api-0-9.cs</AutogeneratedApi0_9BaseName>
34+
<AutogeneratedApi0_8qpidBaseName>autogenerated-api-qpid-0-8.cs</AutogeneratedApi0_8qpidBaseName>
35+
<AutogeneratedApi0_8BaseName>autogenerated-api-0-8.cs</AutogeneratedApi0_8BaseName>
36+
<AutogeneratedApi0_9>$(GensrcDir)$(AutogeneratedApi0_9BaseName)</AutogeneratedApi0_9>
37+
<AutogeneratedApi0_9_1>$(GensrcDir)$(AutogeneratedApi0_9_1BaseName)</AutogeneratedApi0_9_1>
38+
<AutogeneratedApi0_8qpid>$(GensrcDir)$(AutogeneratedApi0_8qpidBaseName)</AutogeneratedApi0_8qpid>
39+
<AutogeneratedApi0_8>$(GensrcDir)$(AutogeneratedApi0_8BaseName)</AutogeneratedApi0_8>
40+
<ApiGenExe>..\Apigen\build\bin\rabbitmq-dotnet-apigen.exe</ApiGenExe>
41+
</PropertyGroup>
42+
<ItemGroup>
43+
<AmqpSpecs Include="$(AmqpSpec0_9)">
44+
<Link>specs\$(AmqpSpec0_9BaseName)</Link>
45+
</AmqpSpecs>
46+
<AmqpSpecs Include="$(AmqpSpec0_8qpid)">
47+
<Link>specs\$(AmqpSpec0_8qpidBaseName)</Link>
48+
</AmqpSpecs>
49+
<AmqpSpecs Include="$(AmqpSpec0_8)">
50+
<Link>specs\$(AmqpSpec0_8BaseName)</Link>
51+
</AmqpSpecs>
52+
<AutogeneratedApi Include="$(AutogeneratedApi0_9_1)">
53+
<Link>src\gensrc\$(AutogeneratedApi0_9_1BaseName)</Link>
54+
</AutogeneratedApi>
55+
<AutogeneratedApi Include="$(AutogeneratedApi0_9)">
56+
<Link>src\gensrc\$(AutogeneratedApi0_9BaseName)</Link>
57+
</AutogeneratedApi>
58+
<AutogeneratedApi Include="$(AutogeneratedApi0_8qpid)">
59+
<Link>src\gensrc\$(AutogeneratedApi0_8qpidBaseName)</Link>
60+
</AutogeneratedApi>
61+
<AutogeneratedApi Include="$(AutogeneratedApi0_8)">
62+
<Link>src\gensrc\$(AutogeneratedApi0_8BaseName)</Link>
63+
</AutogeneratedApi>
64+
<Compile Include="$(AutogeneratedApi0_9_1)">
65+
<Visible>false</Visible>
66+
</Compile>
67+
<Compile Include="$(AutogeneratedApi0_9)">
68+
<Visible>false</Visible>
69+
</Compile>
70+
<Compile Include="$(AutogeneratedApi0_8qpid)">
71+
<Visible>false</Visible>
72+
</Compile>
73+
<Compile Include="$(AutogeneratedApi0_8)">
74+
<Visible>false</Visible>
75+
</Compile>
76+
</ItemGroup>
77+
<Target Name="GenerateApi" DependsOnTargets="CreateGensrcDir" Inputs="@(AmqpSpecs);$(ApiGenExe)" Outputs="@(AutogeneratedApi)">
78+
<Exec Command="$(PropLaunchExe)$(ApiGenExe) /apiName:AMQP_0_9_1 /n:v0_9_1 $(AmqpSpec0_9_1) $(AutogeneratedApi0_9_1)" WorkingDirectory="$(ProjectDir)" />
79+
<Exec Command="$(PropLaunchExe)$(ApiGenExe) /apiName:AMQP_0_9 /n:v0_9 $(AmqpSpec0_9) $(AutogeneratedApi0_9)" WorkingDirectory="$(ProjectDir)" />
80+
<Exec Command="$(PropLaunchExe)$(ApiGenExe) /apiName:AMQP_0_8_QPID /n:v0_8qpid $(AmqpSpec0_8qpid) $(AutogeneratedApi0_8qpid)" WorkingDirectory="$(ProjectDir)" />
81+
<Exec Command="$(PropLaunchExe)$(ApiGenExe) /apiName:AMQP_0_8 /n:v0_8 $(AmqpSpec0_8) $(AutogeneratedApi0_8)" WorkingDirectory="$(ProjectDir)" />
82+
</Target>
83+
<Target Name="CleanGenerateApi">
84+
<Delete Files="@(AutogeneratedApi)" />
85+
</Target>
86+
<!-- Detokenize -->
87+
<PropertyGroup>
88+
<AssemblyInfoBaseName>AssemblyInfo.cs</AssemblyInfoBaseName>
89+
<AssemblyInfoTok>src\tokenized\$(AssemblyInfoBaseName).in</AssemblyInfoTok>
90+
<AssemblyInfoDetok>$(GensrcDir)$(AssemblyInfoBaseName)</AssemblyInfoDetok>
91+
</PropertyGroup>
92+
<ItemGroup>
93+
<Tokenized Include="$(AssemblyInfoTok)" />
94+
<Detokenized Include="$(AssemblyInfoDetok)">
95+
<Link>properties\$(AssemblyInfoBaseName)</Link>
96+
</Detokenized>
97+
<Compile Include="$(AssemblyInfoDetok)">
98+
<Visible>false</Visible>
99+
</Compile>
100+
<Tokens Include="PropAssemblyVersion">
101+
<ReplacementValue>$(PropAssemblyVersion)</ReplacementValue>
102+
<Visible>false</Visible>
103+
</Tokens>
104+
</ItemGroup>
105+
<Target Name="Detokenize" DependsOnTargets="CreateGensrcDir" Inputs="@(Tokenized); $(LocalPropsFile)" Outputs="@(Detokenized)">
106+
<Delete Files="@(Detokenized)" />
107+
<TemplateFile Template="$(AssemblyInfoTok)" OutputFilename="detok.out" Tokens="@(Tokens)" />
108+
<Move SourceFiles="src\tokenized\detok.out" DestinationFiles="$(AssemblyInfoDetok)" />
109+
</Target>
110+
<Target Name="CleanDetokenize">
111+
<Delete Files="@(Detokenized)" />
112+
</Target>
113+
<!-- Visual Studio generated -->
114+
<PropertyGroup>
115+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
116+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
117+
<ProductVersion>9.0.21022</ProductVersion>
118+
<SchemaVersion>2.0</SchemaVersion>
119+
<ProjectGuid>{71713FDD-D5EC-40B2-A924-76F80AD57E12}</ProjectGuid>
120+
<OutputType>Library</OutputType>
121+
<AppDesignerFolder>properties</AppDesignerFolder>
122+
<RootNamespace>RabbitMQ.Client</RootNamespace>
123+
<AssemblyName>RabbitMQ.Client</AssemblyName>
124+
<TargetFrameworkVersion>$(PropTargetFramework)</TargetFrameworkVersion>
125+
<FileAlignment>512</FileAlignment>
126+
</PropertyGroup>
127+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
128+
<DebugSymbols>true</DebugSymbols>
129+
<DebugType>full</DebugType>
130+
<Optimize>false</Optimize>
131+
<OutputPath>build\bin\</OutputPath>
132+
<DefineConstants>DEBUG;TRACE</DefineConstants>
133+
<ErrorReport>none</ErrorReport>
134+
<WarningLevel>4</WarningLevel>
135+
<DocumentationFile>build\bin\RabbitMQ.Client.xml</DocumentationFile>
136+
<NoWarn>1591</NoWarn>
137+
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
138+
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
139+
<RegisterForComInterop>false</RegisterForComInterop>
140+
</PropertyGroup>
141+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
142+
<DebugType>pdbonly</DebugType>
143+
<Optimize>true</Optimize>
144+
<OutputPath>build\bin\</OutputPath>
145+
<DefineConstants>TRACE</DefineConstants>
146+
<ErrorReport>none</ErrorReport>
147+
<WarningLevel>4</WarningLevel>
148+
<DocumentationFile>build\bin\RabbitMQ.Client.xml</DocumentationFile>
149+
<NoWarn>1591</NoWarn>
150+
<DebugSymbols>true</DebugSymbols>
151+
<RegisterForComInterop>false</RegisterForComInterop>
152+
<SignAssembly Condition="'$(PropKeyfile)' != ''">true</SignAssembly>
153+
<AssemblyOriginatorKeyFile>$(PropKeyfile)</AssemblyOriginatorKeyFile>
154+
</PropertyGroup>
155+
<ItemGroup>
156+
<Compile Include="src\client\**\*.cs" />
157+
<Compile Include="src\util\**\*.cs" />
158+
</ItemGroup>
159+
<ItemGroup>
160+
<Reference Include="System" />
161+
<Reference Include="System.Data" />
162+
<Reference Include="System.Xml" />
163+
</ItemGroup>
164+
<!-- Mono compatibility workarounds -->
165+
<PropertyGroup Condition=" '$(PropUsingMono)' == 'true'">
166+
<_DisabledWarnings>$(NoWarn)</_DisabledWarnings>
167+
</PropertyGroup>
168+
<!-- Microsoft CSharp targets -->
169+
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
170+
<!-- Custom BeforeBuild-->
171+
<Target Name="BeforeBuild" DependsOnTargets="GenerateApi; Detokenize" />
172+
<!-- Custom BeforeClean -->
173+
<Target Name="BeforeClean" DependsOnTargets="CleanGenerateApi; CleanDetokenize" />
174+
</Project>

projects/client/RabbitMQ.Client/src/client/api/IProtocol.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ public interface IProtocol
6666
int MajorVersion { get; }
6767
///<summary>Retrieve the protocol's minor version number</summary>
6868
int MinorVersion { get; }
69+
///<summary>Retrieve the protocol's revision (if specified)</summary>
70+
int? Revision { get; }
6971
///<summary>Retrieve the protocol's API name, used for
7072
///printing, configuration properties, IDE integration,
7173
///Protocols.cs etc.</summary>

projects/client/RabbitMQ.Client/src/client/impl/AbstractProtocolBase.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ namespace RabbitMQ.Client.Impl {
6262
public abstract class AbstractProtocolBase: IProtocol {
6363
public abstract int MajorVersion { get; }
6464
public abstract int MinorVersion { get; }
65+
public abstract int? Revision { get; }
6566
public abstract string ApiName { get; }
6667
public abstract int DefaultPort { get; }
6768

0 commit comments

Comments
 (0)