Skip to content

Commit 64b435c

Browse files
internalautomation[bot]bording
andauthoredOct 30, 2024··
GitHubSync update - release-9.2 (#7203)
* GitHubSync update - release-9.2 * Update references to use automatic version ranges * Update Particular.Approvals * Update package to prevent transitive CVE * Update testing packages * Update Particular.Packaging * Adjust tests to work with latest NUnit --------- Co-authored-by: internalautomation[bot] <85681268+internalautomation[bot]@users.noreply.github.com> Co-authored-by: Brandon Ording <bording@gmail.com>
1 parent e5a7a8d commit 64b435c

File tree

16 files changed

+144
-57
lines changed

16 files changed

+144
-57
lines changed
 

‎src/Directory.Build.props

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
<EnableNETAnalyzers>true</EnableNETAnalyzers>
88
<AnalysisLevel Condition="'$(AnalysisLevel)' == ''">5.0</AnalysisLevel>
99
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
10-
<!-- NuGetAuditMode set to 'all' for tool projects in Directory.Build.targets, other project types default to 'direct' -->
1110
<NuGetAuditLevel>low</NuGetAuditLevel>
11+
<NuGetAuditMode Condition="'$(NuGetAuditMode)' == ''">all</NuGetAuditMode>
1212
<!-- To lock the version of Particular.Analyzers, for example, in a release branch, set this property in Custom.Build.props -->
13-
<ParticularAnalyzersVersion Condition="'$(ParticularAnalyzersVersion)' == ''">2.1.2</ParticularAnalyzersVersion>
13+
<ParticularAnalyzersVersion Condition="'$(ParticularAnalyzersVersion)' == ''">2.1.3</ParticularAnalyzersVersion>
1414
<NServiceBusKey>0024000004800000940000000602000000240000525341310004000001000100dde965e6172e019ac82c2639ffe494dd2e7dd16347c34762a05732b492e110f2e4e2e1b5ef2d85c848ccfb671ee20a47c8d1376276708dc30a90ff1121b647ba3b7259a6bc383b2034938ef0e275b58b920375ac605076178123693c6c4f1331661a62eba28c249386855637780e3ff5f23a6d854700eaa6803ef48907513b92</NServiceBusKey>
1515
<NServiceBusTestsKey>00240000048000009400000006020000002400005253413100040000010001007f16e21368ff041183fab592d9e8ed37e7be355e93323147a1d29983d6e591b04282e4da0c9e18bd901e112c0033925eb7d7872c2f1706655891c5c9d57297994f707d16ee9a8f40d978f064ee1ffc73c0db3f4712691b23bf596f75130f4ec978cf78757ec034625a5f27e6bb50c618931ea49f6f628fd74271c32959efb1c5</NServiceBusTestsKey>
1616
</PropertyGroup>

‎src/Directory.Build.targets

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
<Project>
22

3-
<PropertyGroup>
4-
<NuGetAuditMode Condition="'$(PackAsTool)' == 'true'">all</NuGetAuditMode>
5-
</PropertyGroup>
3+
<Import Project="msbuild\AutomaticVersionRanges.targets" Condition="Exists('msbuild\AutomaticVersionRanges.targets')" />
64

75
</Project>

‎src/NServiceBus.AcceptanceTesting/NServiceBus.AcceptanceTesting.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
</ItemGroup>
1313

1414
<ItemGroup>
15-
<PackageReference Include="NUnit" Version="[4.1.0, 5.0.0)" />
15+
<PackageReference Include="NUnit" Version="4.2.2" />
1616
<PackageReference Include="NUnit.Analyzers" Version="4.3.0" PrivateAssets="All" />
17-
<PackageReference Include="Particular.Packaging" Version="4.1.0" PrivateAssets="All" />
17+
<PackageReference Include="Particular.Packaging" Version="4.2.0" PrivateAssets="All" />
1818
</ItemGroup>
1919

2020
<PropertyGroup>

‎src/NServiceBus.AcceptanceTests/NServiceBus.AcceptanceTests.csproj

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111

1212
<ItemGroup>
1313
<PackageReference Include="GitHubActionsTestLogger" Version="2.4.1" PrivateAssets="All" />
14-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" PrivateAssets="All" />
14+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" PrivateAssets="All" />
1515
<PackageReference Include="NUnit.Analyzers" Version="4.3.0" PrivateAssets="All" />
1616
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0" PrivateAssets="All" />
17-
<PackageReference Include="Particular.Approvals" Version="1.0.0" PrivateAssets="All" />
18-
<PackageReference Include="Particular.Packaging" Version="4.1.0" PrivateAssets="All" />
17+
<PackageReference Include="Particular.Approvals" Version="2.0.0" PrivateAssets="All" />
18+
<PackageReference Include="Particular.Packaging" Version="4.2.0" PrivateAssets="All" />
1919
</ItemGroup>
2020

2121
<PropertyGroup>

‎src/NServiceBus.ContainerTests/NServiceBus.ContainerTests.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212

1313
<ItemGroup>
1414
<PackageReference Include="GitHubActionsTestLogger" Version="2.4.1" />
15-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
16-
<PackageReference Include="NUnit" Version="4.1.0" />
15+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
16+
<PackageReference Include="NUnit" Version="4.2.2" />
1717
<PackageReference Include="NUnit.Analyzers" Version="4.3.0" />
1818
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0" />
1919
</ItemGroup>

‎src/NServiceBus.Core.Analyzer.Tests.Roslyn4/NServiceBus.Core.Analyzer.Tests.Roslyn4.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515

1616
<ItemGroup>
1717
<PackageReference Include="GitHubActionsTestLogger" Version="2.4.1" />
18-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
19-
<PackageReference Include="NUnit" Version="4.1.0" />
18+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
19+
<PackageReference Include="NUnit" Version="4.2.2" />
2020
<PackageReference Include="NUnit.Analyzers" Version="4.3.0" />
2121
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0" />
2222
</ItemGroup>

‎src/NServiceBus.Core.Analyzer/NServiceBus.Core.Analyzer.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
</PropertyGroup>
1111

1212
<ItemGroup>
13-
<PackageReference Include="Particular.Packaging" Version="4.1.0" PrivateAssets="All" />
13+
<PackageReference Include="Particular.Packaging" Version="4.2.0" PrivateAssets="All" />
1414
<!-- this package can only be upgraded when we drop support for older versions of Visual Studio -->
1515
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.8.0" />
1616
</ItemGroup>

‎src/NServiceBus.Core.Tests/NServiceBus.Core.Tests.csproj

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@
1313

1414
<ItemGroup>
1515
<PackageReference Include="GitHubActionsTestLogger" Version="2.4.1" />
16-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
16+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
1717
<PackageReference Include="NuDoq" Version="2.0.1" NoWarn="NU1701" />
18-
<PackageReference Include="NUnit" Version="4.1.0" />
18+
<PackageReference Include="NUnit" Version="4.2.2" />
1919
<PackageReference Include="NUnit.Analyzers" Version="4.3.0" />
2020
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0" />
21-
<PackageReference Include="Particular.Approvals" Version="1.0.0" />
21+
<PackageReference Include="Particular.Approvals" Version="2.0.0" />
2222
<PackageReference Include="PublicApiGenerator" Version="11.1.0" />
2323
</ItemGroup>
2424

‎src/NServiceBus.Core.Tests/Serializers/XML/ConcurrencySerializerTests.cs

+13-17
Original file line numberDiff line numberDiff line change
@@ -20,28 +20,24 @@ public void Should_deserialize_in_parallel()
2020
var serializer = SerializerFactory.Create<RequestDataMessage>();
2121

2222
Parallel.For(1, 1000, i =>
23-
{
24-
RequestDataMessage result;
25-
using (var stream = new MemoryStream())
26-
{
27-
serializer.Serialize(expected, stream);
28-
stream.Position = 0;
29-
30-
var msgArray = serializer.Deserialize(stream.ToArray());
31-
result = (RequestDataMessage)msgArray[0];
32-
}
33-
34-
Assert.Multiple(() =>
35-
{
36-
Assert.That(result.DataId, Is.EqualTo(expected.DataId));
37-
Assert.That(result.String, Is.EqualTo(expected.String));
38-
});
39-
});
23+
{
24+
using var stream = new MemoryStream();
25+
26+
serializer.Serialize(expected, stream);
27+
stream.Position = 0;
28+
29+
var msgArray = serializer.Deserialize(stream.ToArray());
30+
var result = (RequestDataMessage)msgArray[0];
31+
32+
Assert.That(result.DataId, Is.EqualTo(expected.DataId));
33+
Assert.That(result.String, Is.EqualTo(expected.String));
34+
});
4035
}
4136
}
4237

