Skip to content

Commit

Permalink
fix: Remove support for android workload arm64 linux
Browse files Browse the repository at this point in the history
The scenario is not supported by .NET.
  • Loading branch information
jeromelaban committed Nov 28, 2023
1 parent 376ef42 commit 3ee5015
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 10 deletions.
24 changes: 16 additions & 8 deletions UnoCheck/Checkups/DotNetWorkloadsCheckup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -79,16 +87,16 @@ public override async Task<DiagnosticResult> 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
Expand All @@ -109,7 +117,7 @@ public override async Task<DiagnosticResult> 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",
Expand Down
2 changes: 1 addition & 1 deletion UnoCheck/Manifest/DotNetWorkload.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@ public partial class DotNetWorkload
public List<string> IgnoredPackIds { get; set; }

[JsonProperty("supportedPlatforms")]
public List<Platform> SupportedPlatforms { get; set; }
public List<string> SupportedPlatforms { get; set; }
}
}
2 changes: 1 addition & 1 deletion manifests/uno.ui.manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down

0 comments on commit 3ee5015

Please sign in to comment.