From 9048eefe64cc5211c1df34224024dd3d5b7015ff Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Wed, 15 Sep 2021 15:24:37 -0400 Subject: [PATCH] Bump to xamarin/xamarin-android-tools/main@a5194e93 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Context: https://developer.android.com/studio/releases/platform-tools Changes: http://github.com/xamarin/xamarin-android-tools/compare/9b658b29bd41157151f5515619d0d90dc062563d...a5194e93498e7f12225d87e2811415a45f742116 * xamarin/xamarin-android-tools@a5194e9: [Xamarin.Android.Tools.AndroidSdk] Downgrade build-tools to API-30 * xamarin/xamarin-android-tools@440e6be: [Xamarin.Android.Tools.AndroidSdk] Update SDK component for API-31 (#134) One of the (undocumented) changes between Android SDK Platform-tools package r30.0.4 and r31.0.3 is that `platform-tools/api/annotations.zip` was *removed*. This removal would cause the `_GenerateBinding` target in `Mono.Android.targets` to fail, as it's used by `generator.exe --annotations`: mono --debug=casts "/Users/builder/azdo/_work/2/s/xamarin-android/bin/Release/lib/xamarin.android/xbuild/Xamarin/Android/generator.exe" \ --annotations="/Users/builder/Library/Android/sdk/platform-tools/api/annotations.zip" \ … … error BG0000: System.IO.DirectoryNotFoundException: Could not find a part of the path "/Users/builder/Library/Android/sdk/platform-tools/api/annotations.zip". at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share) at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare) at System.IO.File.OpenRead (System.String path) at Xamarin.AndroidTools.AnnotationSupport.AndroidAnnotationsSupport.ParseArchive (System.String file) at Xamarin.AndroidTools.AnnotationSupport.AndroidAnnotationsSupport.Load (System.String annotationsZipFile) at Xamarin.Android.Binder.CodeGenerator.GenerateAnnotationAttributes (System.Collections.Generic.List`1[T] gens, System.Collections.Generic.IEnumerable`1[T] zips) at Xamarin.Android.Binder.CodeGenerator.Run (Xamarin.Android.Binder.CodeGeneratorOptions options, Java.Interop.Tools.Cecil.DirectoryAssemblyResolver resolver) at Xamarin.Android.Binder.CodeGenerator.Run (Xamarin.Android.Binder.CodeGeneratorOptions options) at Xamarin.Android.Binder.CodeGenerator.Main (System.String[] args) `annotations.zip` has apparently moved into the platform package, and has been there since API-26: % ls -1tr ~/android-toolchain/sdk/platforms/*/data/annotations.zip $HOME/android-toolchain/sdk/platforms/android-26/data/annotations.zip $HOME/android-toolchain/sdk/platforms/android-27/data/annotations.zip $HOME/android-toolchain/sdk/platforms/android-28/data/annotations.zip $HOME/android-toolchain/sdk/platforms/android-29/data/annotations.zip $HOME/android-toolchain/sdk/platforms/android-30/data/annotations.zip $HOME/android-toolchain/sdk/platforms/android-31/data/annotations.zip Update the `_GenerateBinding` target so that the "new" platform copy of `annotations.zip` is used, if present. --- Configuration.props | 14 +++++++------- external/xamarin-android-tools | 2 +- src/Mono.Android/Mono.Android.targets | 14 ++++++++++++-- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/Configuration.props b/Configuration.props index ed54253624b..46e74d1e5ad 100644 --- a/Configuration.props +++ b/Configuration.props @@ -113,18 +113,18 @@ arm64-v8a;x86_64 $(AllSupported32BitTargetAndroidAbis);$(AllSupported64BitTargetAndroidAbis) - 5a6ceea22103d8dec989aefcef309949c0c42f1d. - efbaa277338195608aa4e3dbd43927e97f60218c. + f6d24b187cc6bd534c6c37604205171784ac5621. + 91936d4ee3ccc839f0addd53c9ebf087b1e39251. $(XABuildToolsPackagePrefixMacOS) $(XABuildToolsPackagePrefixWindows) - 30.0.2 - 30.0.2 - b2be9c80582174e645d3736daa0d44d8610b38a8. - 30.0.2 + 30.0.3 + 30.0.3 + e8b2b4cbe47c728c1e54c5f524440b52d4e1a33c. + 31.0.3 False 1.4.0 $(userprofile)\.nuget\packages diff --git a/external/xamarin-android-tools b/external/xamarin-android-tools index 9b658b29bd4..a5194e93498 160000 --- a/external/xamarin-android-tools +++ b/external/xamarin-android-tools @@ -1 +1 @@ -Subproject commit 9b658b29bd41157151f5515619d0d90dc062563d +Subproject commit a5194e93498e7f12225d87e2811415a45f742116 diff --git a/src/Mono.Android/Mono.Android.targets b/src/Mono.Android/Mono.Android.targets index 725b7fdabb3..d17ef1d4460 100644 --- a/src/Mono.Android/Mono.Android.targets +++ b/src/Mono.Android/Mono.Android.targets @@ -127,7 +127,7 @@ @@ -143,6 +143,16 @@ Include="$(_PlatformIdVersions)" /> + + <_Annotation + Condition=" Exists('$(AndroidSdkDirectory)\platform-tools\api\annotations.zip') " + Include="$(AndroidSdkDirectory)\platform-tools\api\annotations.zip" + /> + <_Annotation + Condition=" Exists('$(AndroidSdkDirectory)\platforms\android-$(AndroidPlatformId)\data\annotations.zip') " + Include="$(AndroidSdkDirectory)\platforms\android-$(AndroidPlatformId)\data\annotations.zip" + /> + "$(XAInstallPrefix)xbuild\Xamarin\Android\generator.exe" <_GenFlags>--public --product-version=7 @@ -152,7 +162,7 @@ <_Fixup>--fixup=metadata <_Enums1>--preserve-enums --enumflags=enumflags --enumfields=map.csv --enummethods=methodmap.csv <_Enums2>--enummetadata=$(IntermediateOutputPath)mcw\enummetadata - <_Annotations>--annotations="$(AndroidSdkDirectory)\platform-tools\api\annotations.zip" + <_Annotations>@(_Annotation->'"--annotations=%(Identity)"', ' ') <_Assembly>--assembly="Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" <_TypeMap>--type-map-report=$(IntermediateOutputPath)mcw\type-mapping.txt <_Api>$(IntermediateOutputPath)mcw\api.xml