The expected local sequence is:
git submodule update --init --recursive
dotnet format --no-restore
dotnet build Svg.Skia.slnx -c Release
dotnet test Svg.Skia.slnx -c Release
The Uno sample app is intentionally not part of Svg.Skia.slnx, so those default commands do not require Uno workloads.
The MAUI projects are validated and packed by the dedicated MAUI workflow jobs because they require the .NET MAUI workload.
The repository now has dedicated workflows for:
The docs workflow builds the Lunet site and publishes site/.lunet/build/www to GitHub Pages on pushes to main or master.
The repository ships more than one NuGet package. The main runtime packages are:
Svg.SkiaSvg.ModelSvg.Controls.Skia.UnoSvg.Controls.Skia.MauiSvg.Controls.AvaloniaSvg.Controls.Skia.AvaloniaSkia.Controls.AvaloniaSvgML.MauiSvg.SourceGenerator.SkiaSvg.CodeGen.SkiaSvg.CustomShimSkiaSharpThere are also sample or tool packages such as Svg.Skia.Converter and svgc.
The release.yml workflow:
Use the standalone sample project when validating the Uno control package:
uno-check --target desktop --target web --target android --target ios
dotnet build samples/UnoSvgSkiaSample/UnoSvgSkiaSample.csproj -c Release -f net10.0-desktop
dotnet publish samples/UnoSvgSkiaSample/UnoSvgSkiaSample.csproj -c Release -f net10.0-browserwasm
dotnet build samples/UnoSvgSkiaSample/UnoSvgSkiaSample.csproj -c Release -f net10.0-android
dotnet build samples/UnoSvgSkiaSample/UnoSvgSkiaSample.csproj -c Release -f net10.0-ios
Use the standalone MAUI control sample when validating Svg.Controls.Skia.Maui end to end:
dotnet workload install maui
dotnet build samples/MauiSvgSkiaSample/MauiSvgSkiaSample.csproj -c Release -f net10.0-android
dotnet build samples/MauiSvgSkiaSample/MauiSvgSkiaSample.csproj -c Release -f net10.0-ios
dotnet build samples/MauiSvgSkiaSample/MauiSvgSkiaSample.csproj -c Release -f net10.0-maccatalyst