Skip to content

Commit 5885d5a

Browse files
committed
[One .NET] Create Host OS specific SDK packs
The Microsoft.Android.Sdk pack has been broken up into three Host OS packs. Depending on the operating system used during the build, one or more of the following packs will now be created: * Microsoft.Android.Sdk.linux-x64 * Microsoft.Android.Sdk.osx-x64 * Microsoft.Android.Sdk.win-x64 This is still mostly missing Linux support, which can be addressed in a future PR that adds a linux build step to our commercial pipeline.
1 parent 57c5a5f commit 5885d5a

File tree

11 files changed

+185
-186
lines changed

11 files changed

+185
-186
lines changed

build-tools/create-dotnet-pkg/create-dotnet-pkg.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
<_FilesToCopy Include="$(DotNetPreviewPath)\sdk\$(DotNetPreviewVersionFull)\EnableWorkloadResolver.sentinel" />
3535
<_FilesToCopy Include="$(DotNetPreviewPath)\sdk-manifests\$(DotNetPreviewVersionBand)\Microsoft.NET.Workload.Android\**\*" />
3636
<_FilesToCopy Include="$(DotNetPreviewPath)\packs\Microsoft.Android.Ref\**\*" />
37-
<_FilesToCopy Include="$(DotNetPreviewPath)\packs\Microsoft.Android.Sdk\**\*" />
37+
<_FilesToCopy Include="$(DotNetPreviewPath)\packs\Microsoft.Android.Sdk.osx-x64\**\*" />
3838
</ItemGroup>
3939
<MakeDir Directories="$(PkgOutputPath);$(PayloadDir);$(PkgResourcesPath);$(LicenseDestination)"/>
4040
<ReplaceFileContents

build-tools/create-packs/Directory.Build.targets

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,15 @@
66
</ItemGroup>
77

88
<Import Project="..\..\Configuration.props" />
9-
<Import Project="..\..\build-tools\scripts\XAVersionInfo.targets" />
9+
<Import Project="..\..\build-tools\installers\create-installers.targets" />
1010
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk" />
1111
<UsingTask TaskName="CreateFrameworkListFile" AssemblyFile="$(DotNetBuildTasksSharedFrameworkTaskFile)"/>
1212

1313
<PropertyGroup>
14+
<_MonoAndroidNETOutputDir>$(XAInstallPrefix)xbuild-frameworks\Microsoft.Android\netcoreapp3.1\</_MonoAndroidNETOutputDir>
1415
<_WorkloadResolverFlagFile>$(DotNetPreviewPath)sdk\$(DotNetPreviewVersionFull)\EnableWorkloadResolver.sentinel</_WorkloadResolverFlagFile>
1516
</PropertyGroup>
1617

17-
<ItemGroup>
18-
<!-- NOTE: we don't have a reference assembly for Java.Interop.dll yet -->
19-
<_AndroidAppRefAssemblies Include="$(XamarinAndroidSourcePath)bin\$(Configuration)\lib\xamarin.android\xbuild-frameworks\Microsoft.Android\netcoreapp3.1\Java.Interop.dll" />
20-
<_AndroidAppRefAssemblies Include="$(XamarinAndroidSourcePath)bin\$(Configuration)\lib\xamarin.android\xbuild-frameworks\Microsoft.Android\netcoreapp3.1\ref\Mono.Android.dll" />
21-
<_AndroidAppRefAssemblies Include="$(XamarinAndroidSourcePath)bin\$(Configuration)\lib\xamarin.android\xbuild-frameworks\Microsoft.Android\netcoreapp3.1\ref\Mono.Android.Export.dll" />
22-
<_AndroidAppPackAssemblies Include="$(XamarinAndroidSourcePath)bin\$(Configuration)\lib\xamarin.android\xbuild-frameworks\Microsoft.Android\netcoreapp3.1\Java.Interop.dll" />
23-
<_AndroidAppPackAssemblies Include="$(XamarinAndroidSourcePath)bin\$(Configuration)\lib\xamarin.android\xbuild-frameworks\Microsoft.Android\netcoreapp3.1\Mono.Android.dll" />
24-
<_AndroidAppPackAssemblies Include="$(XamarinAndroidSourcePath)bin\$(Configuration)\lib\xamarin.android\xbuild-frameworks\Microsoft.Android\netcoreapp3.1\Mono.Android.Export.dll" />
25-
<FrameworkListFileClass Include="@(_AndroidAppPackAssemblies->'%(Filename)%(Extension)')" Profile="Android" />
26-
</ItemGroup>
27-
2818
<!-- LICENSE setup -->
2919
<PropertyGroup>
3020
<NuGetLicense Condition=" '$(NuGetLicense)' == '' ">$(XamarinAndroidSourcePath)LICENSE</NuGetLicense>
@@ -42,7 +32,8 @@
4232
</ItemGroup>
4333
</Target>
4434

