Skip to content
51 changes: 26 additions & 25 deletions Configuration.props
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
<AndroidSdkDirectory Condition=" '$(AndroidSdkDirectory)' == '' ">$(AndroidToolchainDirectory)\sdk</AndroidSdkDirectory>
<AndroidNdkDirectory Condition=" '$(AndroidNdkDirectory)' == '' And Exists($(ANDROID_NDK_LATEST_HOME)) ">$(ANDROID_NDK_LATEST_HOME)</AndroidNdkDirectory>
<AndroidNdkDirectory Condition=" '$(AndroidNdkDirectory)' == '' ">$(AndroidToolchainDirectory)\ndk</AndroidNdkDirectory>
<AndroidCmakeVersion Condition=" '$(AndroidCmakeVersion)' == '' ">3.30.3</AndroidCmakeVersion>
<AndroidCmakeVersion Condition=" '$(AndroidCmakeVersion)' == '' ">4.1.2</AndroidCmakeVersion>
<AndroidCmakeUrlPrefix Condition=" '$(HostOS)' == 'Windows' And '$(AndroidCmakeUrlPrefix)' == '' "></AndroidCmakeUrlPrefix>
<AndroidCmakeUrlPrefix Condition=" '$(HostOS)' == 'Darwin' And '$(AndroidCmakeUrlPrefix)' == '' "></AndroidCmakeUrlPrefix>
<AndroidCmakeUrlPrefix Condition=" '$(HostOS)' == 'Linux' And '$(AndroidCmakeUrlPrefix)' == '' "></AndroidCmakeUrlPrefix>
Expand All @@ -97,26 +97,27 @@
<AllSupported32BitTargetAndroidAbis>armeabi-v7a;x86</AllSupported32BitTargetAndroidAbis>
<AllSupported64BitTargetAndroidAbis>arm64-v8a;x86_64</AllSupported64BitTargetAndroidAbis>
<AllSupportedTargetAndroidAbis>$(AllSupported32BitTargetAndroidAbis);$(AllSupported64BitTargetAndroidAbis)</AllSupportedTargetAndroidAbis>
<XABuildToolsVersion>36</XABuildToolsVersion>
<XABuildToolsFolder Condition="'$(XABuildToolsFolder)' == ''">36.0.0</XABuildToolsFolder>
<XABuildToolsHashMacOS>04E7F3A72044DE4926FA038FA0E251A37BBA1E1C3FB8BEAB6F8401BFD9EB4BF3</XABuildToolsHashMacOS>
<XABuildToolsHashLinux>5D9AC77FB6FF43D9DA518A337B4FCF8F9097113DF531D99CCEFE80EF7CE8250B</XABuildToolsHashLinux>
<XABuildToolsHashWindows>AA1095CB14D83E483818A748A2C06FAAEB8E601561B06A356A119A1B2CA280D3</XABuildToolsHashWindows>
<XAPlatformToolsVersion>36.0.0</XAPlatformToolsVersion>
<XAPlatformToolsHashMacOS>D3E9FA1DF3345CF728586908426615A60863D2632F73F1CE14F0F1349EF000FD</XAPlatformToolsHashMacOS>
<XAPlatformToolsHashLinux>0EAD642C943FFE79701FCCCA8F5F1C69C4CE4F43DF2EEFEE553F6CCB27CBFBE8</XAPlatformToolsHashLinux>
<XAPlatformToolsHashWindows>12C2841F354E92A0EB2FD7BF6F0F9BF8538ABCE7BD6B060AC8349D6F6A61107C</XAPlatformToolsHashWindows>
<XACmdlineToolsHashMacOS>5673201E6F3869F418EEED3B5CB6C4BE7401502BD0AAE1B12A29D164D647A54E</XACmdlineToolsHashMacOS>
<XACmdlineToolsHashLinux>7EC965280A073311C339E571CD5DE778B9975026CFCBE79F2B1CDCB1E15317EE</XACmdlineToolsHashLinux>
<XACmdlineToolsHashWindows>98B565CB657B012DAE6794CEFC0F66AE1EFB4690C699B78A614B4A6A3505B003</XACmdlineToolsHashWindows>
<XACmakeHashMacOS>57024D590691B9D66977D2F66786F10971549441B33B7830D3D2B659F80B93EA</XACmakeHashMacOS>
<XACmakeHashLinux>8CF0DC4F7CE0173D13ED71066FB6861A79C73545DF71D12CA3E933430F268D50</XACmakeHashLinux>
<XACmakeHashWindows>026982DBA2DBD2DE4A530CF1300FFAD05F6BC7D372D9DF83D46112FE017E0C6B</XACmakeHashWindows>
<XABuildToolsVersion>37</XABuildToolsVersion>
<XABuildToolsFolder Condition="'$(XABuildToolsFolder)' == ''">37.0.0</XABuildToolsFolder>
<XABuildToolsHashMacOS>B5B1AC529028A49F11B596B89D9B34252E0F39388EE7DBD16AE3110F1C9C5722</XABuildToolsHashMacOS>
<XABuildToolsHashLinux>01AF179347CBCD9C208B7F8171F7B21F6DD1D2F85BCD15E88CAA51D5D7B86060</XABuildToolsHashLinux>
<XABuildToolsHashWindows>68075AA319ED8A01CF1A565ED1E61A3C1A801DD49191C35851248DC293C33B1A</XABuildToolsHashWindows>
<XAPlatformToolsVersion>37.0.1</XAPlatformToolsVersion>
<XAPlatformToolsHashMacOS>EE39AD5967E95C2A07F04DBCBDE96B1A0C916BA376096DB5D2F498B7727A5D1D</XAPlatformToolsHashMacOS>
<XAPlatformToolsHashLinux>D230F13842F60F782A8645F9C813F8F845BF36089EA7289F28C48F17979313F1</XAPlatformToolsHashLinux>
<XAPlatformToolsHashWindows>45F4D63113E895EBDE0C90F194099A4676B6AC653BD28D54314A9E022BBC1A99</XAPlatformToolsHashWindows>
<XACmdlineToolsHashMacOS>C5A6378AB5CF7E0D5701921405115BEFFF13E9FF7417FB588389338F8BD050F3</XACmdlineToolsHashMacOS>
<XACmdlineToolsHashMacOSArm64>835B62A26162B229B441D1F6D4680383815A270809EB33522C0D480FA5002C4E</XACmdlineToolsHashMacOSArm64>
<XACmdlineToolsHashLinux>4E4C464F145A7512B57D088AC6C278C03C9EEA610886B35A5E0804E74EEDF583</XACmdlineToolsHashLinux>
<XACmdlineToolsHashWindows>90AE805D20434428BFFCB699C290860F19BB5F66A67E6B330067E3DE801FB04A</XACmdlineToolsHashWindows>
<XACmakeHashMacOS>130B80221ABDA282B96E3669CEF5DCCF0D916E988E08051F5DACCDD03360A1AC</XACmakeHashMacOS>
<XACmakeHashLinux>46BDA18F0F3C28A55F88DA4BA05FEC21ABE3D9BCA0A78A8B18D444987B3DC817</XACmakeHashLinux>
<XACmakeHashWindows>3A78AD82A3F3E9E613E255618D2ACF1B3C4BDB24EF6E1F9341227CF6FC492A89</XACmakeHashWindows>
<!-- Android emulator: per-host zips (and per-arch on macOS). -->
<XAEmulatorHashMacOSx64>3029489D4B2F868DC5347AA27B1E52FB48D6D28ABD51278E3FBEC2EE73201EDF</XAEmulatorHashMacOSx64>
<XAEmulatorHashMacOSArm64>EDA85B9BFFD0926B7A01EA334A30AB41827F573CBDE8F7F97FCD8C5B38F039F6</XAEmulatorHashMacOSArm64>
<XAEmulatorHashLinux>58BFDF0572F06EC007A7287154CDC6B2EBFEA947D07A1E26A0F6B5E1A39E9191</XAEmulatorHashLinux>
<XAEmulatorHashWindows>9F2855BFE98E80728E61D45B0EA72BA22F64952C9330559FA4E2CD3698A32231</XAEmulatorHashWindows>
<XAEmulatorHashMacOSx64>C1A3890F95B8868198918FAD05FFCA16FA20404D93547BA545FF5A5867EE7005</XAEmulatorHashMacOSx64>
<XAEmulatorHashMacOSArm64>22530DE9363F34EA945ECB5CAD74523ABD4B615F27F3C1A9899EFB183EA9E144</XAEmulatorHashMacOSArm64>
<XAEmulatorHashLinux>95771E0AE431897B2A4BD2D97FA095F29A8B0624A7B216BAF529F9306161C266</XAEmulatorHashLinux>
<XAEmulatorHashWindows>5FF441F3B12ACE9B13E9CF96FB0007D233967718652A8110705E995AC47BFEB7</XAEmulatorHashWindows>
<!-- API 29 system image used by the emulator: per-host (x86_64) and macOS arm64 (arm64-v8a). -->
<XASystemImageHashMacOSx64>B5C3FDA1F4B4931C30518D342E4AD5F7464945E0CDCED3538D4FF2E12F7BF201</XASystemImageHashMacOSx64>
<XASystemImageHashMacOSArm64>7FD1610E16A69AC2E202278E82077DE134CE404FE099D872019F69F3A340ACDD</XASystemImageHashMacOSArm64>
Expand All @@ -125,7 +126,7 @@
<!-- SDK build dependencies (host-agnostic single zip each). -->
<XAAndroidM2RepositoryHash>A3F91808DCE50C1717737DE90C18479ED3A78B147E06985247D138E7AB5123D0</XAAndroidM2RepositoryHash>
<XAAndroidDocsHash>68DB2690CB92E4EE5373AC9B792642C90717D8F417D83ECCEA48781171B3182A</XAAndroidDocsHash>
<XAAndroidSourcesHash>BD97900346A70C784AC8B15C809539DDEF34ED3B5BE1DF8A9A89CF298BE93798</XAAndroidSourcesHash>
<XAAndroidSourcesHash>A853F452B8BA94933EB56ED4E0F622991F9D6DE6E0AC19923AA47414D79B9129</XAAndroidSourcesHash>
<!-- Android NDK: per-host zips. Use a private property name; the public
$(AndroidNdkVersion) is set to the pkg revision in Common.props.in. -->
<_XAAndroidNdkRelease>28c</_XAAndroidNdkRelease>
Expand Down Expand Up @@ -180,12 +181,12 @@
<AvdManagerToolExe Condition=" '$(AvdManagerToolExe)' == '' and '$(HostOS)' == 'Windows' ">avdmanager.bat</AvdManagerToolExe>
<AndroidToolPath Condition=" '$(AndroidToolPath)' == '' ">$(AndroidSdkFullPath)\tools</AndroidToolPath>
<AndroidToolsBinPath Condition=" '$(AndroidToolsBinPath)' == '' ">$(AndroidToolPath)\bin</AndroidToolsBinPath>
<CommandLineToolsFolder Condition=" '$(CommandLineToolsFolder)' == '' ">19.0</CommandLineToolsFolder>
<CommandLineToolsVersion Condition=" '$(CommandLineToolsVersion)' == '' ">13114758_latest</CommandLineToolsVersion>
<CommandLineToolsFolder Condition=" '$(CommandLineToolsFolder)' == '' ">22.0</CommandLineToolsFolder>
<CommandLineToolsVersion Condition=" '$(CommandLineToolsVersion)' == '' ">15859902_latest</CommandLineToolsVersion>
<CommandLineToolsBinPath Condition=" '$(CommandLineToolsBinPath)' == '' ">$(AndroidSdkFullPath)\cmdline-tools\$(CommandLineToolsFolder)\bin</CommandLineToolsBinPath>
<!-- Version numbers and PkgVersion are found in https://dl-ssl.google.com/android/repository/repository2-3.xml -->
<EmulatorVersion Condition=" '$(EmulatorVersion)' == '' ">15004761</EmulatorVersion>
<EmulatorPkgRevision Condition=" '$(EmulatorPkgRevision)' == '' ">36.4.10</EmulatorPkgRevision>
<EmulatorVersion Condition=" '$(EmulatorVersion)' == '' ">15917651</EmulatorVersion>
<EmulatorPkgRevision Condition=" '$(EmulatorPkgRevision)' == '' ">37.1.11</EmulatorPkgRevision>
<EmulatorToolPath Condition=" '$(EmulatorToolPath)' == '' ">$(AndroidSdkFullPath)\emulator</EmulatorToolPath>
<EmulatorToolExe Condition=" '$(EmulatorToolExe)' == '' and '$(HostOS)' != 'Windows' ">emulator</EmulatorToolExe>
<EmulatorToolExe Condition=" '$(EmulatorToolExe)' == '' and '$(HostOS)' == 'Windows' ">emulator.exe</EmulatorToolExe>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public class CreateAndroidEmulator : ToolTask
public string TargetId {get; set;}

