Conversation
…ve `net7.0` from build matrices and add `net10.0` where appropriate.'
…ltaSoft.DomainPrimitives.csproj'
…waggerExtensions\AltaSoft.DomainPrimitives.SwaggerExtensions.csproj'
…mlDataTypes\AltaSoft.DomainPrimitives.XmlDataTypes.csproj'
….UnitTests\AltaSoft.DomainPrimitives.UnitTests.csproj'
….Generator.Tests\AltaSoft.DomainPrimitives.Generator.Tests.csproj'
….XmlDataTypes.Tests\AltaSoft.DomainPrimitives.XmlDataTypes.Tests.csproj'
Corrected flag assignment in `DomainPrimitiveGenerator`. Added explicit operator generation, refactored helpers, and updated generated code. Added tests for disabled operator scenarios.
Enabled central package management, aligned dependency versions, and updated target frameworks to net8.0-net10.0. Simplified project files and improved NuGet metadata.
Enabled central package management. Added domain primitive schema transformers, refactored Swagger mappings, and introduced helper classes for OpenAPI processing.
Added nullable support, validation attributes, and schema updates.
Aligned method names across files and removed unnecessary null check in `DomainPrimitiveOpenApiSchemaTransformer`.
Refactored `GetOpenApiTypeAndFormat` to use a switch statement and added mappings for additional types. Introduced `DomainPrimitiveOpenApiReflectionTransformer` for schema generation via reflection. Updated test schemas to align with new formats.
Added AltaSoft.DomainPrimitives.OpenApiExtensions and updated demo and solution files to use it. Removed related logic from SwaggerExtensions.
There was a problem hiding this comment.
Pull request overview
This pull request successfully upgrades the codebase to support .NET 10.0 and introduces significant improvements to package management, OpenAPI integration, and code generation capabilities.
Key Changes:
- Framework upgrade to support net8.0, net9.0, and net10.0 (removing net7.0)
- Introduction of centralized package management via Directory.Packages.props
- New OpenAPI extensions project with schema transformers for native OpenAPI support
- Enhanced code generation with configurable flags for implicit operators and numeric operations
- CI/CD workflow updates to build and test against the new framework versions
Reviewed changes
Copilot reviewed 103 out of 106 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| Directory.Packages.props | Implements central package management for consistent NuGet versioning across the solution |
| Directory.Build.props | Adds default target frameworks, source link support, and deterministic build settings |
| .github/workflows/*.yml | Updates CI workflows to remove net7.0 and add net10.0 to build matrices |
| src/AltaSoft.DomainPrimitives.Generator | Refactors OpenAPI helper generation, adds flags for controlling operator generation |
| src/AltaSoft.DomainPrimitives.OpenApiExtensions | New project providing OpenAPI schema transformers for .NET 10's native OpenAPI support |
| src/AltaSoft.DomainPrimitives.SwaggerExtensions | Refactored to use OpenApiHelperProcessor for better code reuse |
| tests/**/*.csproj | Upgraded test projects to target net10.0, centralized package versions |
| Examples/AltaSoft.DomainPrimitives.Demo | Enhanced demo with nullable variants, Scalar UI integration, and OpenAPI transformer usage |
| README.md | Updated documentation covering .NET 10 support, new generation flags, and OpenAPI integration |
Critical Issues Found:
- Three project files (.csproj) appear to have file encoding corruption that needs to be addressed
- Documentation has property name inconsistencies that need correction
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
README.md
Outdated
| <!-- Disable specific converters --> | ||
| <DomainPrimitiveGenerator_GenerateJsonConverters>false</DomainPrimitiveGenerator_GenerateJsonConverters> | ||
| <DomainPrimitiveGenerator_GenerateTypeConverters>false</DomainPrimitiveGenerator_GenerateTypeConverters> | ||
| <DomainPrimitiveGenerator_GenerateSwaggerConverters>false</DomainPrimitiveGenerator_GenerateSwaggerConverters> |
There was a problem hiding this comment.
The property name in the README is incorrect. It should be DomainPrimitiveGenerator_GenerateOpenApiHelper instead of DomainPrimitiveGenerator_GenerateSwaggerConverters to match the actual property name used in the codebase.
There was a problem hiding this comment.
@copilot open a new pull request to apply changes based on this feedback
| foreach (var reference in assembly.GetReferencedAssemblies()) | ||
| { | ||
| if (loadedAssemblies.Contains(reference.FullName) || IsSystemAssembly(reference.FullName)) | ||
| continue; | ||
|
|
||
| var loadedAssembly = Assembly.Load(reference); | ||
| assembliesToCheck.Enqueue(loadedAssembly); | ||
| loadedAssemblies.Add(reference.FullName); | ||
| } |
There was a problem hiding this comment.
This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
@copilot can you remove: .github/upgrades/dotnet-upgrade-plan.md |
Co-authored-by: temonk <47372530+temonk@users.noreply.github.com>
…veGenerator_GenerateSwaggerConverters Co-authored-by: temonk <47372530+temonk@users.noreply.github.com>
Remove upgrade planning document
Remove obsolete DomainPrimitiveGenerator_GenerateSwaggerConverters property from README
…ious one got unlisted
Applied conditional package versions, set explicit dependency versions, and simplified Scalar API reference configuration.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 103 out of 106 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This pull request upgrades the codebase to support .NET 10.0 and introduces several improvements to project configuration, build workflows, and the demo application. The main changes include updating target frameworks, centralizing NuGet package management, enhancing CI workflows, and expanding the demo with new models and service methods.
.NET 10.0 Upgrade and Project Configuration
net10.0, and removed references to older frameworks such asnet7.0. Solution files were updated for Visual Studio 18 compatibility.Directory.Packages.propsto enable central NuGet package management and standardized package versions across projects. (Directory.Packages.props,AltaSoft.DomainPrimitives.sln) [1] [2]CI/CD Workflow Enhancements
net8.0,net9.0, andnet10.0. Added publishing of symbol packages (.snupkg) in NuGet publish workflow. (.github/workflows/build_nuget_dont_publish.yml,.github/workflows/dotnet.yml,.github/workflows/publish_nuget.yml) [1] [2] [3] [4]Demo Application Expansion
Customermodel to include both domain and .NET primitive types, nullable variants, and expanded theCustomerServicewith methods for handling nullable addresses. (Examples/AltaSoft.DomainPrimitives.Demo/AltaSoft.DomainPrimitives.Demo.csproj,Examples/AltaSoft.DomainPrimitives.Demo/Customer.cs,Examples/AltaSoft.DomainPrimitives.Demo/CustomerService.cs) [1] [2] [3] [4] [5]General Build and Packaging Improvements
Directory.Build.props. (Directory.Build.props)Solution Structure
AltaSoft.DomainPrimitives.OpenApiExtensionsto both main and demo solution files, with corresponding build configurations. (AltaSoft.DomainPrimitives.sln,Examples/AltaSoft.DomainPrimitives.Demo.sln,Examples/AltaSoft.DomainPrimitives.Demo/AltaSoft.DomainPrimitives.Demo.csproj) [1] [2] [3] [4] [5]Let me know if you want to discuss any specific part of the upgrade or demo changes in more detail!