45-
<!-- https://github.com/dotnet/runtime/blob/0647ec314948904319da5eb15e9931f7c85ed1e2/src/installer/pkg/projects/Directory.Build.targets#L281 -->
35+
<!-- https://github.com/dotnet/runtime/blob/0647ec314948904319da5eb15e9931f7c85ed1e2/src/installer/pkg/projects/Directory.Build.targets#L281 -->
36+
<!-- TODO: Generate PlatformManifest.txt files? -->
4637
<Target Name="_GenerateFrameworkListFile" >
4738
<!-- Hardcode framework attributes -->
4839
<ItemGroup>
@@ -87,15 +78,19 @@
8778
<Exec Command="$(DotNetPreviewTool) pack @(_GlobalProperties, ' ') -p:AndroidRID=android.21-x86 -p:AndroidABI=x86 &quot;$(MSBuildThisFileDirectory)Microsoft.Android.Runtime.proj&quot;" />
8879
<Exec Command="$(DotNetPreviewTool) pack @(_GlobalProperties, ' ') -p:AndroidRID=android.21-x64 -p:AndroidABI=x86_64 &quot;$(MSBuildThisFileDirectory)Microsoft.Android.Runtime.proj&quot;" />
8980
<Exec Command="$(DotNetPreviewTool) pack @(_GlobalProperties, ' ') &quot;$(MSBuildThisFileDirectory)Microsoft.Android.Ref.proj&quot;" />
90-
<Exec Command="$(DotNetPreviewTool) pack @(_GlobalProperties, ' ') &quot;$(MSBuildThisFileDirectory)Microsoft.Android.Sdk.proj&quot;" />
81+
<Exec Command="$(DotNetPreviewTool) pack @(_GlobalProperties, ' ') -p:AndroidHostRID=linux-x64 &quot;$(MSBuildThisFileDirectory)Microsoft.Android.Sdk.proj&quot;" Condition=" '$(HostOS)' == 'Linux' " />
82+
<Exec Command="$(DotNetPreviewTool) pack @(_GlobalProperties, ' ') -p:AndroidHostRID=osx-x64 &quot;$(MSBuildThisFileDirectory)Microsoft.Android.Sdk.proj&quot;" Condition=" '$(HostOS)' == 'Darwin' " />
83+
<Exec Command="$(DotNetPreviewTool) pack @(_GlobalProperties, ' ') -p:AndroidHostRID=windows-x64 &quot;$(MSBuildThisFileDirectory)Microsoft.Android.Sdk.proj&quot;" Condition=" '$(HostOS)' != 'Linux' " /> <!-- Windows pack should be built both Windows and macOS -->
9184
<Exec Command="$(DotNetPreviewTool) pack @(_GlobalProperties, ' ') &quot;$(MSBuildThisFileDirectory)Microsoft.NET.Workload.Android.proj&quot;" />
9285
</Target>
9386

