From baf16f1309f50c58563df64750ef8fededee012d Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 22 Jul 2024 10:18:17 -0500 Subject: [PATCH] [build] fix `ConfigureLocalWorkload` target (#9124) After 580166e6 was merged, the `ConfigureLocalWorkload` target was no longer working as some of the structure of the `sdk-manifests` folder has changed. * We should run the `DeleteExtractedWorkloadPacks` target, as it will delete the `sdk-manifests/workloadset` folder. Without doing this, the .NET SDK will *always* attempt to use the 34.99.0-preview.6.340 version in the "baseline" manifest. * We also should put a versioned folder after each manifest directory. So, for example: bin\Debug\lib\sdk-manifests\microsoft.net.sdk.android\ -> bin\Debug\lib\sdk-manifests\microsoft.net.sdk.android\35.0.0-preview.x.x\ bin\Debug\lib\sdk-manifests\android.deps.workload\ -> bin\Debug\lib\sdk-manifests\android.deps.workload\0.0.1\ Now with a fresh checkout: dotnet msbuild -t:Prepare Xamarin.Android.sln .\dotnet-local.cmd build Xamarin.Android.sln .\dotnet-local.cmd build -t:ConfigureLocalWorkload build-tools\create-packs\Microsoft.Android.Sdk.proj At this point, I can build app projects and the `BuildBasicApplication` test passes locally. --- build-tools/create-packs/Directory.Build.targets | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/build-tools/create-packs/Directory.Build.targets b/build-tools/create-packs/Directory.Build.targets index 130642ba4d8..44a5d06c00a 100644 --- a/build-tools/create-packs/Directory.Build.targets +++ b/build-tools/create-packs/Directory.Build.targets @@ -265,11 +265,12 @@ - + <_LocalSdkManifestsFolder>$(BuildOutputDirectory)lib\sdk-manifests\$(DotNetSdkManifestsFolder)\ - <_LocalAndroidManifestFolder>$(_LocalSdkManifestsFolder)microsoft.net.sdk.android\ - <_EmptyWorkloadDir>$(_LocalSdkManifestsFolder)android.deps.workload\ + <_LocalAndroidManifestFolder>$(_LocalSdkManifestsFolder)microsoft.net.sdk.android\$(AndroidPackVersionLong)\ + <_EmptyWorkloadDir>$(_LocalSdkManifestsFolder)android.deps.workload\0.0.1\ <_EmptyWorkloadJsonContent>