Reference System.Drawing.Common for all targets by Shane32 · Pull Request #639 · Shane32/QRCoder (original) (raw)

📝 Walkthrough

Walkthrough

Adjusts project target frameworks and System.Drawing package conditions, updates Directory.Build.targets constants, adds explicit solution build steps to CI workflows, and replaces/updates large approved API snapshots for net6.0 and net60-windows test artifacts. No source-code public API signatures were intentionally modified in library sources.

Changes

Cohort / File(s) Summary
Project filesQRCoder/QRCoder.csproj, QRCoderTests/QRCoderTests.csproj, Directory.Build.targets Modify TFMs and conditional compilation: remove explicit net5.0-windows/net6.0-windows from some csproj(s), introduce/normalize net6.0 targets, add/adjust Windows-specific TFMs in test project, change SYSTEM_DRAWING DefineConstants logic to exclude only netstandard1.3, and broaden System.Drawing.Common PackageReference condition to include net6.0 (retain 5.0.3 for older TFMs).
CI workflows.github/workflows/wf-build-release-ci.yml, .github/workflows/wf-build-test.yml Add new synchronous "Build solution" dotnet build -c Release steps into test/additional-tests jobs (runs before API approval and after publish respectively) to validate a full solution build in CI.
API approval / test artifactsQRCoderApiTests/net60-windows/QRCoder.approved.txt, QRCoderApiTests/net60/QRCoder.approved.txt Replace large approved API snapshots: one file removes the net60-windows public API surface entirely (deleting many public types), the other adds/updates numerous Windows-specific public types and overloads (ArtQRCode, QRCode, helpers, new overloads, and platform attributes). These files reflect major API-surface diffs in test expectations.

Sequence Diagram(s)

sequenceDiagram participant CI as GitHub Actions runner participant Build as dotnet build participant Test as API approval / test steps

Note over CI: Existing workflow job CI->>+Build: dotnet publish (existing) CI->>+Build: dotnet build -c Release (NEW) Build-->>-CI: build result CI->>+Test: api-approval / tests Test-->>-CI: test result rect #e6ffed note right of CI: New explicit solution build step inserted before tests end

Loading

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120 minutes

Suggested labels

enhancement

Suggested reviewers

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)

Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
Title Check ✅ Passed The title concisely reflects the primary change of updating the System.Drawing.Common package reference across the project’s target frameworks, matching the modifications to the csproj and Directory.Build.targets to include drawing support on all platforms without unnecessary detail.

✨ Finishing touches


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.