9487
<Target Name="ExtractWorkloadPacks"
9588
DependsOnTargets="DeleteExtractedWorkloadPacks" >
9689
<ItemGroup>
9790
<_WLManifest Include="$(XamarinAndroidSourcePath)bin\Build$(Configuration)\nupkgs\Microsoft.NET.Workload.Android.*.nupkg" />
98-
<_WLPacks Include="$(XamarinAndroidSourcePath)bin\Build$(Configuration)\nupkgs\Microsoft.Android.Sdk.*.nupkg" />
91+
<_WLPacks Include="$(XamarinAndroidSourcePath)bin\Build$(Configuration)\nupkgs\Microsoft.Android.Sdk.linux-x64.*.nupkg" Condition=" '$(HostOS)' == 'Linux' " />
92+
<_WLPacks Include="$(XamarinAndroidSourcePath)bin\Build$(Configuration)\nupkgs\Microsoft.Android.Sdk.osx-x64.*.nupkg" Condition=" '$(HostOS)' == 'Darwin' " />
93+
<_WLPacks Include="$(XamarinAndroidSourcePath)bin\Build$(Configuration)\nupkgs\Microsoft.Android.Sdk.windows-x64.*.nupkg" Condition=" '$(HostOS)' == 'Windows' " />
9994
<_WLPacks Include="$(XamarinAndroidSourcePath)bin\Build$(Configuration)\nupkgs\Microsoft.Android.Ref.*.nupkg" />
10095
<!-- Runtime packs are not yet supported by workloads -->
10196
<!-- <_WLPacks Include="$(XamarinAndroidSourcePath)bin\Build$(Configuration)\nupkgs\Microsoft.Android.Runtime.*.nupkg" /> -->
@@ -112,7 +107,7 @@
112107
DestinationFolder="$(DotNetPreviewPath)packs\$([System.String]::Copy('%(_WLPacks.Filename)').Replace('.$(_WLPackVersion)', ''))\$(_WLPackVersion)"
113108
/>
114109
<ItemGroup>
115-
<_UnixExecutables Include="$(DotNetPreviewPath)packs\Microsoft.Android.Sdk\*\tools\$(HostOS)\**\*.*" />
110+
<_UnixExecutables Include="$(DotNetPreviewPath)packs\Microsoft.Android.Sdk.*\*\tools\$(HostOS)\**\*.*" />
116111
<_FilesToTouch Include="$(DotNetPreviewPath)sdk-manifests\$(DotNetPreviewVersionBand)\Microsoft.NET.Workload.Android\**" />
117112
<_FilesToTouch Include="$(DotNetPreviewPath)packs\$([System.String]::Copy('%(_WLPacks.Filename)').Replace('.$(_WLPackVersion)', ''))\$(_WLPackVersion)\**" />
118113
</ItemGroup>

build-tools/create-packs/Microsoft.Android.Ref.proj

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,14 @@ by projects that use the Microsoft.Android framework in .NET 5.
1010
<Project Sdk="Microsoft.Build.NoTargets">
1111

1212
<PropertyGroup>
13-
<TargetFramework>netcoreapp3.1</TargetFramework>
13+
<TargetFramework>net5.0</TargetFramework>
1414
<PackageId>Microsoft.Android.Ref</PackageId>
1515
<Authors>Microsoft</Authors>
1616
<Description>Microsoft.Android reference assemblies. Please do not reference directly.</Description>
1717
<OutputPath>..\..\bin\Build$(Configuration)\nupkgs\</OutputPath>
1818
<_AndroidRefPackAssemblyPath>ref\net5.0</_AndroidRefPackAssemblyPath>
1919
</PropertyGroup>
2020

21-
<Import Project="..\..\Configuration.props" />
22-
2321
<PropertyGroup>
2422
<BeforePack>
2523
_GetTargetingPackItems;
@@ -36,10 +34,17 @@ by projects that use the Microsoft.Android framework in .NET 5.
3634
</PropertyGroup>
3735

3836
<ItemGroup>
39-
<_PackageFiles Include="@(_AndroidAppRefAssemblies)" PackagePath="$(_AndroidRefPackAssemblyPath)" TargetPath="$(_AndroidRefPackAssemblyPath)" />
40-
<_PackageFiles Include="$(XAInstallPrefix)xbuild-frameworks\Microsoft.Android\netcoreapp3.1\mono.android.jar" PackagePath="$(_AndroidRefPackAssemblyPath)" />
41-
<_PackageFiles Include="$(XAInstallPrefix)xbuild-frameworks\Microsoft.Android\netcoreapp3.1\mono.android.dex" PackagePath="$(_AndroidRefPackAssemblyPath)" />
42-
<_PackageFiles Include="$(XAInstallPrefix)xbuild-frameworks\Microsoft.Android\netcoreapp3.1\AndroidApiInfo.xml" PackagePath="$(_AndroidRefPackAssemblyPath)" />
37+
<_AndroidRefPackAssemblies Include="$(JavaInteropSourceDirectory)\bin\$(Configuration)-netcoreapp3.1\ref\Java.Interop.dll" />
38+
<_AndroidRefPackAssemblies Include="$(_MonoAndroidNETOutputDir)ref\Mono.Android.dll" />
39+
<_AndroidRefPackAssemblies Include="$(_MonoAndroidNETOutputDir)ref\Mono.Android.Export.dll" />
40+
<FrameworkListFileClass Include="@(_AndroidRefPackAssemblies->'%(Filename)%(Extension)')" Profile="Android" />
41+
</ItemGroup>
42+
43+
<ItemGroup>
44+
<_PackageFiles Include="@(_AndroidRefPackAssemblies)" PackagePath="$(_AndroidRefPackAssemblyPath)" TargetPath="$(_AndroidRefPackAssemblyPath)" />
45+
<_PackageFiles Include="$(_MonoAndroidNETOutputDir)mono.android.jar" PackagePath="$(_AndroidRefPackAssemblyPath)" />
46+
<_PackageFiles Include="$(_MonoAndroidNETOutputDir)mono.android.dex" PackagePath="$(_AndroidRefPackAssemblyPath)" />
47+
<_PackageFiles Include="$(_MonoAndroidNETOutputDir)AndroidApiInfo.xml" PackagePath="$(_AndroidRefPackAssemblyPath)" />
4348
</ItemGroup>
4449
</Target>
4550

