Skip to content

Commit 6c6545d

Browse files
JerrettDavisclaude
andauthored
chore: migrate to Central Package Management (CPM) (#134)
Move all package version declarations from individual .csproj files into Directory.Packages.props for centralized version management. All projects now reference packages without explicit versions. Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent e29710f commit 6c6545d

File tree

10 files changed

+92
-51
lines changed

10 files changed

+92
-51
lines changed

Directory.Packages.props

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<Project>
2+
<PropertyGroup>
3+
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
4+
</PropertyGroup>
5+
<ItemGroup>
6+
<PackageVersion Include="AWSSDK.Core" Version="4.0.3.21" />
7+
<PackageVersion Include="coverlet.collector" Version="8.0.1" />
8+
<PackageVersion Include="FirebirdSql.Data.FirebirdClient" Version="10.3.4" />
9+
<PackageVersion Include="FluentAssertions" Version="8.9.0" />
10+
<PackageVersion Include="JD.MSBuild.Fluent" Version="1.3.15" />
11+
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="10.0.1" />
12+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.1" />
13+
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="10.0.1" />
14+
<PackageVersion Include="System.ComponentModel.Annotations" Version="5.0.0" />
15+
<PackageVersion Include="Microsoft.Build.Framework" Version="18.4.0" />
16+
<PackageVersion Include="Microsoft.Build.Locator" Version="1.11.2" />
17+
<PackageVersion Include="Microsoft.Build.Utilities.Core" Version="18.4.0" />
18+
<PackageVersion Include="Microsoft.Data.SqlClient" Version="7.0.0" />
19+
<PackageVersion Include="Microsoft.Data.Sqlite.Core" Version="9.0.14" />
20+
<PackageVersion Include="Microsoft.NET.StringTools" Version="18.4.0" />
21+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
22+
<PackageVersion Include="MySqlConnector" Version="2.5.0" />
23+
<PackageVersion Include="Npgsql" Version="9.0.5" />
24+
<PackageVersion Include="Oracle.ManagedDataAccess" Version="23.26.100" />
25+
<PackageVersion Include="Oracle.ManagedDataAccess.Core" Version="23.26.100" />
26+
<PackageVersion Include="PatternKit.Core" Version="0.34.4" />
27+
<PackageVersion Include="PolySharp" Version="1.15.0" />
28+
<PackageVersion Include="Snowflake.Data" Version="5.4.1" />
29+
<PackageVersion Include="SQLitePCLRaw.bundle_e_sqlite3" Version="3.0.2" />
30+
<PackageVersion Include="System.IO.Hashing" Version="10.0.5" />
31+
<PackageVersion Include="Testcontainers.FirebirdSql" Version="4.11.0" />
32+
<PackageVersion Include="Testcontainers.MsSql" Version="4.11.0" />
33+
<PackageVersion Include="Testcontainers.MySql" Version="4.11.0" />
34+
<PackageVersion Include="Testcontainers.Oracle" Version="4.11.0" />
35+
<PackageVersion Include="Testcontainers.PostgreSql" Version="4.11.0" />
36+
<PackageVersion Include="TinyBDD.Xunit" Version="0.19.9" />
37+
<PackageVersion Include="xunit" Version="2.9.3" />
38+
<PackageVersion Include="Xunit.SkippableFact" Version="1.5.61" />
39+
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
40+
</ItemGroup>
41+
</Project>

src/JD.Efcpt.Build.Definitions/JD.Efcpt.Build.Definitions.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
</ItemGroup>
3030

3131
<ItemGroup>
32-
<PackageReference Include="JD.MSBuild.Fluent" Version="1.3.15" />
32+
<PackageReference Include="JD.MSBuild.Fluent" />
3333
</ItemGroup>
3434

3535
</Project>

src/JD.Efcpt.Build.Tasks/JD.Efcpt.Build.Tasks.csproj

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,24 +33,24 @@
3333
MSBuild packages: Use ExcludeAssets="runtime" to prevent copying to output.
3434
These assemblies are provided by the MSBuild host (Visual Studio/dotnet).
3535
-->
36-
<PackageReference Include="Microsoft.Build.Framework" Version="18.4.0" ExcludeAssets="runtime" />
37-
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="18.4.0" ExcludeAssets="runtime" />
38-
<PackageReference Include="PatternKit.Core" Version="0.34.4" />
39-
<PackageReference Include="System.IO.Hashing" Version="10.0.5" />
36+
<PackageReference Include="Microsoft.Build.Framework" ExcludeAssets="runtime" />
37+
<PackageReference Include="Microsoft.Build.Utilities.Core" ExcludeAssets="runtime" />
38+
<PackageReference Include="PatternKit.Core" />
39+
<PackageReference Include="System.IO.Hashing" />
4040
</ItemGroup>
4141

4242
<!--
4343
Database Provider Packages (build-time only, not runtime dependencies for consumers).
4444
These packages work across all target frameworks.
4545
-->
4646
<ItemGroup>
47-
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.1.4" />
48-
<PackageReference Include="MySqlConnector" Version="2.5.0" />
49-
<PackageReference Include="Microsoft.Data.Sqlite.Core" Version="9.0.14" />
50-
<PackageReference Include="FirebirdSql.Data.FirebirdClient" Version="10.3.4" />
51-
<PackageReference Include="Snowflake.Data" Version="5.4.1" />
47+
<PackageReference Include="Microsoft.Data.SqlClient" VersionOverride="6.1.4" />
48+
<PackageReference Include="MySqlConnector" />
49+
<PackageReference Include="Microsoft.Data.Sqlite.Core" />
50+
<PackageReference Include="FirebirdSql.Data.FirebirdClient" />
51+
<PackageReference Include="Snowflake.Data" />
5252
<!-- Override vulnerable AWSSDK.Core transitive dependency from Snowflake.Data -->
53-
<PackageReference Include="AWSSDK.Core" Version="4.0.3.18" />
53+
<PackageReference Include="AWSSDK.Core" VersionOverride="4.0.3.18" />
5454
</ItemGroup>
5555

5656
<!--
@@ -59,20 +59,20 @@
5959
Oracle.ManagedDataAccess.Core is .NET Core only; use full framework package for net472.
6060
-->
6161
<ItemGroup Condition="'$(TargetFramework)' == 'net472'">
62-
<PackageReference Include="Npgsql" Version="8.0.9" />
63-
<PackageReference Include="Oracle.ManagedDataAccess" Version="23.26.100" />
62+
<PackageReference Include="Npgsql" VersionOverride="8.0.9" />
63+
<PackageReference Include="Oracle.ManagedDataAccess" />
6464
</ItemGroup>
6565

6666
<ItemGroup Condition="'$(TargetFramework)' != 'net472'">
67-
<PackageReference Include="Npgsql" Version="9.0.5" />
68-
<PackageReference Include="Oracle.ManagedDataAccess.Core" Version="23.26.100" />
67+
<PackageReference Include="Npgsql" />
68+
<PackageReference Include="Oracle.ManagedDataAccess.Core" />
6969
</ItemGroup>
7070

7171
<!--
7272
Polyfills for net472: provides IsExternalInit, init accessors, etc.
7373
-->
7474
<ItemGroup Condition="'$(TargetFramework)' == 'net472'">
75-
<PackageReference Include="PolySharp" Version="1.15.0">
75+
<PackageReference Include="PolySharp">
7676
<PrivateAssets>all</PrivateAssets>
7777
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
7878
</PackageReference>

src/JD.Efcpt.Build/JD.Efcpt.Build.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
</PropertyGroup>
3939

4040
<ItemGroup>
41-
<PackageReference Include="JD.MSBuild.Fluent" Version="1.3.15" />
41+
<PackageReference Include="JD.MSBuild.Fluent" />
4242

4343
<!-- Reference Tasks project to use nameof() for type safety -->
4444
<ProjectReference Include="../JD.Efcpt.Build.Tasks/JD.Efcpt.Build.Tasks.csproj"
@@ -103,7 +103,7 @@
103103
</Target>
104104

105105
<ItemGroup>
106-
<PackageReference Include="Microsoft.Data.SqlClient" Version="7.0.0" />
106+
<PackageReference Include="Microsoft.Data.SqlClient" />
107107
<None Include="defaults/**/*.*" Pack="true" PackagePath="build/Defaults" />
108108
</ItemGroup>
109109

src/JD.Efcpt.Sdk/JD.Efcpt.Sdk.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
<!-- Add JD.MSBuild.Fluent package reference -->
3838
<ItemGroup>
39-
<PackageReference Include="JD.MSBuild.Fluent" Version="1.3.15" />
39+
<PackageReference Include="JD.MSBuild.Fluent" />
4040
</ItemGroup>
4141

4242
<!-- Reference JD.Efcpt.Build.Tasks to ensure it's built before packing -->

tests/JD.Efcpt.Build.Tests/JD.Efcpt.Build.Tests.csproj

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,37 +16,37 @@
1616
</ItemGroup>
1717

1818
<ItemGroup>
19-
<PackageReference Include="coverlet.collector" Version="8.0.1" />
20-
<PackageReference Include="Microsoft.Build.Locator" Version="1.11.2">
19+
<PackageReference Include="coverlet.collector" />
20+
<PackageReference Include="Microsoft.Build.Locator">
2121
<PrivateAssets>all</PrivateAssets>
2222
</PackageReference>
23-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
24-
<PackageReference Include="Microsoft.Build.Framework" Version="18.4.0">
23+
<PackageReference Include="Microsoft.NET.Test.Sdk" />
24+
<PackageReference Include="Microsoft.Build.Framework">
2525
<ExcludeAssets>runtime</ExcludeAssets>
2626
<PrivateAssets>all</PrivateAssets>
2727
</PackageReference>
28-
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="18.4.0">
28+
<PackageReference Include="Microsoft.Build.Utilities.Core">
2929
<ExcludeAssets>runtime</ExcludeAssets>
3030
<PrivateAssets>all</PrivateAssets>
3131
</PackageReference>
32-
<PackageReference Include="Microsoft.NET.StringTools" Version="18.4.0">
32+
<PackageReference Include="Microsoft.NET.StringTools">
3333
<ExcludeAssets>runtime</ExcludeAssets>
3434
<PrivateAssets>all</PrivateAssets>
3535
</PackageReference>
36-
<PackageReference Include="Testcontainers.MsSql" Version="4.11.0" />
37-
<PackageReference Include="Testcontainers.PostgreSql" Version="4.11.0" />
38-
<PackageReference Include="Testcontainers.MySql" Version="4.11.0" />
39-
<PackageReference Include="Testcontainers.FirebirdSql" Version="4.11.0" />
40-
<PackageReference Include="Testcontainers.Oracle" Version="4.11.0" />
41-
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="3.0.2" />
42-
<PackageReference Include="TinyBDD.Xunit" Version="0.19.9" />
43-
<PackageReference Include="xunit" Version="2.9.3" />
44-
<PackageReference Include="Xunit.SkippableFact" Version="1.5.61" />
45-
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
36+
<PackageReference Include="Testcontainers.MsSql" />
37+
<PackageReference Include="Testcontainers.PostgreSql" />
38+
<PackageReference Include="Testcontainers.MySql" />
39+
<PackageReference Include="Testcontainers.FirebirdSql" />
40+
<PackageReference Include="Testcontainers.Oracle" />
41+
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" />
42+
<PackageReference Include="TinyBDD.Xunit" />
43+
<PackageReference Include="xunit" />
44+
<PackageReference Include="Xunit.SkippableFact" />
45+
<PackageReference Include="xunit.runner.visualstudio">
4646
<PrivateAssets>all</PrivateAssets>
4747
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
4848
</PackageReference>
4949
<!-- Override vulnerable AWSSDK.Core transitive dependency -->
50-
<PackageReference Include="AWSSDK.Core" Version="4.0.3.21" />
50+
<PackageReference Include="AWSSDK.Core" />
5151
</ItemGroup>
5252
</Project>

tests/JD.Efcpt.Sdk.IntegrationTests/JD.Efcpt.Sdk.IntegrationTests.csproj

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@
1010
</PropertyGroup>
1111

1212
<ItemGroup>
13-
<PackageReference Include="coverlet.collector" Version="8.0.1" />
14-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
15-
<PackageReference Include="xunit" Version="2.9.3" />
16-
<PackageReference Include="Xunit.SkippableFact" Version="1.5.61" />
17-
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
13+
<PackageReference Include="coverlet.collector" />
14+
<PackageReference Include="Microsoft.NET.Test.Sdk" />
15+
<PackageReference Include="xunit" />
16+
<PackageReference Include="Xunit.SkippableFact" />
17+
<PackageReference Include="xunit.runner.visualstudio">
1818
<PrivateAssets>all</PrivateAssets>
1919
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2020
</PackageReference>
21-
<PackageReference Include="FluentAssertions" Version="8.9.0" />
22-
<PackageReference Include="Testcontainers.MsSql" Version="4.11.0" />
23-
<PackageReference Include="Microsoft.Data.SqlClient" Version="7.0.0" />
21+
<PackageReference Include="FluentAssertions" />
22+
<PackageReference Include="Testcontainers.MsSql" />
23+
<PackageReference Include="Microsoft.Data.SqlClient" />
2424
</ItemGroup>
2525

2626
<!-- Include test fixtures as content -->

tests/TestAssets/SampleApp/Sample.App.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@
2323
</ItemGroup>
2424

2525
<ItemGroup>
26-
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.1" />
27-
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.1">
26+
<PackageReference Include="Microsoft.EntityFrameworkCore" />
27+
<PackageReference Include="Microsoft.EntityFrameworkCore.Design">
2828
<PrivateAssets>all</PrivateAssets>
2929
</PackageReference>
30-
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="10.0.1" />
30+
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" />
3131
</ItemGroup>
3232

3333
<Import Project="$(EfcptBuildRoot)JD.Efcpt.Build.targets" />

tests/TestAssets/SplitOutputs/Sample.Data/Sample.Data.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@
3838

3939
<!-- EF Core dependencies for DbContext -->
4040
<ItemGroup>
41-
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.0" />
42-
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.0">
41+
<PackageReference Include="Microsoft.EntityFrameworkCore" VersionOverride="8.0.0" />
42+
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" VersionOverride="8.0.0">
4343
<PrivateAssets>all</PrivateAssets>
4444
</PackageReference>
45-
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.0" />
45+
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" VersionOverride="8.0.0" />
4646
</ItemGroup>
4747

4848
<Import Project="$(EfcptBuildRoot)JD.Efcpt.Build.targets" />

tests/TestAssets/SplitOutputs/Sample.Models/Sample.Models.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
<!-- No EF Core dependencies - just plain POCOs with DataAnnotations -->
2020
<ItemGroup>
21-
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
21+
<PackageReference Include="System.ComponentModel.Annotations" />
2222
</ItemGroup>
2323

2424
<Import Project="$(EfcptBuildRoot)JD.Efcpt.Build.targets" />

0 commit comments

Comments
 (0)