4338
public class RequestDataMessage : IMessage
4439
{
4540
public Guid DataId { get; set; }
41+
4642
public string String { get; set; }
4743
}

‎src/NServiceBus.Core.Tests/Serializers/XML/XmlSerializerCacheTests.cs

+3-5
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,10 @@ public void InitType_ShouldHandleConcurrentInitializations()
4444
cache.InitType(typeof(SimpleType));
4545

4646
var members = cache.typeMembers[typeof(SimpleType)];
47+
4748
Assert.That(members, Is.Not.Null);
48-
Assert.Multiple(() =>
49-
{
50-
Assert.That(members.Item1.Single().Name, Is.EqualTo(nameof(SimpleType.SimpleField)));
51-
Assert.That(members.Item2.Single().Name, Is.EqualTo(nameof(SimpleType.SimpleProperty)));
52-
});
49+
Assert.That(members.Item1.Single().Name, Is.EqualTo(nameof(SimpleType.SimpleField)));
50+
Assert.That(members.Item2.Single().Name, Is.EqualTo(nameof(SimpleType.SimpleProperty)));
5351
});
5452
}
5553
}

‎src/NServiceBus.Core/NServiceBus.Core.csproj

+5-9
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
</PropertyGroup>
1010

1111
<ItemGroup Label="Public dependencies">
12-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
13-
<PackageReference Include="Microsoft.Extensions.Diagnostics" Version="8.0.0" />
14-
<PackageReference Include="NServiceBus.MessageInterfaces" Version="[1.0.0, 2.0.0)" />
15-
<PackageReference Include="System.Security.Cryptography.Xml" Version="8.0.1" />
12+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" AutomaticVersionRange="false" />
13+
<PackageReference Include="Microsoft.Extensions.Diagnostics" Version="8.0.0" AutomaticVersionRange="false" />
14+
<PackageReference Include="NServiceBus.MessageInterfaces" Version="1.0.0" />
15+
<PackageReference Include="System.Security.Cryptography.Xml" Version="8.0.2" AutomaticVersionRange="false" />
1616
</ItemGroup>
1717

