From dbe82f542fa38ac9c2d97cc82b9088ba9125fa04 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Fri, 25 Jul 2025 11:12:38 -0500 Subject: [PATCH] [build] remove usage of "Facades" directories Context: https://github.com/dotnet/android/pull/10339 In order to complete #10339, I want to refactor & remove the need for having to define `$(_XATargetFrameworkDirectories)` at all. An easy first step is to remove the usage of "Facades" directories because these don't exist in the .NET 6+ world. These are a Mono/.NET framework-ism, which is replaced by "ref" packs in .NET 6+. I also removed the `gen-ProfileAssemblies.sh` script, which was used to generate files specific to Mono & Xamarin.Android, but is no longer needed. --- .../installers/create-installers.targets | 2 - build-tools/scripts/gen-ProfileAssemblies.sh | 72 ------------------- .../Xamarin.Android.Resource.Designer.targets | 2 +- .../Xamarin.Android.Common.targets | 4 +- 4 files changed, 3 insertions(+), 77 deletions(-) delete mode 100755 build-tools/scripts/gen-ProfileAssemblies.sh diff --git a/build-tools/installers/create-installers.targets b/build-tools/installers/create-installers.targets index 9af0faa361f..6eea7e7fe9c 100644 --- a/build-tools/installers/create-installers.targets +++ b/build-tools/installers/create-installers.targets @@ -80,8 +80,6 @@ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\Mono.Android.Export.dll" /> <_FrameworkFiles Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\Mono.Android.Export.pdb" /> - <_FrameworkFiles Include="@(MonoFacadeAssembly->'$(FrameworkSrcDir)\$(BclFrameworkVersion)\Facades\%(Identity)')" /> - <_FrameworkFiles Include="@(MonoFacadeAssemblySymbol->'$(FrameworkSrcDir)\$(BclFrameworkVersion)\Facades\%(Identity)')" /> <_FrameworkFiles Include="@(MonoProfileAssembly->'$(FrameworkSrcDir)\$(BclFrameworkVersion)\%(Identity)')" /> <_FrameworkFiles Include="@(MonoProfileAssemblySymbol->'$(FrameworkSrcDir)\$(BclFrameworkVersion)\%(Identity)')" /> <_FrameworkFiles Include="$(FrameworkSrcDir)\$(BclFrameworkVersion)\Java.Interop.dll" /> diff --git a/build-tools/scripts/gen-ProfileAssemblies.sh b/build-tools/scripts/gen-ProfileAssemblies.sh deleted file mode 100755 index 7c171e1a222..00000000000 --- a/build-tools/scripts/gen-ProfileAssemblies.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash -e - -# Run this script as part of a "mono bunp", after a "mono archive" -# is available for use. -# -# See also the `_DownloadArchive` target in `src/mono-runtimes/mono-runtimes.targets` - - -function PrintItemGroup() -{ - local item="$1" - local dir="$2" - - echo " " - - for f in `find "$dir" -depth 1 -name \*.dll | sed 's,.dll$,,g' | grep -v 'nunitlite' | sort -f` ; do - local n=`basename "$f"` ; - echo " <$item Include=\"$n.dll\" />" ; - done - - echo " " -} - -function PrintTestItemGroup() -{ - local dir="$1" - - echo " " - - for f in `find "$dir" -depth 1 -name \*.dll | sed 's,.dll$,,g' | sort -f` ; do - local n=`basename "$f"` ; - echo " " ; - if [[ "$n" == *xunit-test ]]; then - echo " xunit"; - fi - echo " " - for s in `find "$dir" -depth 2 -name "$n.resources.dll" | sed 's,.dll$,,g' | sort -f` ; do - local p="${s:${#dir}}" - p="${p:1}" - echo " " - done - done - - echo " " -} - -cat < - - - -EOF - -PrintItemGroup "MonoFacadeAssembly" "external/mono/sdks/out/android-bcl/monodroid/Facades" -PrintItemGroup "MonoProfileAssembly" "external/mono/sdks/out/android-bcl/monodroid" -PrintTestItemGroup "external/mono/sdks/out/android-bcl/monodroid/tests" - -cat < - - - - reference - - - - reference - - - - -EOF diff --git a/src/Xamarin.Android.Build.Tasks/MSBuild/Xamarin/Android/Xamarin.Android.Resource.Designer.targets b/src/Xamarin.Android.Build.Tasks/MSBuild/Xamarin/Android/Xamarin.Android.Resource.Designer.targets index e959d4ce2b6..4e2ebdcf259 100644 --- a/src/Xamarin.Android.Build.Tasks/MSBuild/Xamarin/Android/Xamarin.Android.Resource.Designer.targets +++ b/src/Xamarin.Android.Build.Tasks/MSBuild/Xamarin/Android/Xamarin.Android.Resource.Designer.targets @@ -167,7 +167,7 @@ Copyright (C) 2016 Xamarin. All rights reserved. CaseMapFile="$(_GenerateResourceCaseMapFile)" DesignTimeBuild="$(DesignTimeBuild)" Deterministic="$(Deterministic)" - FrameworkDirectories="$(_XATargetFrameworkDirectories);$(_XATargetFrameworkDirectories)Facades" + FrameworkDirectories="$(_XATargetFrameworkDirectories)" IsApplication="$(AndroidApplication)" OutputFile="$(_GenerateResourceDesignerAssemblyOutput)" ProjectDir="$(ProjectDir)" diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets index c16e62237e7..edc2c3a1621 100644 --- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets +++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets @@ -1313,7 +1313,7 @@ because xbuild doesn't support framework reference assemblies. Resources="@(AndroidResource);@(AndroidBoundLayout)" ResourceDirectory="$(MonoAndroidResourcePrefix)" CaseMapFile="$(_GenerateResourceCaseMapFile)" - FrameworkDirectories="$(_XATargetFrameworkDirectories);$(_XATargetFrameworkDirectories)Facades" + FrameworkDirectories="$(_XATargetFrameworkDirectories)" AdditionalResourceDirectories="@(LibraryResourceDirectories)" AssemblyName="$(AssemblyName)" > @@ -1587,7 +1587,7 @@ because xbuild doesn't support framework reference assemblies. OutputDirectory="$(IntermediateOutputPath)android" PackageNamingPolicy="$(AndroidPackageNamingPolicy)" ApplicationJavaClass="$(AndroidApplicationJavaClass)" - FrameworkDirectories="$(_XATargetFrameworkDirectories);$(_XATargetFrameworkDirectories)Facades" + FrameworkDirectories="$(_XATargetFrameworkDirectories)" SupportedAbis="@(_BuildTargetAbis)" EnableMarshalMethods="$(_AndroidUseMarshalMethods)" IntermediateOutputDirectory="$(IntermediateOutputPath)"