diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs b/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs index 641f56c7cd9..f75058b714c 100644 --- a/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs +++ b/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs @@ -21,65 +21,8 @@ protected override async Task Execute (Context context) var dotnetPreviewVersion = context.Properties.GetRequiredValue (KnownProperties.MicrosoftDotnetSdkInternalPackageVersion); var dotnetTestRuntimeVersion = Configurables.Defaults.DotNetTestRuntimeVersion; - // Delete any custom Microsoft.Android packs that may have been installed by test runs. Other ref/runtime packs will be ignored. - var packsPath = Path.Combine (dotnetPath, "packs"); - if (Directory.Exists (packsPath)) { - foreach (var packToRemove in Directory.EnumerateDirectories (packsPath)) { - var info = new DirectoryInfo (packToRemove); - if (info.Name.IndexOf ("Android", StringComparison.OrdinalIgnoreCase) != -1) { - Log.StatusLine ($"Removing Android pack: {packToRemove}"); - Utilities.DeleteDirectory (packToRemove); - } - } - } - - // Delete Workload manifests, such as sdk-manifests/6.0.100/Microsoft.NET.Sdk.Android - var sdkManifestsPath = Path.Combine (dotnetPath, "sdk-manifests"); - if (Directory.Exists (sdkManifestsPath)) { - foreach (var versionBand in Directory.EnumerateDirectories (sdkManifestsPath)) { - foreach (var workloadManifestDirectory in Directory.EnumerateDirectories (versionBand)) { - var info = new DirectoryInfo (workloadManifestDirectory); - if (info.Name.IndexOf ("Android", StringComparison.OrdinalIgnoreCase) != -1) { - Log.StatusLine ($"Removing Android manifest directory: {workloadManifestDirectory}"); - Utilities.DeleteDirectory (workloadManifestDirectory); - } - } - } - } - - // Delete any unnecessary SDKs if they exist. - var sdkPath = Path.Combine (dotnetPath, "sdk"); - if (Directory.Exists (sdkPath)) { - foreach (var sdkToRemove in Directory.EnumerateDirectories (sdkPath).Where (s => new DirectoryInfo (s).Name != dotnetPreviewVersion)) { - Log.StatusLine ($"Removing out of date SDK: {sdkToRemove}"); - Utilities.DeleteDirectory (sdkToRemove); - } - } - - // Delete Android template-packs - var templatePacksPath = Path.Combine (dotnetPath, "template-packs"); - if (Directory.Exists (templatePacksPath)) { - foreach (var templateToRemove in Directory.EnumerateFiles (templatePacksPath)) { - var name = Path.GetFileName (templateToRemove); - if (name.IndexOf ("Android", StringComparison.OrdinalIgnoreCase) != -1) { - Log.StatusLine ($"Removing Android template: {templateToRemove}"); - Utilities.DeleteFile (templateToRemove); - } - } - } - - // Delete the metadata folder, which contains old workload data - var metadataPath = Path.Combine (dotnetPath, "metadata"); - if (Directory.Exists (metadataPath)) { - Utilities.DeleteDirectory (metadataPath); - } - - if (File.Exists (dotnetTool)) { - if (!TestDotNetSdk (dotnetTool)) { - Log.WarningLine ($"Attempt to run `dotnet --version` failed, reinstalling the SDK."); - Utilities.DeleteDirectory (dotnetPath); - } - } + // Always delete the ~/android-toolchain/dotnet/ directory + Utilities.DeleteDirectory (dotnetPath); if (!await InstallDotNetAsync (context, dotnetPath, dotnetPreviewVersion)) { Log.ErrorLine ($"Installation of dotnet SDK {dotnetPreviewVersion} failed.");