From 3ee50150a64651a6b5c9c37bde232b4ccbe4b642 Mon Sep 17 00:00:00 2001 From: Jerome Laban Date: Mon, 27 Nov 2023 22:41:44 -0500 Subject: [PATCH 1/4] fix: Remove support for android workload arm64 linux The scenario is not supported by .NET. --- UnoCheck/Checkups/DotNetWorkloadsCheckup.cs | 24 ++++++++++++++------- UnoCheck/Manifest/DotNetWorkload.cs | 2 +- manifests/uno.ui.manifest.json | 2 +- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/UnoCheck/Checkups/DotNetWorkloadsCheckup.cs b/UnoCheck/Checkups/DotNetWorkloadsCheckup.cs index bd26f537..98b11357 100644 --- a/UnoCheck/Checkups/DotNetWorkloadsCheckup.cs +++ b/UnoCheck/Checkups/DotNetWorkloadsCheckup.cs @@ -24,10 +24,18 @@ public DotNetWorkloadsCheckup(SharedState sharedState, string sdkVersion, Manife SdkRoot = dotnet.DotNetSdkLocation.FullName; SdkVersion = sdkVersion; - RequiredWorkloads = requiredWorkloads.Where(w => w.SupportedPlatforms?.Contains(Util.Platform) ?? false).ToArray(); + RequiredWorkloads = requiredWorkloads.Where(FilterPlatform).ToArray(); NuGetPackageSources = nugetPackageSources; } + private static bool FilterPlatform(Manifest.DotNetWorkload w) + { + var arch = Util.IsArm64 ? "arm64" : "x64"; + var targetPlatform = Util.Platform + "/" + arch; + + return w.SupportedPlatforms?.Any(sp => sp == (sp.Contains("/") ? Util.Platform.ToString() : targetPlatform)) ?? false; + } + public readonly string SdkRoot; public readonly string SdkVersion; public readonly string[] NuGetPackageSources; @@ -79,16 +87,16 @@ public override async Task Examine(SharedState history) throw new Exception($"Unable to find workload manager for version [{rp.Id}: {rp.Version}]"); } - var installedPackageWorkloads = workloadManager.GetInstalledWorkloads(); + var installedPackageWorkloads = workloadManager.GetInstalledWorkloads(); - if (!NuGetVersion.TryParse(workloadVersion, out var rpVersion)) + if (!NuGetVersion.TryParse(workloadVersion, out var rpVersion)) rpVersion = new NuGetVersion(0, 0, 0); #if DEBUG - foreach(var installedWorload in installedPackageWorkloads) - { - ReportStatus($"Reported installed: {installedWorload.id}: {installedWorload.version}", null); - } + foreach (var installedWorload in installedPackageWorkloads) + { + ReportStatus($"Reported installed: {installedWorload.id}: {installedWorload.version}", null); + } #endif // TODO: Eventually check actual workload resolver api for installed workloads and @@ -109,7 +117,7 @@ public override async Task Examine(SharedState history) var genericWorkloadManager = new DotNetWorkloadManager(SdkRoot, sdkVersion, NuGetPackageSources); - return new DiagnosticResult( + return new DiagnosticResult( Status.Error, this, new Suggestion("Install or Update SDK Workloads", diff --git a/UnoCheck/Manifest/DotNetWorkload.cs b/UnoCheck/Manifest/DotNetWorkload.cs index 8c7db254..84cef51d 100644 --- a/UnoCheck/Manifest/DotNetWorkload.cs +++ b/UnoCheck/Manifest/DotNetWorkload.cs @@ -28,6 +28,6 @@ public partial class DotNetWorkload public List IgnoredPackIds { get; set; } [JsonProperty("supportedPlatforms")] - public List SupportedPlatforms { get; set; } + public List SupportedPlatforms { get; set; } } } diff --git a/manifests/uno.ui.manifest.json b/manifests/uno.ui.manifest.json index ef716f30..879b0fe1 100644 --- a/manifests/uno.ui.manifest.json +++ b/manifests/uno.ui.manifest.json @@ -108,7 +108,7 @@ "workloadManifestId": "microsoft.net.sdk.android", "packageId": "Microsoft.NET.Sdk.Android.Manifest-8.0.100", "version": "$(ANDROID_SDK_VERSION)", - "supportedPlatforms": [ "Windows", "OSX", "Linux" ] + "supportedPlatforms": [ "Windows", "OSX", "Linux/x64" ] }, { "workloadId": "ios", From 139c59b8aa5a75cd914916caf5457a89ad98a178 Mon Sep 17 00:00:00 2001 From: Jerome Laban Date: Mon, 27 Nov 2023 22:46:59 -0500 Subject: [PATCH 2/4] chore: Adjust workload filter --- UnoCheck/Checkups/DotNetWorkloadsCheckup.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/UnoCheck/Checkups/DotNetWorkloadsCheckup.cs b/UnoCheck/Checkups/DotNetWorkloadsCheckup.cs index 98b11357..ab0929d3 100644 --- a/UnoCheck/Checkups/DotNetWorkloadsCheckup.cs +++ b/UnoCheck/Checkups/DotNetWorkloadsCheckup.cs @@ -65,7 +65,6 @@ public override async Task Examine(SharedState history) var validWorkloads = RequiredWorkloads - .Where(w => w.SupportedPlatforms?.Contains(Util.Platform) ?? false) .ToArray(); var workloadManagers = validWorkloads From cf0141ad351d96d3f1773b634ed74523b6ee26d0 Mon Sep 17 00:00:00 2001 From: Jerome Laban Date: Tue, 28 Nov 2023 08:23:28 -0500 Subject: [PATCH 3/4] chore: Adjust workload install --- UnoCheck/Checkups/DotNetWorkloadsCheckup.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UnoCheck/Checkups/DotNetWorkloadsCheckup.cs b/UnoCheck/Checkups/DotNetWorkloadsCheckup.cs index ab0929d3..7d01ba28 100644 --- a/UnoCheck/Checkups/DotNetWorkloadsCheckup.cs +++ b/UnoCheck/Checkups/DotNetWorkloadsCheckup.cs @@ -33,7 +33,7 @@ private static bool FilterPlatform(Manifest.DotNetWorkload w) var arch = Util.IsArm64 ? "arm64" : "x64"; var targetPlatform = Util.Platform + "/" + arch; - return w.SupportedPlatforms?.Any(sp => sp == (sp.Contains("/") ? Util.Platform.ToString() : targetPlatform)) ?? false; + return w.SupportedPlatforms?.Any(sp => sp == (sp.Contains("/") ? targetPlatform : Util.Platform.ToString())) ?? false; } public readonly string SdkRoot; From 8a459cc06f75277511243cc86d96723ba4fe3d26 Mon Sep 17 00:00:00 2001 From: Jerome Laban Date: Tue, 28 Nov 2023 08:24:04 -0500 Subject: [PATCH 4/4] chore: Adjust default manifest --- UnoCheck/Manifest/Manifest.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/UnoCheck/Manifest/Manifest.cs b/UnoCheck/Manifest/Manifest.cs index 397fc03c..efee54c5 100644 --- a/UnoCheck/Manifest/Manifest.cs +++ b/UnoCheck/Manifest/Manifest.cs @@ -8,9 +8,9 @@ namespace DotNetCheck.Manifest { public partial class Manifest { - public const string DefaultManifestUrl = "https://raw.githubusercontent.com/unoplatform/uno.check/3475568d48cb47165f6f9cc7d0c86e01a3f9e6a0/manifests/uno.ui.manifest.json"; - public const string PreviewManifestUrl = "https://raw.githubusercontent.com/unoplatform/uno.check/3475568d48cb47165f6f9cc7d0c86e01a3f9e6a0/manifests/uno.ui-preview.manifest.json"; - public const string PreviewMajorManifestUrl = "https://raw.githubusercontent.com/unoplatform/uno.check/3475568d48cb47165f6f9cc7d0c86e01a3f9e6a0/manifests/uno.ui-preview-major.manifest.json"; + public const string DefaultManifestUrl = "https://raw.githubusercontent.com/unoplatform/uno.check/cf0141ad351d96d3f1773b634ed74523b6ee26d0/manifests/uno.ui.manifest.json"; + public const string PreviewManifestUrl = "https://raw.githubusercontent.com/unoplatform/uno.check/cf0141ad351d96d3f1773b634ed74523b6ee26d0/manifests/uno.ui-preview.manifest.json"; + public const string PreviewMajorManifestUrl = "https://raw.githubusercontent.com/unoplatform/uno.check/cf0141ad351d96d3f1773b634ed74523b6ee26d0/manifests/uno.ui-preview-major.manifest.json"; public static Task FromFileOrUrl(string fileOrUrl) {