1818
<ItemGroup Label="Private dependencies">
@@ -21,11 +21,7 @@
2121
<PackageReference Include="Janitor.Fody" Version="1.9.0" PrivateAssets="All" />
2222
<PackageReference Include="Obsolete.Fody" Version="5.3.0" PrivateAssets="All" />
2323
<PackageReference Include="Particular.Licensing.Sources" Version="6.0.0" PrivateAssets="All" />
24-
<PackageReference Include="Particular.Packaging" Version="4.1.0" PrivateAssets="All" />
25-
</ItemGroup>
26-
27-
<ItemGroup Label="Direct references to transitive dependencies to avoid versions with CVE">
28-
<PackageReference Include="System.Formats.Asn1" Version="8.0.1" />
24+
<PackageReference Include="Particular.Packaging" Version="4.2.0" PrivateAssets="All" />
2925
</ItemGroup>
3026

3127
<PropertyGroup>

‎src/NServiceBus.Learning.AcceptanceTests/NServiceBus.Learning.AcceptanceTests.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111

1212
<ItemGroup>
1313
<PackageReference Include="GitHubActionsTestLogger" Version="2.4.1" />
14-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
14+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
1515
<PackageReference Include="NUnit.Analyzers" Version="4.3.0" />
1616
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0" />
17-
<PackageReference Include="Particular.Approvals" Version="1.0.0" />
17+
<PackageReference Include="Particular.Approvals" Version="2.0.0" />
1818
</ItemGroup>
1919