build-tools/create-packs/Microsoft.Android.Runtime.proj

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ projects that use the Microsoft.Android framework in .NET 5.
1010
<Project Sdk="Microsoft.Build.NoTargets">
1111

1212
<PropertyGroup>
13-
<TargetFramework>netcoreapp3.1</TargetFramework>
13+
<TargetFramework>net5.0</TargetFramework>
1414
<AndroidRID Condition=" '$(AndroidRID)' == '' ">android.21-arm64</AndroidRID>
1515
<AndroidABI Condition=" '$(AndroidABI)' == '' ">arm64-v8a</AndroidABI>
1616
<PackageId>Microsoft.Android.Runtime.$(AndroidRID)</PackageId>
@@ -21,8 +21,6 @@ projects that use the Microsoft.Android framework in .NET 5.
2121
<_AndroidRuntimePackNativePath>runtimes\$(AndroidRID)\native</_AndroidRuntimePackNativePath>
2222
</PropertyGroup>
2323

24-
<Import Project="..\..\Configuration.props" />
25-
2624
<PropertyGroup>
2725
<BeforePack>
2826
_GetRuntimePackItems;
@@ -39,15 +37,19 @@ projects that use the Microsoft.Android framework in .NET 5.
3937
</PropertyGroup>
4038

4139
<ItemGroup>
42-
<_AndroidRuntimePackAssets Include="$(XamarinAndroidSourcePath)bin\$(Configuration)\lib\xamarin.android\xbuild\Xamarin\Android\lib\$(AndroidABI)\libmono-android.debug.so" />
43-
<_AndroidRuntimePackAssets Include="$(XamarinAndroidSourcePath)bin\$(Configuration)\lib\xamarin.android\xbuild\Xamarin\Android\lib\$(AndroidABI)\libmono-android.release.so" />
44-
<_AndroidRuntimePackAssets Include="$(XamarinAndroidSourcePath)bin\$(Configuration)\lib\xamarin.android\xbuild\Xamarin\Android\lib\$(AndroidABI)\libxa-internal-api.so" />
45-
<_AndroidRuntimePackAssets Include="$(XamarinAndroidSourcePath)bin\$(Configuration)\lib\xamarin.android\xbuild\Xamarin\Android\lib\$(AndroidABI)\libxamarin-debug-app-helper.so" />
40+
<_AndroidRuntimePackAssemblies Include="$(_MonoAndroidNETOutputDir)Java.Interop.dll" />
41+
<_AndroidRuntimePackAssemblies Include="$(_MonoAndroidNETOutputDir)Mono.Android.dll" />
42+
<_AndroidRuntimePackAssemblies Include="$(_MonoAndroidNETOutputDir)Mono.Android.Export.dll" />
43+
<_AndroidRuntimePackAssets Include="$(XAInstallPrefix)xbuild\Xamarin\Android\lib\$(AndroidABI)\libmono-android.debug.so" />
44+
<_AndroidRuntimePackAssets Include="$(XAInstallPrefix)xbuild\Xamarin\Android\lib\$(AndroidABI)\libmono-android.release.so" />
45+
<_AndroidRuntimePackAssets Include="$(XAInstallPrefix)xbuild\Xamarin\Android\lib\$(AndroidABI)\libxa-internal-api.so" />
46+
<_AndroidRuntimePackAssets Include="$(XAInstallPrefix)xbuild\Xamarin\Android\lib\$(AndroidABI)\libxamarin-debug-app-helper.so" />
47+
<FrameworkListFileClass Include="@(_AndroidRuntimePackAssemblies->'%(Filename)%(Extension)')" Profile="Android" />
4648
<FrameworkListFileClass Include="@(_AndroidRuntimePackAssets->'%(Filename)%(Extension)')" Profile="Android" />
4749
</ItemGroup>
4850

