Delete the .NET Framework / Xamarin era GumCore, GumDataTypes, GumRuntime and ToolsUtilities projects - #4338
Merged
Conversation
…time and ToolsUtilities projects FRB1 (vchelaru/FlatRedBall#1954, NetStandard @ 56efdd0f6) no longer references GumCoreXnaPc.csproj, GumCoreDesktopGL.csproj, the flat GumCoreAndroid.csproj/ GumCoreiOS.csproj (Xamarin), GumCoreUwp/, GumDataTypes.csproj, GumRuntime.csproj, or ToolsUtilities.csproj, and nothing in this repo does either. Delete them along with the Properties/AssemblyInfo.cs, Resources/, and packages.config files that existed only for them, and the already-broken/unreferenced GumRuntimeStandard project (references a nonexistent GumDataTypesStandard.csproj, in no .sln). Simplify the #if gates that existed only to keep those deleted net472/Xamarin/UWP targets compiling: NET6_0_OR_GREATER gates in GumRuntime/RenderingLibrary (their only netstandard2.0 consumer was the now-deleted GumRuntimeStandard) become unconditional, and the ANDROID||IOS branches in GumDataTypes/ToolsUtilities collapse away (no remaining consumer of those files defines ANDROID/IOS - that symbol is still alive elsewhere, see below). Correct two claims from the issue, verified by building the affected csproj directly: - The NET5_0_OR_GREATER trim-attribute gates in GumDataTypes/*.cs and ToolsUtilities/ReflectionManager.cs are NOT solely a net472 artifact - GumDataTypesNet6.csproj and ToolsUtilitiesStandard.csproj still multi-target netstandard2.0, which lacks these attributes. Removing the gates broke that build in testing; left them in place (with corrected comments). - Not all "ANDROID || IOS" branches are Xamarin-only. MonoGameGum.csproj and KniGum.csproj define ANDROID/IOS for their net9.0-android/net9.0-ios targets and compile Gum/Wireframe/CustomSetPropertyOnRenderable.cs and Gum/Graphics/Animation/Content/AnimationChainListSave.cs directly - those two gates are live and untouched. Updates .claude/agents/coder.md's netstandard2.0-floor guidance to name both affected projects (previously only mentioned ToolsUtilities/net472) and to drop the now-deleted GumCoreUwp/GumCoreDesktopGL/GumCoreXnaPc/flat-Android/flat-iOS entries from the projitems-sync project list. Closes #4334 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.
Closes #4334.
Deletes the 8 legacy net472/Xamarin/UWP csproj (
GumCoreXnaPc.csproj,GumCoreDesktopGL.csproj, flatGumCoreAndroid.csproj/GumCoreiOS.csproj,GumCoreUwp/,GumDataTypes.csproj,GumRuntime.csproj,ToolsUtilities.csproj) plus their exclusive orphanedProperties/AssemblyInfo.cs/Resources//packages.config, and the already-broken/unreferencedGumRuntimeStandardproject (dead - references a nonexistentGumDataTypesStandard.csproj, in no.sln, confirmed via a 386-error build).Simplifies the
#ifgates that existed only for those deleted targets:NET6_0_OR_GREATERgates inGumRuntime/RenderingLibrarybecome unconditional,ANDROID || IOSbranches inGumDataTypes/ToolsUtilities/FileManager.cscollapse away.Two corrections to the issue, verified by building the affected csproj directly:
NET5_0_OR_GREATERtrim-attribute gates inGumDataTypes/*.csandToolsUtilities/ReflectionManager.csare not net472-only -GumDataTypesNet6.csproj/ToolsUtilitiesStandard.csprojstill multi-targetnetstandard2.0, which lacks these attributes. Removing the gates broke that build in testing; left in place with corrected comments.ANDROID || IOSbranches are Xamarin-only.MonoGameGum.csproj/KniGum.csprojdefineANDROID/IOSfor theirnet9.0-android/net9.0-iostargets and compileGum/Wireframe/CustomSetPropertyOnRenderable.csandGum/Graphics/Animation/Content/AnimationChainListSave.csdirectly - those two gates are live and untouched.Also updates
.claude/agents/coder.md's netstandard2.0-floor guidance (now names both affected projects) and its projitems-sync project list (drops the deleted entries).Verification
dotnet build GumFull.sln- 0 errorsdotnet build GumDataTypes/GumDataTypesNet6.csproj/ToolsUtilities/ToolsUtilitiesStandard.csproj(netstandard2.0 legs) - 0 errorsMonoGameGum.Tests(2133 tests),Gum.ProjectServices.Tests(473 tests),RaylibGum.Tests(576 tests) - all passGumCore.DesktopGlNet6.csprojagainst FlatRedBallNetStandard @ 56efdd0f6) - pass, 0 errorsManual test: not needed - pure project/dead-code deletion and preprocessor simplification with no runtime-observable behavior change, covered by compilation across all remaining targets + the existing unit test suites + FRB canary.