Skip to content

Commit 1fa2325

Browse files
committed
Use Microsoft.CodeAnalysis.PublicApiAnalyzers
Reference: #1269 * Use the same API analysis tool that is used in the RabbitMQ.Stream.Client library. * Remove existing APIApproval tests. Replaced by PublicApiAnalyzers. * Add retries when connection can't be open due to a `SocketException`. * Change Windows GitHub actions runner to windows-2019. It should be faster and may not have that socket exception * Add connection retries for SocketException to SSL tests. Uncovered with windows 2019.
1 parent 3794b4c commit 1fa2325

19 files changed

+1223
-1399
lines changed

.ci/windows/versions.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"erlang": "26.1.2",
2+
"erlang": "26.2.1",
33
"rabbitmq": "3.12.10"
44
}

.editorconfig

+9
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,17 @@ csharp_space_between_parentheses = false
158158
csharp_space_between_square_brackets = false
159159

160160
# Analyzers
161+
dotnet_code_quality.api_surface = public
161162
dotnet_code_quality.ca1802.api_surface = private, internal
162163

164+
dotnet_public_api_analyzer.require_api_files = true
165+
166+
dotnet_diagnostic.RS0026.severity = none
167+
dotnet_diagnostic.RS0027.severity = none
168+
dotnet_diagnostic.RS0036.severity = none
169+
dotnet_diagnostic.RS0041.severity = none
170+
dotnet_diagnostic.RS0051.severity = error
171+
163172
# C++ Files
164173
[*.{cpp,h,in}]
165174
curly_bracket_next_line = true

.github/workflows/build-test.yaml

+3-9
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ on:
55

66
jobs:
77
build-win32:
8-
name: build, unit test on windows-latest
9-
runs-on: windows-latest
8+
runs-on: windows-2019
109
# https://github.com/NuGet/Home/issues/11548
1110
env:
1211
NUGET_CERT_REVOCATION_MODE: offline
@@ -43,9 +42,8 @@ jobs:
4342
projects/Test/SequentialIntegration/bin
4443
projects/RabbitMQ.*/bin
4544
integration-win32:
46-
name: integration test on windows-latest
4745
needs: build-win32
48-
runs-on: windows-latest
46+
runs-on: windows-2019
4947
# https://github.com/NuGet/Home/issues/11548
5048
env:
5149
NUGET_CERT_REVOCATION_MODE: offline
@@ -80,9 +78,8 @@ jobs:
8078
name: rabbitmq-logs-integration-win32
8179
path: ~/AppData/Roaming/RabbitMQ/log/
8280
sequential-integration-win32:
83-
name: sequential integration test on windows-latest
8481
needs: build-win32
85-
runs-on: windows-latest
82+
runs-on: windows-2019
8683
# https://github.com/NuGet/Home/issues/11548
8784
env:
8885
NUGET_CERT_REVOCATION_MODE: offline
@@ -116,7 +113,6 @@ jobs:
116113
path: ~/AppData/Roaming/RabbitMQ/log/
117114

118115
build-ubuntu:
119-
name: build, unit test on ubuntu-latest
120116
runs-on: ubuntu-latest
121117
steps:
122118
- name: Clone repository
@@ -155,7 +151,6 @@ jobs:
155151
projects/Test/SequentialIntegration/bin
156152
projects/RabbitMQ.*/bin
157153
integration-ubuntu:
158-
name: integration test on ubuntu-latest
159154
needs: build-ubuntu
160155
runs-on: ubuntu-latest
161156
steps:
@@ -195,7 +190,6 @@ jobs:
195190
name: rabbitmq-logs-integration-ubuntu
196191
path: ${{ github.workspace }}/.ci/ubuntu/log/
197192
sequential-integration-ubuntu:
198-
name: sequential integration test on ubuntu-latest
199193
needs: build-ubuntu
200194
runs-on: ubuntu-latest
201195
steps:

