Skip to content

Commit dceb7be

Browse files
author
Emile Joubert
committed
0.9.1 codegen as part of build
1 parent a6bead0 commit dceb7be

File tree

3 files changed

+60
-29
lines changed

3 files changed

+60
-29
lines changed

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -811,7 +811,10 @@ public void EmitModelImplementation() {
811811
if (method.Name.StartsWith("Handle") ||
812812
(Attribute(method, typeof(AmqpAsynchronousHandlerAttribute)) != null))
813813
{
814-
asynchronousHandlers.Add(method);
814+
if ((Attribute(method, typeof(AmqpMethodDoNotImplementAttribute)) == null))
815+
{
816+
asynchronousHandlers.Add(method);
817+
}
815818
} else {
816819
MaybeEmitModelMethod(method);
817820
}

projects/client/RabbitMQ.Client/RabbitMQ.Client.csproj

Lines changed: 53 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
<?xml version="1.0" encoding="utf-8"?>
1+
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<!-- Warning! This file contains important customizations. Using Visual Studio to edit project's properties might break things. -->
4-
54
<!-- Props file -->
65
<PropertyGroup>
76
<LocalPropsFile>$(MSBuildProjectDirectory)\..\..\..\Local.props</LocalPropsFile>
@@ -12,52 +11,75 @@
1211
<MSBuildCommunityTasksPath>$(MSBuildProjectDirectory)\..\..\..\lib\MSBuild.Community.Tasks\</MSBuildCommunityTasksPath>
1312
</PropertyGroup>
1413
<Import Project="$(MSBuildCommunityTasksPath)MSBuild.Community.Tasks.Targets" />
15-
1614
<!-- Gensrc dir -->
1715
<PropertyGroup>
1816
<GensrcDir>..\..\..\gensrc\$(MSBuildProjectName)\</GensrcDir>
1917
</PropertyGroup>
2018
<Target Name="CreateGensrcDir">
2119
<MakeDir Directories="$(GensrcDir)" />
2220
</Target>
23-
2421
<!-- API autogeneration -->
2522
<PropertyGroup>
2623
<SpecsDir>..\..\..\docs\specs\</SpecsDir>
24+
<AmqpSpec0_9_1BaseName>amqp0-9-1.stripped.xml</AmqpSpec0_9_1BaseName>
2725
<AmqpSpec0_9BaseName>amqp0-9.stripped.xml</AmqpSpec0_9BaseName>
2826
<AmqpSpec0_8qpidBaseName>qpid-amqp.0-8.stripped.xml</AmqpSpec0_8qpidBaseName>
2927
<AmqpSpec0_8BaseName>amqp0-8.stripped.xml</AmqpSpec0_8BaseName>
28+
<AmqpSpec0_9_1>$(SpecsDir)$(AmqpSpec0_9_1BaseName)</AmqpSpec0_9_1>
3029
<AmqpSpec0_9>$(SpecsDir)$(AmqpSpec0_9BaseName)</AmqpSpec0_9>
3130
<AmqpSpec0_8qpid>$(SpecsDir)$(AmqpSpec0_8qpidBaseName)</AmqpSpec0_8qpid>
3231
<AmqpSpec0_8>$(SpecsDir)$(AmqpSpec0_8BaseName)</AmqpSpec0_8>
32+
<AutogeneratedApi0_9_1BaseName>autogenerated-api-0-9-1.cs</AutogeneratedApi0_9_1BaseName>
3333
<AutogeneratedApi0_9BaseName>autogenerated-api-0-9.cs</AutogeneratedApi0_9BaseName>
3434
<AutogeneratedApi0_8qpidBaseName>autogenerated-api-qpid-0-8.cs</AutogeneratedApi0_8qpidBaseName>
3535
<AutogeneratedApi0_8BaseName>autogenerated-api-0-8.cs</AutogeneratedApi0_8BaseName>
3636
<AutogeneratedApi0_9>$(GensrcDir)$(AutogeneratedApi0_9BaseName)</AutogeneratedApi0_9>
37+
<AutogeneratedApi0_9_1>$(GensrcDir)$(AutogeneratedApi0_9_1BaseName)</AutogeneratedApi0_9_1>
3738
<AutogeneratedApi0_8qpid>$(GensrcDir)$(AutogeneratedApi0_8qpidBaseName)</AutogeneratedApi0_8qpid>
3839
<AutogeneratedApi0_8>$(GensrcDir)$(AutogeneratedApi0_8BaseName)</AutogeneratedApi0_8>
3940
<ApiGenExe>..\Apigen\build\bin\rabbitmq-dotnet-apigen.exe</ApiGenExe>
4041
</PropertyGroup>
4142
<ItemGroup>
42-
<AmqpSpecs Include="$(AmqpSpec0_9)"><Link>specs\$(AmqpSpec0_9BaseName)</Link></AmqpSpecs>
43-
<AmqpSpecs Include="$(AmqpSpec0_8qpid)"><Link>specs\$(AmqpSpec0_8qpidBaseName)</Link></AmqpSpecs>
44-
<AmqpSpecs Include="$(AmqpSpec0_8)"><Link>specs\$(AmqpSpec0_8BaseName)</Link></AmqpSpecs>
45-
<AutogeneratedApi Include="$(AutogeneratedApi0_9)"><Link>src\gensrc\$(AutogeneratedApi0_9BaseName)</Link></AutogeneratedApi>
46-
<AutogeneratedApi Include="$(AutogeneratedApi0_8qpid)"><Link>src\gensrc\$(AutogeneratedApi0_8qpidBaseName)</Link></AutogeneratedApi>
47-
<AutogeneratedApi Include="$(AutogeneratedApi0_8)"><Link>src\gensrc\$(AutogeneratedApi0_8BaseName)</Link></AutogeneratedApi>
48-
<Compile Include="$(AutogeneratedApi0_9)"><Visible>false</Visible></Compile>
49-
<Compile Include="$(AutogeneratedApi0_8qpid)"><Visible>false</Visible></Compile>
50-
<Compile Include="$(AutogeneratedApi0_8)"><Visible>false</Visible></Compile>
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>
5173
</ItemGroup>
5274
<Target Name="GenerateApi" DependsOnTargets="CreateGensrcDir" Inputs="@(AmqpSpecs);$(ApiGenExe)" Outputs="@(AutogeneratedApi)">
53-
<Exec Command='$(PropLaunchExe)$(ApiGenExe) /apiName:AMQP_0_9 /n:v0_9 $(AmqpSpec0_9) $(AutogeneratedApi0_9)' WorkingDirectory="$(ProjectDir)" />
54-
<Exec Command='$(PropLaunchExe)$(ApiGenExe) /apiName:AMQP_0_8_QPID /n:v0_8qpid $(AmqpSpec0_8qpid) $(AutogeneratedApi0_8qpid)' WorkingDirectory="$(ProjectDir)" />
55-
<Exec Command='$(PropLaunchExe)$(ApiGenExe) /apiName:AMQP_0_8 /n:v0_8 $(AmqpSpec0_8) $(AutogeneratedApi0_8)' WorkingDirectory="$(ProjectDir)" />
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)" />
5679
</Target>
5780
<Target Name="CleanGenerateApi">
5881
<Delete Files="@(AutogeneratedApi)" />
5982
</Target>
60-
6183
<!-- Detokenize -->
6284
<PropertyGroup>
6385
<AssemblyInfoBaseName>AssemblyInfo.cs</AssemblyInfoBaseName>
@@ -66,9 +88,16 @@
6688
</PropertyGroup>
6789
<ItemGroup>
6890
<Tokenized Include="$(AssemblyInfoTok)" />
69-
<Detokenized Include="$(AssemblyInfoDetok)"><Link>properties\$(AssemblyInfoBaseName)</Link></Detokenized>
70-
<Compile Include="$(AssemblyInfoDetok)"><Visible>false</Visible></Compile>
71-
<Tokens Include="PropAssemblyVersion"><ReplacementValue>$(PropAssemblyVersion)</ReplacementValue><Visible>false</Visible></Tokens>
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>
72101
</ItemGroup>
73102
<Target Name="Detokenize" DependsOnTargets="CreateGensrcDir" Inputs="@(Tokenized); $(LocalPropsFile)" Outputs="@(Detokenized)">
74103
<Delete Files="@(Detokenized)" />
@@ -78,7 +107,6 @@
78107
<Target Name="CleanDetokenize">
79108
<Delete Files="@(Detokenized)" />
80109
</Target>
81-
82110
<!-- Visual Studio generated -->
83111
<PropertyGroup>
84112
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -122,25 +150,22 @@
122150
<AssemblyOriginatorKeyFile>$(PropKeyfile)</AssemblyOriginatorKeyFile>
123151
</PropertyGroup>
124152
<ItemGroup>
125-
<Compile Include="src\client\**\*.cs" />
126-
<Compile Include="src\util\**\*.cs" /> </ItemGroup>
153+
<Compile Include="src\client\**\*.cs" />
154+
<Compile Include="src\util\**\*.cs" />
155+
</ItemGroup>
127156
<ItemGroup>
128157
<Reference Include="System" />
129158
<Reference Include="System.Data" />
130159
<Reference Include="System.Xml" />
131160
</ItemGroup>
132-
133161
<!-- Mono compatibility workarounds -->
134162
<PropertyGroup Condition=" '$(PropUsingMono)' == 'true'">
135163
<_DisabledWarnings>$(NoWarn)</_DisabledWarnings>
136164
</PropertyGroup>
137-
138165
<!-- Microsoft CSharp targets -->
139-
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
140-
166+
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
141167
<!-- Custom BeforeBuild-->
142168
<Target Name="BeforeBuild" DependsOnTargets="GenerateApi; Detokenize" />
143-
144169
<!-- Custom BeforeClean -->
145170
<Target Name="BeforeClean" DependsOnTargets="CleanGenerateApi; CleanDetokenize" />
146171
</Project>

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,9 +358,11 @@ BasicGetResult BasicGet(string queue,
358358
void TxRollback();
359359

360360
///<summary>(Spec method) Enable DTX mode for this session.</summary>
361+
[AmqpMethodDoNotImplement("RabbitMQ.Client.Framing.v0_9_1")]
361362
void DtxSelect();
362363

363364
///<summary>(Spec method)</summary>
365+
[AmqpMethodDoNotImplement("RabbitMQ.Client.Framing.v0_9_1")]
364366
void DtxStart(string dtxIdentifier);
365367

366368
///<summary>Close this session.</summary>
@@ -668,6 +670,7 @@ void _Private_ConnectionOpen(string virtualHost,
668670
void HandleConnectionOpenOk(string knownHosts);
669671

670672
///<summary>Handle an incoming Connection.Redirect.</summary>
673+
[AmqpMethodDoNotImplement("RabbitMQ.Client.Framing.v0_9_1")]
671674
void HandleConnectionRedirect(string host,
672675
string knownHosts);
673676

0 commit comments

Comments
 (0)