Phase 2: .NET Core Migration Infrastructure Setup#8
Open
devin-ai-integration[bot] wants to merge 1 commit into
Open
Phase 2: .NET Core Migration Infrastructure Setup#8devin-ai-integration[bot] wants to merge 1 commit into
devin-ai-integration[bot] wants to merge 1 commit into
Conversation
This commit sets up the parallel infrastructure for migrating RestSharp from legacy .NET Framework to .NET Standard 2.0/.NET Core. Infrastructure Setup: - RestSharp.Core.csproj targeting .NET Standard 2.0 - RestSharp.Core.sln solution file with Debug/Release configurations - RestSharp.Core.Tests.csproj with xUnit 2.9+ (migrated from 1.9) Dependency Research: - Newtonsoft.Json 13.0.3 (upgraded from 4.5.1/4.0.8) - System.Text.Json 8.0.5 as alternative serializer - xUnit 2.9.2 with Microsoft.NET.Test.Sdk 17.11.1 - FluentAssertions 6.12.1 and Moq 4.20.72 for testing CI/CD Pipeline: - GitHub Actions workflow for multi-platform builds (Ubuntu, Windows, macOS) - Automated testing with code coverage - NuGet package generation Migration Scripts: - consolidate-files.sh: Consolidates linked source files - remove-conditional-compilation.sh: Removes platform-specific directives - update-dependencies.sh: Checks and updates NuGet packages Documentation: - MIGRATION_GUIDE.md with comprehensive migration guidance - Dependency changes, breaking changes, and recommended approaches Test Infrastructure: - InfrastructureValidationTests.cs: Validates test framework setup - JsonSerializationCompatibilityTests.cs: Tests JSON serializer compatibility - Sample test data in SampleData directory All 13 tests pass. Build succeeds on .NET SDK 9.0. Co-Authored-By: benc@cognition.ai <Benc@windsurf.com>
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR sets up the parallel infrastructure for migrating RestSharp from legacy .NET Framework to .NET Standard 2.0/.NET Core. This is Phase 2 work that runs in parallel with Phase 1 (API inventory and test baseline creation) and does not modify any existing source files.
Key additions:
RestSharp.Core.csprojtargeting .NET Standard 2.0 with updated dependencies (Newtonsoft.Json 13.0.3, System.Text.Json 8.0.5)RestSharp.Core.Tests.csprojtargeting .NET 8.0 with xUnit 2.9.2 (migrated from 1.9.0.1566)RestSharp.Core.slnsolution file with Debug/Release configurationsdocs/MIGRATION_GUIDE.mdAll 13 infrastructure validation tests pass locally. The build succeeds with zero errors.
Review & Testing Checklist for Human
.github/workflows/build.ymlis new and untested in CI. Verify it runs successfully after merge.scripts/have--dry-runoptions but haven't been tested against actual source files. Run./scripts/consolidate-files.sh --dry-run --verboseto preview behavior.Recommended test plan:
dotnet test RestSharp.Core.slnto verify tests pass--dry-runflag to preview their behaviorNotes
RestSharp.Coreproject currently contains only a placeholder class (BuildValidation). Actual source migration will occur in Phase 3.remove-conditional-compilation.shscript marks platform-specific code with TODO comments rather than removing it, requiring manual cleanup during Phase 3.Link to Devin run: https://app.devin.ai/sessions/473c6c4a5d174634aac4ca05aefd2562
Requested by: @bcmake