4951
<ItemGroup>
50-
<_PackageFiles Include="@(_AndroidAppPackAssemblies)" PackagePath="$(_AndroidRuntimePackAssemblyPath)" TargetPath="$(_AndroidRuntimePackAssemblyPath)" />
52+
<_PackageFiles Include="@(_AndroidRuntimePackAssemblies)" PackagePath="$(_AndroidRuntimePackAssemblyPath)" TargetPath="$(_AndroidRuntimePackAssemblyPath)" />
5153
<_PackageFiles Include="@(_AndroidRuntimePackAssets)" PackagePath="$(_AndroidRuntimePackNativePath)" TargetPath="$(_AndroidRuntimePackNativePath)" IsNative="true" />
5254
</ItemGroup>
5355
</Target>

build-tools/create-packs/Microsoft.Android.Sdk.proj

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,18 @@
22
***********************************************************************************************
33
Microsoft.Android.Sdk.proj
44
5-
This project file is used to create the Microsoft.Android.Sdk NuGet, which is the core workload
6-
sdk pack imported by Microsoft.NET.Workload.Android.
5+
This project file is used to create the Microsoft.Android.Sdk.$(RID) NuGets, which are the
6+
core workload sdk packs imported by Microsoft.NET.Workload.Android.
77
***********************************************************************************************
88
-->
99
<Project Sdk="Microsoft.Build.NoTargets">
1010

1111
<PropertyGroup>
12-
<TargetFramework>netstandard2.0</TargetFramework>
13-
<PackageId>Microsoft.Android.Sdk</PackageId>
12+
<TargetFramework>net5.0</TargetFramework>
13+
<AndroidHostRID Condition=" '$(AndroidHostRID)' == '' and '$(HostOS)' == 'Linux' ">linux-x64</AndroidHostRID>
14+
<AndroidHostRID Condition=" '$(AndroidHostRID)' == '' and '$(HostOS)' == 'Darwin' ">osx-x64</AndroidHostRID>
15+
<AndroidHostRID Condition=" '$(AndroidHostRID)' == '' and '$(HostOS)' == 'Windows' ">windows-x64</AndroidHostRID>
16+
<PackageId>Microsoft.Android.Sdk.$(AndroidHostRID)</PackageId>
1417
<Authors>Microsoft</Authors>
1518
<Description>C# Tools and Bindings for the Android SDK</Description>
1619
<OutputPath>..\..\bin\Build$(Configuration)\nupkgs\</OutputPath>
@@ -22,10 +25,7 @@ sdk pack imported by Microsoft.NET.Workload.Android.
2225
<PackageReference Include="Mono.Posix.NETStandard" Version="5.20.1-preview" GeneratePathProperty="true" PrivateAssets="all" />
2326
</ItemGroup>
2427

