Framework-dependent System.Drawing.Common version#1310
Framework-dependent System.Drawing.Common version#1310swharden merged 22 commits intoScottPlot:masterfrom
Conversation
* Think it's everything except the Version.bat tools, will get that in the next commit. * As a result of https://blog.kritner.com/2021/10/01/dotnet-centralized-package-versioning/ and chatting with Scott on slack ;) * I can't seem to build all of the projects, mostly around the pieces that require framework and/or windows based functionality. I don't know if this is something you would be able to check off @swharden
….props * Now uses a variable for the version across the other csproj files
…oke the previous xml traversal, corrected. * There's gotta be a better way for identification of property groups and/or relying on the element we're looking for to be in the correct "ordinal" property group, but eh?
…as per ScottPlot#1311 * You can upgrade a version for specified csproj files by utilizing "OverrideVersion" on the included package for the desired csproj file.
This might make this difficult 😅 We exert a lot of effort to maintain cross-targeted builds across .NET Framework (back to 4.6.1), .NET Standard (2.0), and .NET 5 so the library runs on Windows, MacOS, and Linux. If |
If this is the case I think we really only need to use central versioning for:
The rest can remain hard-coded in the csproj files. |
The only sandbox app I can't build is "WinFormsFrameworkApp". Here are outputs from the other demo apps: FWIW, I ran
Addressed in 2ccae4f Puts the central version to 4.6.1, individual packages can be upgraded with |
Let's leave all the ScottPlot versions what they are. After merging this PR I'll automate the process of bumping them using GitHub Actions 👍 |
Sounds good, current branch is still set at version 4.1.24. I think that's everything, except for the CI / Check Formatting step (which I did run the formatting...) and The failing Test on Linux: https://github.com/ScottPlot/ScottPlot/pull/1310/checks?check_run_id=3773009138#step:6:23 |
This is encouraging! As far as building/testing I'm happy to lean on the CI system. Test_LettersDontRenderAsRectangles_SerifFontThanks again for your work on this PR! Sorry it got complicated by this 😝 This seems related to #1079 so let's disable this test to keep this PR moving and we can solve that issue before merging. ☠️ It looks like the Linux tests are failing due to font rendering issues. This may be because GitHub (the system that runs on the cloud) just today changed their default supported font set. To get this PR un-stuck you can either:
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) Assert.Pass();
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
I think the new errors indicate the package versioning isn't working as expected 😅 The font rendering error was also a result of this actually... if the wrong version of System.Drawing.Common is installed on Linux, characters render as squares, and that test fails: #1079 (comment) Let's ignore autoformatting for now |
… framework * @swharden wants this to be an OS switch rather than framework switch, gotta get the kids to bed though! I'll try to pick this up tomorrow
when run on Windows the autoformatter didn't find any issues
Previously the format check was run on Linux which has more strict whitespace formatting requirements ScottPlot#1310
previously disabled because of System.Drawing.Common versioning issues ScottPlot#1310 ScottPlot#1311
previously the conditional logic only supported .NET 5 (not .NET 6+)
bclehmann
left a comment
There was a problem hiding this comment.
Looks good to me, although that test does bug me. Especially as Linux font rendering on GDI+ seems to be more fragile than other OSes, and we're already rather dependent on bug reports to catch Linux issues.
.props files were stored in /dev for when central versioning tools mature to allow mixed-package solutions and version wildcards
an additional job builds the pages using the *.NUGET.csproj files instead of the default project files used by the solution file
|
Wow, this was a rollercoaster ride! 🎢🎃 I did not side with centralized dependency versioning
I learned a lot through this experience, including not to rush to adopt preview features 😅 I moved the .props files to /dev/ so we might be able to use them later when the .NET tools mature The CI pipeline improved
Conditional
|




Purpose:
#1274, Closes #1311