From 84d991ad36822403051c78fefce11bd7ee4bd129 Mon Sep 17 00:00:00 2001 From: Jordan Phillips Date: Fri, 16 Jan 2026 17:03:54 +1100 Subject: [PATCH 1/2] chore: migrate to sln to slnx format --- .gitignore | 1 + .../Giantnodes.Infrastructure.sln | 79 ------------------- .../Giantnodes.Infrastructure.slnx | 15 ++++ .../Giantnodes.Service.Runner.sln | 51 ------------ .../Giantnodes.Service.Runner.slnx | 10 +++ src/Service.Runner/global.json | 7 -- .../Giantnodes.Service.Supervisor.sln | 58 -------------- .../Giantnodes.Service.Supervisor.slnx | 11 +++ src/Service.Supervisor/global.json | 7 -- 9 files changed, 37 insertions(+), 202 deletions(-) delete mode 100644 src/Infrastructure/Giantnodes.Infrastructure.sln create mode 100644 src/Infrastructure/Giantnodes.Infrastructure.slnx delete mode 100644 src/Service.Runner/Giantnodes.Service.Runner.sln create mode 100644 src/Service.Runner/Giantnodes.Service.Runner.slnx delete mode 100644 src/Service.Runner/global.json delete mode 100644 src/Service.Supervisor/Giantnodes.Service.Supervisor.sln create mode 100644 src/Service.Supervisor/Giantnodes.Service.Supervisor.slnx delete mode 100644 src/Service.Supervisor/global.json diff --git a/.gitignore b/.gitignore index ea7ed6e..ff6a719 100644 --- a/.gitignore +++ b/.gitignore @@ -175,5 +175,6 @@ schema-settings.json # Nuke All.sln +All.slnx !.gitkeep diff --git a/src/Infrastructure/Giantnodes.Infrastructure.sln b/src/Infrastructure/Giantnodes.Infrastructure.sln deleted file mode 100644 index f1dc480..0000000 --- a/src/Infrastructure/Giantnodes.Infrastructure.sln +++ /dev/null @@ -1,79 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{753B7346-6559-4CEE-9E05-36CFE9A04C36}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Infrastructure", "src\Infrastructure\Giantnodes.Infrastructure.csproj", "{E2292CD5-630B-4843-8C74-22A12CEE54D5}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Infrastructure.EntityFrameworkCore", "src\EntityFrameworkCore\Giantnodes.Infrastructure.EntityFrameworkCore.csproj", "{43964ADD-BBA8-4862-9B81-2DF7BA8618B2}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Infrastructure.GraphQL", "src\GraphQL\Giantnodes.Infrastructure.GraphQL.csproj", "{5B6367BD-2D0B-49A9-B7C2-97C606B08D38}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Infrastructure.MassTransit", "src\MassTransit\Giantnodes.Infrastructure.MassTransit.csproj", "{B1D30DE2-6BD5-43E5-9F15-E000377D0B2F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Infrastructure.Pipelines", "src\Pipelines\Giantnodes.Infrastructure.Pipelines.csproj", "{82A2F103-819A-4E14-B287-2258C1ADB864}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Infrastructure.Pipelines.MassTransit", "src\Pipelines.MassTransit\Giantnodes.Infrastructure.Pipelines.MassTransit.csproj", "{369C30DE-C68E-41DA-8657-4FAF97026C1A}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{D573B0EF-D694-48AB-9DDF-62D5777BC1A2}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Infrastructure.Tests", "tests\Infrastructure.Tests\Giantnodes.Infrastructure.Tests.csproj", "{F1419FE8-12D2-487E-9F91-D005F4293B97}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Infrastructure.GraphQL.Tests", "tests\GraphQL.Tests\Giantnodes.Infrastructure.GraphQL.Tests.csproj", "{6E9DD63F-8C8C-429A-839B-49290707EF2A}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Infrastructure.Pipelines.Tests", "tests\Pipelines.Tests\Giantnodes.Infrastructure.Pipelines.Tests.csproj", "{739B0E9E-CA1B-4A76-9D75-BFA595B20E1E}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {E2292CD5-630B-4843-8C74-22A12CEE54D5} = {753B7346-6559-4CEE-9E05-36CFE9A04C36} - {5B6367BD-2D0B-49A9-B7C2-97C606B08D38} = {753B7346-6559-4CEE-9E05-36CFE9A04C36} - {F1419FE8-12D2-487E-9F91-D005F4293B97} = {D573B0EF-D694-48AB-9DDF-62D5777BC1A2} - {6E9DD63F-8C8C-429A-839B-49290707EF2A} = {D573B0EF-D694-48AB-9DDF-62D5777BC1A2} - {43964ADD-BBA8-4862-9B81-2DF7BA8618B2} = {753B7346-6559-4CEE-9E05-36CFE9A04C36} - {B1D30DE2-6BD5-43E5-9F15-E000377D0B2F} = {753B7346-6559-4CEE-9E05-36CFE9A04C36} - {82A2F103-819A-4E14-B287-2258C1ADB864} = {753B7346-6559-4CEE-9E05-36CFE9A04C36} - {369C30DE-C68E-41DA-8657-4FAF97026C1A} = {753B7346-6559-4CEE-9E05-36CFE9A04C36} - {739B0E9E-CA1B-4A76-9D75-BFA595B20E1E} = {D573B0EF-D694-48AB-9DDF-62D5777BC1A2} - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E2292CD5-630B-4843-8C74-22A12CEE54D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E2292CD5-630B-4843-8C74-22A12CEE54D5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E2292CD5-630B-4843-8C74-22A12CEE54D5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E2292CD5-630B-4843-8C74-22A12CEE54D5}.Release|Any CPU.Build.0 = Release|Any CPU - {5B6367BD-2D0B-49A9-B7C2-97C606B08D38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5B6367BD-2D0B-49A9-B7C2-97C606B08D38}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5B6367BD-2D0B-49A9-B7C2-97C606B08D38}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5B6367BD-2D0B-49A9-B7C2-97C606B08D38}.Release|Any CPU.Build.0 = Release|Any CPU - {F1419FE8-12D2-487E-9F91-D005F4293B97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F1419FE8-12D2-487E-9F91-D005F4293B97}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F1419FE8-12D2-487E-9F91-D005F4293B97}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F1419FE8-12D2-487E-9F91-D005F4293B97}.Release|Any CPU.Build.0 = Release|Any CPU - {6E9DD63F-8C8C-429A-839B-49290707EF2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6E9DD63F-8C8C-429A-839B-49290707EF2A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6E9DD63F-8C8C-429A-839B-49290707EF2A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6E9DD63F-8C8C-429A-839B-49290707EF2A}.Release|Any CPU.Build.0 = Release|Any CPU - {43964ADD-BBA8-4862-9B81-2DF7BA8618B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {43964ADD-BBA8-4862-9B81-2DF7BA8618B2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {43964ADD-BBA8-4862-9B81-2DF7BA8618B2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {43964ADD-BBA8-4862-9B81-2DF7BA8618B2}.Release|Any CPU.Build.0 = Release|Any CPU - {B1D30DE2-6BD5-43E5-9F15-E000377D0B2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B1D30DE2-6BD5-43E5-9F15-E000377D0B2F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B1D30DE2-6BD5-43E5-9F15-E000377D0B2F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B1D30DE2-6BD5-43E5-9F15-E000377D0B2F}.Release|Any CPU.Build.0 = Release|Any CPU - {82A2F103-819A-4E14-B287-2258C1ADB864}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {82A2F103-819A-4E14-B287-2258C1ADB864}.Debug|Any CPU.Build.0 = Debug|Any CPU - {82A2F103-819A-4E14-B287-2258C1ADB864}.Release|Any CPU.ActiveCfg = Release|Any CPU - {82A2F103-819A-4E14-B287-2258C1ADB864}.Release|Any CPU.Build.0 = Release|Any CPU - {369C30DE-C68E-41DA-8657-4FAF97026C1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {369C30DE-C68E-41DA-8657-4FAF97026C1A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {369C30DE-C68E-41DA-8657-4FAF97026C1A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {369C30DE-C68E-41DA-8657-4FAF97026C1A}.Release|Any CPU.Build.0 = Release|Any CPU - {739B0E9E-CA1B-4A76-9D75-BFA595B20E1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {739B0E9E-CA1B-4A76-9D75-BFA595B20E1E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {739B0E9E-CA1B-4A76-9D75-BFA595B20E1E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {739B0E9E-CA1B-4A76-9D75-BFA595B20E1E}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/src/Infrastructure/Giantnodes.Infrastructure.slnx b/src/Infrastructure/Giantnodes.Infrastructure.slnx new file mode 100644 index 0000000..95b412e --- /dev/null +++ b/src/Infrastructure/Giantnodes.Infrastructure.slnx @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/Service.Runner/Giantnodes.Service.Runner.sln b/src/Service.Runner/Giantnodes.Service.Runner.sln deleted file mode 100644 index 22d6ba8..0000000 --- a/src/Service.Runner/Giantnodes.Service.Runner.sln +++ /dev/null @@ -1,51 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CF908E06-9055-4B1D-8670-5B57849DB57B}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnode.Service.Runner.Contracts", "src\Contracts\Giantnodes.Service.Runner.Contracts.csproj", "{DC3DCBDA-6EAA-4689-8252-9DC08763DEE0}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Service.Runner.Components", "src\Components\Giantnodes.Service.Runner.Components.csproj", "{79C41281-28A6-4605-BD34-B18BF225B275}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Service.Runner.Console", "src\Console\Giantnodes.Service.Runner.Console.csproj", "{656C678C-6702-464E-A4A0-149F1F5956CC}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Service.Runner.Infrastructure", "src\Infrastructure\Giantnodes.Service.Runner.Infrastructure.csproj", "{12452350-5049-44C9-98E3-2FC609B32D5A}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Service.Runner.Persistence", "src\Persistence\Giantnodes.Service.Runner.Persistence.csproj", "{90538BA2-467D-41A5-96C2-CFF78C0C2F4E}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{A4B51B8B-DA6D-4144-9102-66F9ABA47CE4}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {656C678C-6702-464E-A4A0-149F1F5956CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {656C678C-6702-464E-A4A0-149F1F5956CC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {656C678C-6702-464E-A4A0-149F1F5956CC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {656C678C-6702-464E-A4A0-149F1F5956CC}.Release|Any CPU.Build.0 = Release|Any CPU - {79C41281-28A6-4605-BD34-B18BF225B275}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {79C41281-28A6-4605-BD34-B18BF225B275}.Debug|Any CPU.Build.0 = Debug|Any CPU - {79C41281-28A6-4605-BD34-B18BF225B275}.Release|Any CPU.ActiveCfg = Release|Any CPU - {79C41281-28A6-4605-BD34-B18BF225B275}.Release|Any CPU.Build.0 = Release|Any CPU - {DC3DCBDA-6EAA-4689-8252-9DC08763DEE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DC3DCBDA-6EAA-4689-8252-9DC08763DEE0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DC3DCBDA-6EAA-4689-8252-9DC08763DEE0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DC3DCBDA-6EAA-4689-8252-9DC08763DEE0}.Release|Any CPU.Build.0 = Release|Any CPU - {12452350-5049-44C9-98E3-2FC609B32D5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {12452350-5049-44C9-98E3-2FC609B32D5A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {12452350-5049-44C9-98E3-2FC609B32D5A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {12452350-5049-44C9-98E3-2FC609B32D5A}.Release|Any CPU.Build.0 = Release|Any CPU - {90538BA2-467D-41A5-96C2-CFF78C0C2F4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {90538BA2-467D-41A5-96C2-CFF78C0C2F4E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {90538BA2-467D-41A5-96C2-CFF78C0C2F4E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {90538BA2-467D-41A5-96C2-CFF78C0C2F4E}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {DC3DCBDA-6EAA-4689-8252-9DC08763DEE0} = {CF908E06-9055-4B1D-8670-5B57849DB57B} - {79C41281-28A6-4605-BD34-B18BF225B275} = {CF908E06-9055-4B1D-8670-5B57849DB57B} - {656C678C-6702-464E-A4A0-149F1F5956CC} = {CF908E06-9055-4B1D-8670-5B57849DB57B} - {12452350-5049-44C9-98E3-2FC609B32D5A} = {CF908E06-9055-4B1D-8670-5B57849DB57B} - {90538BA2-467D-41A5-96C2-CFF78C0C2F4E} = {CF908E06-9055-4B1D-8670-5B57849DB57B} - EndGlobalSection -EndGlobal diff --git a/src/Service.Runner/Giantnodes.Service.Runner.slnx b/src/Service.Runner/Giantnodes.Service.Runner.slnx new file mode 100644 index 0000000..3dbddf9 --- /dev/null +++ b/src/Service.Runner/Giantnodes.Service.Runner.slnx @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/Service.Runner/global.json b/src/Service.Runner/global.json deleted file mode 100644 index 90b3042..0000000 --- a/src/Service.Runner/global.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "sdk": { - "version": "9.0.0", - "rollForward": "latestFeature", - "allowPrerelease": false - } -} \ No newline at end of file diff --git a/src/Service.Supervisor/Giantnodes.Service.Supervisor.sln b/src/Service.Supervisor/Giantnodes.Service.Supervisor.sln deleted file mode 100644 index 509c90f..0000000 --- a/src/Service.Supervisor/Giantnodes.Service.Supervisor.sln +++ /dev/null @@ -1,58 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{A0A48802-B3A0-4051-B59F-35DE107CEAE3}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Service.Supervisor.Components", "src\Components\Giantnodes.Service.Supervisor.Components.csproj", "{4BE5E993-2D45-4E68-9992-022C17D528EE}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Service.Supervisor.Contracts", "src\Contracts\Giantnodes.Service.Supervisor.Contracts.csproj", "{C791BD81-D7AC-4D2B-B78B-2227CB8AEA33}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Service.Supervisor.Domain", "src\Domain\Giantnodes.Service.Supervisor.Domain.csproj", "{495900F9-2989-4FF7-BC58-EA9DBA1E08DA}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Service.Supervisor.HttpApi", "src\HttpApi\Giantnodes.Service.Supervisor.HttpApi.csproj", "{0D4003B2-6FD1-4960-B946-66B79B144539}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Service.Supervisor.Infrastructure", "src\Infrastructure\Giantnodes.Service.Supervisor.Infrastructure.csproj", "{ECA57E3A-56B3-4C1F-935C-28F08DCEDB33}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Giantnodes.Service.Supervisor.Persistence", "src\Persistence\Giantnodes.Service.Supervisor.Persistence.csproj", "{1AB485FB-360B-4807-A90B-C5E9FDD773ED}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{F54980CD-4C04-48EC-9B7C-997739D312E9}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {0D4003B2-6FD1-4960-B946-66B79B144539} = {A0A48802-B3A0-4051-B59F-35DE107CEAE3} - {495900F9-2989-4FF7-BC58-EA9DBA1E08DA} = {A0A48802-B3A0-4051-B59F-35DE107CEAE3} - {4BE5E993-2D45-4E68-9992-022C17D528EE} = {A0A48802-B3A0-4051-B59F-35DE107CEAE3} - {1AB485FB-360B-4807-A90B-C5E9FDD773ED} = {A0A48802-B3A0-4051-B59F-35DE107CEAE3} - {C791BD81-D7AC-4D2B-B78B-2227CB8AEA33} = {A0A48802-B3A0-4051-B59F-35DE107CEAE3} - {ECA57E3A-56B3-4C1F-935C-28F08DCEDB33} = {A0A48802-B3A0-4051-B59F-35DE107CEAE3} - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {0D4003B2-6FD1-4960-B946-66B79B144539}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0D4003B2-6FD1-4960-B946-66B79B144539}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0D4003B2-6FD1-4960-B946-66B79B144539}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0D4003B2-6FD1-4960-B946-66B79B144539}.Release|Any CPU.Build.0 = Release|Any CPU - {495900F9-2989-4FF7-BC58-EA9DBA1E08DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {495900F9-2989-4FF7-BC58-EA9DBA1E08DA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {495900F9-2989-4FF7-BC58-EA9DBA1E08DA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {495900F9-2989-4FF7-BC58-EA9DBA1E08DA}.Release|Any CPU.Build.0 = Release|Any CPU - {4BE5E993-2D45-4E68-9992-022C17D528EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4BE5E993-2D45-4E68-9992-022C17D528EE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4BE5E993-2D45-4E68-9992-022C17D528EE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4BE5E993-2D45-4E68-9992-022C17D528EE}.Release|Any CPU.Build.0 = Release|Any CPU - {1AB485FB-360B-4807-A90B-C5E9FDD773ED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1AB485FB-360B-4807-A90B-C5E9FDD773ED}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1AB485FB-360B-4807-A90B-C5E9FDD773ED}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1AB485FB-360B-4807-A90B-C5E9FDD773ED}.Release|Any CPU.Build.0 = Release|Any CPU - {C791BD81-D7AC-4D2B-B78B-2227CB8AEA33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C791BD81-D7AC-4D2B-B78B-2227CB8AEA33}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C791BD81-D7AC-4D2B-B78B-2227CB8AEA33}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C791BD81-D7AC-4D2B-B78B-2227CB8AEA33}.Release|Any CPU.Build.0 = Release|Any CPU - {ECA57E3A-56B3-4C1F-935C-28F08DCEDB33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ECA57E3A-56B3-4C1F-935C-28F08DCEDB33}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ECA57E3A-56B3-4C1F-935C-28F08DCEDB33}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ECA57E3A-56B3-4C1F-935C-28F08DCEDB33}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/src/Service.Supervisor/Giantnodes.Service.Supervisor.slnx b/src/Service.Supervisor/Giantnodes.Service.Supervisor.slnx new file mode 100644 index 0000000..3d85dd0 --- /dev/null +++ b/src/Service.Supervisor/Giantnodes.Service.Supervisor.slnx @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/Service.Supervisor/global.json b/src/Service.Supervisor/global.json deleted file mode 100644 index 90b3042..0000000 --- a/src/Service.Supervisor/global.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "sdk": { - "version": "9.0.0", - "rollForward": "latestFeature", - "allowPrerelease": false - } -} \ No newline at end of file From b8266781f738b6afe494687787adf1141752c194 Mon Sep 17 00:00:00 2001 From: Jordan Phillips Date: Fri, 16 Jan 2026 17:05:16 +1100 Subject: [PATCH 2/2] fix: all.slnx solution containing project sub-directories --- .build/Build.Environment.cs | 6 ++-- .build/Build.cs | 61 ++++++++++++++++++++++++++----------- .build/Helpers.cs | 57 +++++++++++++++++++++------------- .nuke/build.schema.json | 6 ++-- 4 files changed, 85 insertions(+), 45 deletions(-) diff --git a/.build/Build.Environment.cs b/.build/Build.Environment.cs index a9a5b8d..1a422c0 100644 --- a/.build/Build.Environment.cs +++ b/.build/Build.Environment.cs @@ -1,8 +1,8 @@ -using Nuke.Common.IO; +using Nuke.Common.IO; partial class Build { AbsolutePath SourceDirectory => RootDirectory / "src"; - AbsolutePath AllSolutionFile => SourceDirectory / "All.sln"; -} \ No newline at end of file + AbsolutePath AllSolutionFile => SourceDirectory / "All.slnx"; +} diff --git a/.build/Build.cs b/.build/Build.cs index c8e37bf..2939cef 100644 --- a/.build/Build.cs +++ b/.build/Build.cs @@ -2,33 +2,36 @@ using System.Linq; using Newtonsoft.Json; using Nuke.Common; +using Nuke.Common.IO; using Nuke.Common.ProjectModel; using Nuke.Common.Tools.DotNet; +using Nuke.Common.Utilities.Collections; using static Nuke.Common.Tools.DotNet.DotNetTasks; +using static Helpers; partial class Build : NukeBuild { - /// Support plugins are available for: - /// - JetBrains ReSharper https://nuke.build/resharper - /// - JetBrains Rider https://nuke.build/rider - /// - Microsoft VisualStudio https://nuke.build/visualstudio - /// - Microsoft VSCode https://nuke.build/vscode public static int Main() => Execute(x => x.Compile); [Parameter("Configuration to build - Default is 'Debug' (local) or 'Release' (server)")] - private readonly Configuration _configuration = IsLocalBuild ? Configuration.Debug : Configuration.Release; + readonly Configuration Configuration = IsLocalBuild ? Configuration.Debug : Configuration.Release; Target Clean => _ => _ .Before(Restore) .Executes(() => { + SourceDirectory + .GlobDirectories("**/bin", "**/obj") + .ForEach(x => x.DeleteDirectory()); }); Target Restore => _ => _ .Executes(() => { - Helpers.DotNetBuildSolution(AllSolutionFile); - DotNetRestore(x => x.SetProjectFile(AllSolutionFile)); + EnsureSolutionExists(AllSolutionFile); + + DotNetRestore(s => s + .SetProjectFile(AllSolutionFile)); }); Target Compile => _ => _ @@ -36,32 +39,54 @@ partial class Build : NukeBuild .Executes(() => { if (!InvokedTargets.Contains(Restore)) - Helpers.DotNetBuildSolution(AllSolutionFile); + EnsureSolutionExists(AllSolutionFile); + + DotNetBuild(s => s + .SetProjectFile(AllSolutionFile) + .SetConfiguration(Configuration) + .SetNoRestore(InvokedTargets.Contains(Restore))); + }); - DotNetBuild(c => c + Target Test => _ => _ + .DependsOn(Compile) + .Executes(() => + { + DotNetTest(s => s .SetProjectFile(AllSolutionFile) - .SetNoRestore(InvokedTargets.Contains(Restore)) - .SetConfiguration(_configuration)); + .SetConfiguration(Configuration) + .SetNoBuild(InvokedTargets.Contains(Compile)) + .SetNoRestore(InvokedTargets.Contains(Restore))); + }); + + Target Reset => _ => _ + .Executes(() => + { + TryDelete(AllSolutionFile); + EnsureSolutionExists(AllSolutionFile); + + DotNetRestore(s => s + .SetProjectFile(AllSolutionFile)); }); Target MatrixGenerate => _ => _ .Executes(() => { - Helpers.DotNetBuildSolution(AllSolutionFile); - var all = AllSolutionFile.ReadSolution(); + EnsureSolutionExists(AllSolutionFile); + var solution = AllSolutionFile.ReadSolution(); var matrix = new { - include = all + include = solution .GetAllProjects("*.Tests") .Select(p => new { name = Path.GetFileNameWithoutExtension(p.Path), - path = Path.GetRelativePath(RootDirectory, p.Path), + path = RootDirectory.GetRelativePathTo(p.Path).ToString(), directoryPath = Path.GetDirectoryName(p.Path) - }).ToArray() + }) + .ToArray() }; - File.WriteAllText(RootDirectory / "matrix.json", JsonConvert.SerializeObject(matrix)); + File.WriteAllText(RootDirectory / "matrix.json", JsonConvert.SerializeObject(matrix, Formatting.Indented)); }); } diff --git a/.build/Helpers.cs b/.build/Helpers.cs index 696e2cd..a33b904 100644 --- a/.build/Helpers.cs +++ b/.build/Helpers.cs @@ -1,44 +1,57 @@ -using System; using System.Collections.Generic; using System.IO; using System.Linq; -using Nuke.Common.Tooling; +using Nuke.Common.IO; using Nuke.Common.Tools.DotNet; static class Helpers { - static readonly string[] s_directories = + static readonly string[] Directories = [ "Infrastructure", "Service.Runner", "Service.Supervisor" ]; - static IEnumerable GetAllProjects(string source, IEnumerable directories) + public static void EnsureSolutionExists(AbsolutePath path) { - return directories - .Select(directory => Path.Combine(source, directory)) - .SelectMany(path => Directory.EnumerateFiles(path, "*.csproj", SearchOption.AllDirectories)); - } + if (File.Exists(path)) + return; - public static IReadOnlyCollection DotNetBuildSolution(string solution) - { - if (File.Exists(solution)) - return Array.Empty(); + var solution = Path.GetFileNameWithoutExtension(path); - var root = Path.GetDirectoryName(solution); - if (string.IsNullOrWhiteSpace(root)) - return Array.Empty(); + DotNetTasks.DotNet($"new sln -n {solution} --format slnx", path.Parent); - var projects = GetAllProjects(root, s_directories); - var working = Path.GetDirectoryName(solution); + foreach (var (folder, projects) in GetProjectsByFolder(path.Parent)) + { + var args = string.Join(" ", projects.Select(p => $"\"{p}\"")); + DotNetTasks.DotNet($"sln \"{path}\" add --solution-folder \"{folder}\" {args}", path.Parent); + } + } - var list = new List(); + public static void TryDelete(AbsolutePath file) + { + if (File.Exists(file)) + File.Delete(file); + } - var args = string.Join(" ", projects.Select(t => $"\"{t}\"")); - list.AddRange(DotNetTasks.DotNet($"new sln -n {Path.GetFileNameWithoutExtension(solution)} --format sln", working)); - list.AddRange(DotNetTasks.DotNet($"sln \"{solution}\" add {args}", working)); + static IEnumerable<(string Folder, List Projects)> GetProjectsByFolder(AbsolutePath path) + { + return Directories + .Select(directory => path / directory) + .Where(path => Directory.Exists(path)) + .SelectMany(directory => Directory.EnumerateFiles(directory, "*.csproj", SearchOption.AllDirectories)) + .GroupBy(project => GetSolutionFolder(path, project)) + .Select(group => (group.Key, group.ToList())); + } + + static string GetSolutionFolder(AbsolutePath path, string project) + { + var relative = Path.GetRelativePath(path, project); + var parts = relative.Replace('\\', '/').Split('/'); - return list; + // structure: TopLevelDir/Category/ProjectFolder/Project.csproj + // returns: TopLevelDir/Category (e.g., "Infrastructure/src") + return parts.Length >= 2 ? $"{parts[0]}/{parts[1]}" : parts[0]; } } diff --git a/.nuke/build.schema.json b/.nuke/build.schema.json index e26ab69..846aa27 100644 --- a/.nuke/build.schema.json +++ b/.nuke/build.schema.json @@ -27,7 +27,9 @@ "Clean", "Compile", "MatrixGenerate", - "Restore" + "Reset", + "Restore", + "Test" ] }, "Verbosity": { @@ -101,7 +103,7 @@ "allOf": [ { "properties": { - "_configuration": { + "Configuration": { "type": "string", "description": "Configuration to build - Default is 'Debug' (local) or 'Release' (server)", "enum": [