public string ImageName {get; set;} = "XamarinAndroidTestRunner64";
public string DeviceName {get; set;} = "pixel_4";
public string DeviceName {get; set;}
public string ImageType {get; set;} = "default";

public string DataPartitionSizeMB {get; set;} = "2048";
Expand Down
23 changes: 23 additions & 0 deletions build-tools/create-packs/Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -125,10 +125,21 @@
<!-- dotnet workload install android -->
<PropertyGroup>
<_TempDirectory>$(IntermediateOutputPath).xa-workload-temp-$([System.IO.Path]::GetRandomFileName())</_TempDirectory>
<_LocalSdkPackProject>$(_TempDirectory)\local-sdk-pack.csproj</_LocalSdkPackProject>
<_LocalSdkPackPackagesDirectory>$([System.IO.Path]::Combine('$(_TempDirectory)', 'packages'))</_LocalSdkPackPackagesDirectory>
</PropertyGroup>
<ItemGroup>
<_NuGetSources Include="$(OutputPath.TrimEnd('\'))" />
<_PreviewPacks Condition=" '$(AndroidLatestStableApiLevel)' != '$(AndroidLatestUnstableApiLevel)' " Include="$(XamarinAndroidSourcePath)bin\Build$(Configuration)\nuget-unsigned\Microsoft.Android.Ref.$(AndroidLatestUnstableApiLevel).*.nupkg" />
<_LocalSdkPackProjectLines Include="&lt;Project Sdk=&quot;Microsoft.NET.Sdk&quot;&gt;" />
<_LocalSdkPackProjectLines Include=" &lt;PropertyGroup&gt;" />
<_LocalSdkPackProjectLines Include=" &lt;TargetFramework&gt;$(DotNetTargetFramework)&lt;/TargetFramework&gt;" />
<_LocalSdkPackProjectLines Include=" &lt;DisableImplicitFrameworkReferences&gt;true&lt;/DisableImplicitFrameworkReferences&gt;" />
<_LocalSdkPackProjectLines Include=" &lt;/PropertyGroup&gt;" />
<_LocalSdkPackProjectLines Include=" &lt;ItemGroup&gt;" />
<_LocalSdkPackProjectLines Include=" &lt;PackageDownload Include=&quot;$(MicrosoftAndroidSdkPackName)&quot; Version=&quot;[$(AndroidPackVersionLong)]&quot; /&gt;" />
<_LocalSdkPackProjectLines Include=" &lt;/ItemGroup&gt;" />
<_LocalSdkPackProjectLines Include="&lt;/Project&gt;" />
<_InstallArguments Include="android" />
<_InstallArguments Include="--skip-manifest-update" />
<_InstallArguments Include="--skip-sign-check" />
Expand All @@ -137,8 +148,20 @@
<_InstallArguments Include="--temp-dir &quot;$(_TempDirectory)&quot;" />
</ItemGroup>
<MakeDir Directories="$(_TempDirectory);$(BuildOutputDirectory)lib\sdk-manifests" />
<!-- Seed the isolated package cache from this build. PR package versions are
reused across CI attempts, so a feed can contain older same-version bits. -->
<WriteLinesToFile
File="$(_LocalSdkPackProject)"
Lines="@(_LocalSdkPackProjectLines)"
Overwrite="true"
Encoding="UTF-8"
/>
<Exec
Command="&quot;$(DotNetPreviewTool)&quot; restore &quot;$(_LocalSdkPackProject)&quot; --source &quot;$(OutputPath.TrimEnd('\'))&quot; --packages &quot;$(_LocalSdkPackPackagesDirectory)&quot; --no-cache -p:ImportDirectoryBuildProps=false -p:ImportDirectoryBuildTargets=false"
/>
<Exec
Command="&quot;$(DotNetPreviewTool)&quot; workload install @(_InstallArguments, ' ')"
EnvironmentVariables="NUGET_PACKAGES=$(_LocalSdkPackPackagesDirectory)"
WorkingDirectory="$(_TempDirectory)"
/>
<RemoveDir Directories="$(_TempDirectory)" />
Expand Down
1 change: 0 additions & 1 deletion build-tools/scripts/TestApks.targets
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
<TestAvdForceCreation Condition=" '$(TestAvdForceCreation)' == '' ">true</TestAvdForceCreation>
<TestAvdShowWindow Condition=" '$(TestAvdShowWindow)' == '' and '$(RunningOnCI)' == 'true' ">false</TestAvdShowWindow>
<TestAvdExtraBootArgs Condition=" '$(TestAvdShowWindow)' == 'false' ">-no-window -no-boot-anim -gpu swiftshader $(TestAvdExtraBootArgs)</TestAvdExtraBootArgs>
<TestDeviceName Condition=" '$(TestDeviceName)' == '' ">pixel_4</TestDeviceName>
<SdkManagerImageName Condition=" '$(SdkManagerImageName)' == '' ">system-images;android-$(TestAvdApiLevel);$(TestAvdType);$(TestAvdAbi)</SdkManagerImageName>
<TestAvdName>XamarinAndroidTestRunner$(TestAvdApiLevel)-$(TestAvdAbi)</TestAvdName>
<_AdbEmulatorPort>5570</_AdbEmulatorPort>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,10 +129,39 @@
Properties="Configuration=$(Configuration);AndroidApiLevel=$(AndroidLatestStableApiLevel);AndroidFrameworkVersion=$(AndroidLatestStableFrameworkVersion);AndroidPlatformId=$(AndroidLatestStablePlatformId)"
/>
</Target>
<Target Name="_WriteXACommonPropsCache"
DependsOnTargets="GetXAVersionInfo">
<ItemGroup>
<_XACommonPropsCacheLines Include="CommandLineToolsFolder=$(CommandLineToolsFolder)" />
<_XACommonPropsCacheLines Include="XABundleToolVersion=$(XABundleToolVersion)" />
<_XACommonPropsCacheLines Include="JavaSdkVersion=$(JavaSdkVersion)" />
<_XACommonPropsCacheLines Include="MinimumSupportedJavaSdkVersion=$(MinimumSupportedJavaSdkVersion)" />
<_XACommonPropsCacheLines Include="AndroidNdkApiLevel_ArmV8a=$(AndroidNdkApiLevel_ArmV8a)" />
<_XACommonPropsCacheLines Include="AndroidNdkApiLevel_ArmV7a=$(AndroidNdkApiLevel_ArmV7a)" />
<_XACommonPropsCacheLines Include="AndroidNdkApiLevel_X86_64=$(AndroidNdkApiLevel_X86_64)" />
<_XACommonPropsCacheLines Include="AndroidNdkApiLevel_X86=$(AndroidNdkApiLevel_X86)" />
<_XACommonPropsCacheLines Include="XAVersionCommitCount=$(XAVersionCommitCount)" />
<_XACommonPropsCacheLines Include="ProductVersion=$(ProductVersion)" />
<_XACommonPropsCacheLines Include="XABuildToolsFolder=$(XABuildToolsFolder)" />
<_XACommonPropsCacheLines Include="XAPlatformToolsVersion=$(XAPlatformToolsVersion)" />
<_XACommonPropsCacheLines Include="AndroidLatestStablePlatformId=$(AndroidLatestStablePlatformId)" />
<_XACommonPropsCacheLines Include="_BuildInfo_SqliteCommit=$(_BuildInfo_SqliteCommit)" />
</ItemGroup>
<WriteLinesToFile
File="$(IntermediateOutputPath)_GenerateXACommonProps.cache"
Lines="@(_XACommonPropsCacheLines)"
Overwrite="true"
WriteOnlyWhenDifferent="true"
/>
<ItemGroup>
<FileWrites Include="$(IntermediateOutputPath)_GenerateXACommonProps.cache" />
</ItemGroup>
</Target>

<Target Name="_GenerateXACommonProps"
DependsOnTargets="GetXAVersionInfo"
DependsOnTargets="_WriteXACommonPropsCache"
BeforeTargets="DeployOutputFiles"
Inputs="Xamarin.Android.Common.props.in;Xamarin.Android.BuildInfo.txt.in;..\..\build-tools\scripts\Ndk.targets"
Inputs="Xamarin.Android.Common.props.in;Xamarin.Android.BuildInfo.txt.in;$(IntermediateOutputPath)_GenerateXACommonProps.cache;..\..\build-tools\scripts\Ndk.targets"
Outputs="Xamarin.Android.Common.props;Xamarin.Android.BuildInfo.txt">
<ReplaceFileContents
SourceFile="Xamarin.Android.BuildInfo.txt.in"
Expand Down
Loading
Loading