2020
<ItemGroup>

‎src/NServiceBus.PersistenceTests/NServiceBus.PersistenceTests.csproj

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212

1313
<ItemGroup>
1414
<PackageReference Include="GitHubActionsTestLogger" Version="2.4.1" PrivateAssets="All" />
15-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" PrivateAssets="All" />
16-
<PackageReference Include="NUnit" Version="[4.1.0, 5.0.0)" />
15+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" PrivateAssets="All" />
16+
<PackageReference Include="NUnit" Version="4.2.2" />
1717
<PackageReference Include="NUnit.Analyzers" Version="4.3.0" PrivateAssets="All" />
1818
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0" PrivateAssets="All" />
19-
<PackageReference Include="Particular.Packaging" Version="4.1.0" PrivateAssets="All" />
19+
<PackageReference Include="Particular.Packaging" Version="4.2.0" PrivateAssets="All" />
2020
</ItemGroup>
2121

2222
<PropertyGroup>

‎src/NServiceBus.TransportTests/NServiceBus.TransportTests.csproj

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010

1111
<ItemGroup>
1212
<PackageReference Include="GitHubActionsTestLogger" Version="2.4.1" PrivateAssets="All" />
13-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" PrivateAssets="All" />
14-
<PackageReference Include="NUnit" Version="[4.1.0, 5.0.0)" />
13+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" PrivateAssets="All" />
14+
<PackageReference Include="NUnit" Version="4.2.2" />
1515
<PackageReference Include="NUnit.Analyzers" Version="4.3.0" PrivateAssets="All" />
1616
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0" PrivateAssets="All" />
17-
<PackageReference Include="Particular.Packaging" Version="4.1.0" PrivateAssets="All" />
17+
<PackageReference Include="Particular.Packaging" Version="4.2.0" PrivateAssets="All" />
1818
</ItemGroup>
1919