projects/RabbitMQ.Client.OAuth2/PublicAPI.Shipped.txt

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
RabbitMQ.Client.OAuth2.IOAuth2Client
2+
RabbitMQ.Client.OAuth2.IOAuth2Client.RefreshToken(RabbitMQ.Client.OAuth2.IToken token) -> RabbitMQ.Client.OAuth2.IToken
3+
RabbitMQ.Client.OAuth2.IOAuth2Client.RequestToken() -> RabbitMQ.Client.OAuth2.IToken
4+
RabbitMQ.Client.OAuth2.IToken
5+
RabbitMQ.Client.OAuth2.IToken.AccessToken.get -> string
6+
RabbitMQ.Client.OAuth2.IToken.ExpiresIn.get -> System.TimeSpan
7+
RabbitMQ.Client.OAuth2.IToken.hasExpired.get -> bool
8+
RabbitMQ.Client.OAuth2.IToken.RefreshToken.get -> string
9+
RabbitMQ.Client.OAuth2.JsonToken
10+
RabbitMQ.Client.OAuth2.JsonToken.access_token.get -> string
11+
RabbitMQ.Client.OAuth2.JsonToken.access_token.set -> void
12+
RabbitMQ.Client.OAuth2.JsonToken.expires_in.get -> long
13+
RabbitMQ.Client.OAuth2.JsonToken.expires_in.set -> void
14+
RabbitMQ.Client.OAuth2.JsonToken.JsonToken() -> void
15+
RabbitMQ.Client.OAuth2.JsonToken.JsonToken(string access_token, string refresh_token, long expires_in) -> void
16+
RabbitMQ.Client.OAuth2.JsonToken.JsonToken(string access_token, string refresh_token, System.TimeSpan expires_in_span) -> void
17+
RabbitMQ.Client.OAuth2.JsonToken.refresh_token.get -> string
18+
RabbitMQ.Client.OAuth2.JsonToken.refresh_token.set -> void
19+
RabbitMQ.Client.OAuth2.OAuth2ClientBuilder
20+
RabbitMQ.Client.OAuth2.OAuth2ClientBuilder.AddRequestParameter(string param, string paramValue) -> RabbitMQ.Client.OAuth2.OAuth2ClientBuilder
21+
RabbitMQ.Client.OAuth2.OAuth2ClientBuilder.Build() -> RabbitMQ.Client.OAuth2.IOAuth2Client
22+
RabbitMQ.Client.OAuth2.OAuth2ClientBuilder.OAuth2ClientBuilder(string clientId, string clientSecret, System.Uri tokenEndpoint) -> void
23+
RabbitMQ.Client.OAuth2.OAuth2ClientBuilder.SetHttpClientHandler(System.Net.Http.HttpClientHandler handler) -> RabbitMQ.Client.OAuth2.OAuth2ClientBuilder
24+
RabbitMQ.Client.OAuth2.OAuth2ClientBuilder.SetScope(string scope) -> RabbitMQ.Client.OAuth2.OAuth2ClientBuilder
25+
RabbitMQ.Client.OAuth2.OAuth2ClientCredentialsProvider
26+
RabbitMQ.Client.OAuth2.OAuth2ClientCredentialsProvider.Name.get -> string
27+
RabbitMQ.Client.OAuth2.OAuth2ClientCredentialsProvider.OAuth2ClientCredentialsProvider(string name, RabbitMQ.Client.OAuth2.IOAuth2Client oAuth2Client) -> void
28+
RabbitMQ.Client.OAuth2.OAuth2ClientCredentialsProvider.Password.get -> string
29+
RabbitMQ.Client.OAuth2.OAuth2ClientCredentialsProvider.Refresh() -> void
30+
RabbitMQ.Client.OAuth2.OAuth2ClientCredentialsProvider.UserName.get -> string
31+
RabbitMQ.Client.OAuth2.OAuth2ClientCredentialsProvider.ValidUntil.get -> System.TimeSpan?
32+
RabbitMQ.Client.OAuth2.Token
33+
RabbitMQ.Client.OAuth2.Token.AccessToken.get -> string
34+
RabbitMQ.Client.OAuth2.Token.ExpiresIn.get -> System.TimeSpan
35+
RabbitMQ.Client.OAuth2.Token.RefreshToken.get -> string
36+
RabbitMQ.Client.OAuth2.Token.Token(RabbitMQ.Client.OAuth2.JsonToken json) -> void

projects/RabbitMQ.Client.OAuth2/RabbitMQ.Client.OAuth2.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
</ItemGroup>
5555

5656
<ItemGroup>
57+
<PackageReference Include="Microsoft.CodeAnalysis.PublicApiAnalyzers" Version="3.3.4" PrivateAssets="all" />
5758
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="all" />
5859
<PackageReference Include="MinVer" Version="4.3.0" PrivateAssets="all" />
5960
<PackageReference Include="System.Net.Http.Json" Version="8.0.0" />
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#nullable enable

0 commit comments

Comments
 (0)