25-
<Import Project="..\..\Configuration.props" />
26-
<Import Project="..\..\build-tools\installers\create-installers.targets" />
27-
28-
<PropertyGroup>
28+
<PropertyGroup>
2929
<BeforePack>
3030
_GenerateXASdkContent;
3131
$(BeforePack);
@@ -38,37 +38,41 @@ sdk pack imported by Microsoft.NET.Workload.Android.
3838
<ToolsSourceDir>$(XamarinAndroidSourcePath)bin\Build$(Configuration)\packs\tools\</ToolsSourceDir>
3939
<NetCoreAppToolsSourceDir>$(XamarinAndroidSourcePath)bin\$(Configuration)-netcoreapp3.1\</NetCoreAppToolsSourceDir>
4040
</PropertyGroup>
41+
4142
<ItemGroup>
42-
<AndroidSdkBuildTools Include="@(_MSBuildFiles);@(_MSBuildFilesWin)" >
43+
<AndroidSdkBuildTools Include="@(_MSBuildFiles)" >
4344
<RelativePath>$([MSBuild]::MakeRelative($(MSBuildSrcDir), %(FullPath)))</RelativePath>
4445
</AndroidSdkBuildTools>
4546
<AndroidSdkBuildTools Include="@(_MSBuildTargetsSrcFiles)" >
4647
<RelativePath>$([MSBuild]::MakeRelative($(MSBuildTargetsSrcDir), %(FullPath)))</RelativePath>
4748
</AndroidSdkBuildTools>
49+
<AndroidSdkBuildTools Include="@(_MSBuildFilesWin)" Condition=" '$(AndroidHostRID)' == 'windows-x64' ">
50+
<RelativePath>$([MSBuild]::MakeRelative($(MSBuildSrcDir), %(FullPath)))</RelativePath>
51+
</AndroidSdkBuildTools>
4852
<!-- Exclude host-os specific native libraries, aside from libMonoPosixHelper.dylib which is required by LibZipSharp on macOS. -->
49-
<AndroidSdkBuildToolsUnix Include="@(_MSBuildFilesUnix);@(_MSBuildFilesUnixSign);@(_MSBuildFilesUnixSignAndHarden)" >
53+
<AndroidSdkBuildTools Include="@(_MSBuildFilesUnix);@(_MSBuildFilesUnixSign);@(_MSBuildFilesUnixSignAndHarden)" Condition=" '$(AndroidHostRID)' == 'linux-x64' or '$(AndroidHostRID)' == 'osx-x64' ">
5054
<RelativePath>$([MSBuild]::MakeRelative($(MSBuildSrcDir), %(FullPath)))</RelativePath>
51-
</AndroidSdkBuildToolsUnix>
52-
<AndroidSdkBuildToolsUnix Include="$(PkgMono_Posix_NETStandard)\runtimes\osx\native\libMonoPosixHelper.dylib" Condition="$([MSBuild]::IsOSPlatform('osx'))">
55+
</AndroidSdkBuildTools>
56+
<AndroidSdkBuildTools Include="$(PkgMono_Posix_NETStandard)\runtimes\osx\native\libMonoPosixHelper.dylib" Condition=" '$(AndroidHostRID)' == 'osx-x64' ">
5357
<RelativePath>libMonoPosixHelper.dylib</RelativePath>
54-
</AndroidSdkBuildToolsUnix>
55-
<AndroidSdkBuildToolsUnix Include="$(PkgMono_Posix_NETStandard)\runtimes\linux-x64\native\libMonoPosixHelper.so" Condition="$([MSBuild]::IsOSPlatform('linux'))" >
58+
</AndroidSdkBuildTools>
59+
<AndroidSdkBuildTools Include="$(PkgMono_Posix_NETStandard)\runtimes\linux-x64\native\libMonoPosixHelper.so" Condition=" '$(AndroidHostRID)' == 'linux-x64' " >
5660
<RelativePath>libMonoPosixHelper.so</RelativePath>
57-
</AndroidSdkBuildToolsUnix>
61+
</AndroidSdkBuildTools>
62+
<!-- Remove items with '%(ExcludeFromAndroidNETSdk)' == 'true' metadata -->
63+
<AndroidSdkBuildTools Remove="@(AndroidSdkBuildTools)" Condition=" '%(AndroidSdkBuildTools.ExcludeFromAndroidNETSdk)' == 'true' " />
5864
</ItemGroup>
59-
<!-- Copy only the required tools to new folder. Skip Unix item copying on Windows. -->
65+
66+
<RemoveDir Directories="$(ToolsSourceDir)" />
6067
<Copy
6168
SourceFiles="@(AndroidSdkBuildTools)"
6269
DestinationFiles="@(AndroidSdkBuildTools->'$(ToolsSourceDir)%(RelativePath)')"
63-
SkipUnchangedFiles="True"
64-
/>
65-
<Copy
66-
SourceFiles="@(AndroidSdkBuildToolsUnix)"
67-
DestinationFiles="@(AndroidSdkBuildToolsUnix->'$(ToolsSourceDir)%(RelativePath)')"
68-
SkipUnchangedFiles="True"
69-
Condition="$([MSBuild]::IsOSPlatform('osx')) or $([MSBuild]::IsOSPlatform('linux'))"
7070
/>
71+
7172
<ItemGroup>
73+
<!-- Microsoft.Android.Sdk.ILLink output -->
74+
<_PackageFiles Include="$(XAInstallPrefix)xbuild\Xamarin\Android\Microsoft.Android.Sdk.ILLink.dll" PackagePath="tools" />
75+
<_PackageFiles Include="$(XAInstallPrefix)xbuild\Xamarin\Android\Microsoft.Android.Sdk.ILLink.pdb" PackagePath="tools" />
7276
<_PackageFiles Include="$(ToolsSourceDir)**" PackagePath="tools" />
7377
<_PackageFiles Include="$(NetCoreAppToolsSourceDir)generator.dll" PackagePath="tools" />
7478
<_PackageFiles Include="$(NetCoreAppToolsSourceDir)generator.runtimeconfig.json" PackagePath="tools" />

0 commit comments

Comments
 (0)