2020
<PropertyGroup>
+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<Project>
2+
3+
<PropertyGroup>
4+
<AutomaticVersionRangesEnabled Condition="'$(AutomaticVersionRangesEnabled)' == '' And '$(Configuration)' == 'Debug'">false</AutomaticVersionRangesEnabled>
5+
<AutomaticVersionRangesEnabled Condition="'$(AutomaticVersionRangesEnabled)' == '' And '$(IsPackable)' == 'false'">false</AutomaticVersionRangesEnabled>
6+
<AutomaticVersionRangesEnabled Condition="'$(AutomaticVersionRangesEnabled)' == '' And '$(ManagePackageVersionsCentrally)' == 'true'">false</AutomaticVersionRangesEnabled>
7+
<AutomaticVersionRangesEnabled Condition="'$(AutomaticVersionRangesEnabled)' == ''">true</AutomaticVersionRangesEnabled>
8+
</PropertyGroup>
9+
10+
<UsingTask TaskName="ConvertToVersionRange" TaskFactory="RoslynCodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
11+
<Task>
12+
<Code Source="$(MSBuildThisFileDirectory)ConvertToVersionRange.cs" />
13+
</Task>
14+
</UsingTask>
15+
16+
<Target Name="ConvertProjectReferenceVersionsToVersionRanges" AfterTargets="_GetProjectReferenceVersions" Condition="'$(AutomaticVersionRangesEnabled)' == 'true'">
17+
<PropertyGroup>
18+
<NumberOfProjectReferences>@(_ProjectReferencesWithVersions->Count())</NumberOfProjectReferences>
19+
</PropertyGroup>
20+
<ConvertToVersionRange Condition="$(NumberOfProjectReferences) &gt; 0" References="@(_ProjectReferencesWithVersions)" VersionProperty="ProjectVersion">
21+
<Output TaskParameter="ReferencesWithVersionRanges" ItemName="_ProjectReferencesWithVersionRanges" />
22+
</ConvertToVersionRange>
23+
<ItemGroup Condition="$(NumberOfProjectReferences) &gt; 0">
24+
<_ProjectReferencesWithVersions Remove="@(_ProjectReferencesWithVersions)" />
25+
<_ProjectReferencesWithVersions Include="@(_ProjectReferencesWithVersionRanges)" />
26+
</ItemGroup>
27+
</Target>
28+
29+
<Target Name="ConvertPackageReferenceVersionsToVersionRanges" BeforeTargets="CollectPackageReferences" Condition="'$(AutomaticVersionRangesEnabled)' == 'true'">
30+
<PropertyGroup>
31+
<NumberOfPackageReferences>@(PackageReference->Count())</NumberOfPackageReferences>
32+
</PropertyGroup>
33+
<ConvertToVersionRange Condition="$(NumberOfPackageReferences) &gt; 0" References="@(PackageReference)" VersionProperty="Version">
34+
<Output TaskParameter="ReferencesWithVersionRanges" ItemName="_PackageReferencesWithVersionRanges" />
35+
</ConvertToVersionRange>
36+
<ItemGroup Condition="$(NumberOfPackageReferences) &gt; 0">
37+
<PackageReference Remove="@(PackageReference)" />
38+
<PackageReference Include="@(_PackageReferencesWithVersionRanges)" />
39+
</ItemGroup>
40+
</Target>
41+
42+
</Project>

‎src/msbuild/ConvertToVersionRange.cs

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
using System;
2+
using System.Text.RegularExpressions;
3+
using Microsoft.Build.Framework;
4+
using Microsoft.Build.Utilities;
5+
6+
public class ConvertToVersionRange : Task
7+
{
8+
[Required]
9+
public ITaskItem[] References { get; set; } = [];
10+
11+
[Required]
12+
public string VersionProperty { get; set; } = string.Empty;
13+
14+
[Output]
15+
public ITaskItem[] ReferencesWithVersionRanges { get; private set; } = [];
16+
17+
public override bool Execute()
18+
{
19+
var success = true;
20+
21+
foreach (var reference in References)
22+
{
23+
var automaticVersionRange = reference.GetMetadata("AutomaticVersionRange");
24+
25+
if (automaticVersionRange.Equals("false", StringComparison.OrdinalIgnoreCase))
26+
{
27+
continue;
28+
}
29+
30+
var privateAssets = reference.GetMetadata("PrivateAssets");
31+
32+
if (privateAssets.Equals("All", StringComparison.OrdinalIgnoreCase))
33+
{
34+
continue;
35+
}
36+
37+
var version = reference.GetMetadata(VersionProperty);
38+
var match = Regex.Match(version, @"^\d+");
39+
40+
if (match.Value.Equals(string.Empty, StringComparison.Ordinal))
41+
{
42+
Log.LogError("Reference '{0}' with version '{1}' is not valid for automatic version range conversion. Fix the version or exclude the reference from conversion by setting 'AutomaticVersionRange=\"false\"' on the reference.", reference.ItemSpec, version);
43+
success = false;
44+
continue;
45+
}
46+
47+
var nextMajor = Convert.ToInt32(match.Value) + 1;
48+
49+
var versionRange = $"[{version}, {nextMajor}.0.0)";
50+
reference.SetMetadata(VersionProperty, versionRange);
51+
}
52+
53+
ReferencesWithVersionRanges = References;
54+
55+
return success;
56+
}
57+
}

0 commit comments

Comments
 (0)
Please sign in to comment.