|
57 | 57 | </Target> |
58 | 58 |
|
59 | 59 | <Target Name="_CreateDefaultRefPack" |
60 | | - Condition=" '$(AndroidLatestStableApiLevel)' != '$(AndroidDefaultTargetDotnetApiLevel)' and Exists('$(_MonoAndroidNETOutputRoot)$(DotNetAndroidTargetFramework)$(AndroidDefaultTargetDotnetApiLevel)\Mono.Android.dll') "> |
| 60 | + Condition=" '$(AndroidLatestStableApiLevel)' != '$(AndroidDefaultTargetDotnetApiLevel)' and Exists('$(_MonoAndroidNETOutputRoot)$(AndroidDefaultTargetDotnetApiLevel)\Mono.Android.dll') "> |
61 | 61 | <Exec Command=""$(DotNetPreviewTool)" pack @(_GlobalProperties, ' ') -p:AndroidApiLevel=$(AndroidDefaultTargetDotnetApiLevel) "$(MSBuildThisFileDirectory)Microsoft.Android.Ref.proj"" /> |
62 | 62 | </Target> |
63 | 63 |
|
64 | 64 | <Target Name="_CreatePreviewPacks" |
65 | | - Condition=" '$(AndroidLatestStableApiLevel)' != '$(AndroidLatestUnstableApiLevel)' and Exists('$(_MonoAndroidNETOutputRoot)$(DotNetAndroidTargetFramework)$(AndroidLatestUnstableApiLevel)\Mono.Android.dll') "> |
| 65 | + Condition=" '$(AndroidLatestStableApiLevel)' != '$(AndroidLatestUnstableApiLevel)' and Exists('$(_MonoAndroidNETOutputRoot)$(AndroidLatestUnstableApiLevel)\Mono.Android.dll') "> |
66 | 66 | <Exec Command=""$(DotNetPreviewTool)" pack @(_GlobalProperties, ' ') -p:AndroidApiLevel=$(AndroidLatestUnstableApiLevel) -p:AndroidRID=android-arm "$(MSBuildThisFileDirectory)Microsoft.Android.Runtime.proj"" /> |
67 | 67 | <Exec Command=""$(DotNetPreviewTool)" pack @(_GlobalProperties, ' ') -p:AndroidApiLevel=$(AndroidLatestUnstableApiLevel) -p:AndroidRID=android-arm64 "$(MSBuildThisFileDirectory)Microsoft.Android.Runtime.proj"" /> |
68 | 68 | <Exec Command=""$(DotNetPreviewTool)" pack @(_GlobalProperties, ' ') -p:AndroidApiLevel=$(AndroidLatestUnstableApiLevel) -p:AndroidRID=android-x86 "$(MSBuildThisFileDirectory)Microsoft.Android.Runtime.proj"" /> |
|
95 | 95 | <_WLManifest Include="$(XamarinAndroidSourcePath)bin\Build$(Configuration)\nuget-unsigned\Microsoft.NET.Sdk.Android.Manifest-*.nupkg" /> |
96 | 96 | </ItemGroup> |
97 | 97 | <PropertyGroup> |
98 | | - <_WLPackVersion>@(_WLManifest->'%(Filename)'->Replace('Microsoft.NET.Sdk.Android.Manifest-$(DotNetAndroidManifestVersionBand).', ''))</_WLPackVersion> |
99 | 98 | <_SdkManifestsFolder>$(DotNetPreviewPath)sdk-manifests\$(DotNetSdkManifestsFolder)\</_SdkManifestsFolder> |
100 | 99 | </PropertyGroup> |
101 | 100 | <Unzip |
|
119 | 118 |
|
120 | 119 | <!-- dotnet workload install android --> |
121 | 120 | <PropertyGroup> |
122 | | - <_TempDirectory>$(DotNetPreviewPath)..\.xa-workload-temp-$([System.IO.Path]::GetRandomFileName())</_TempDirectory> |
| 121 | + <_TempDirectory>$(IntermediateOutputPath).xa-workload-temp-$([System.IO.Path]::GetRandomFileName())</_TempDirectory> |
123 | 122 | </PropertyGroup> |
124 | 123 | <ItemGroup> |
125 | 124 | <_NuGetSources Include="$(OutputPath.TrimEnd('\'))" /> |
|
137 | 136 | <Exec |
138 | 137 | Command=""$(DotNetPreviewTool)" workload install @(_InstallArguments, ' ')" |
139 | 138 | WorkingDirectory="$(_TempDirectory)" |
140 | | - EnvironmentVariables="DOTNET_MULTILEVEL_LOOKUP=0" |
141 | 139 | /> |
142 | 140 | <RemoveDir Directories="$(_TempDirectory)" /> |
143 | 141 | </Target> |
|
204 | 202 | /> |
205 | 203 | </Target> |
206 | 204 |
|
| 205 | + <!-- Targets for setting up a local workload test environment without needing to pack .nupkg files --> |
| 206 | + <ItemGroup> |
| 207 | + <_FrameworkListInputs Include="$(MicrosoftAndroidRefPackDir)**" /> |
| 208 | + <_FrameworkListOutputs Include="$(BuildOutputDirectory)lib\packs\Microsoft.Android.Ref.$(AndroidDefaultTargetDotnetApiLevel)\$(AndroidPackVersion)\data\FrameworkList.xml" /> |
| 209 | + <_FrameworkListOutputs Include="$(BuildOutputDirectory)lib\packs\Microsoft.Android.Ref.$(AndroidLatestStableApiLevel)\$(AndroidPackVersion)\data\FrameworkList.xml" /> |
| 210 | + <_FrameworkListOutputs Include="$(BuildOutputDirectory)lib\packs\Microsoft.Android.Ref.$(AndroidLatestUnstableApiLevel)\$(AndroidPackVersion)\data\FrameworkList.xml" /> |
| 211 | + <_RuntimeListInputs Include="$(MicrosoftAndroidArmPackDir)**" /> |
| 212 | + <_RuntimeListInputs Include="$(MicrosoftAndroidArm64PackDir)**" /> |
| 213 | + <_RuntimeListInputs Include="$(MicrosoftAndroidx86PackDir)**" /> |
| 214 | + <_RuntimeListInputs Include="$(MicrosoftAndroidx64PackDir)**" /> |
| 215 | + <_RuntimeListOutputs Include="@(AndroidSupportedTargetJitAbi->'$(BuildOutputDirectory)lib\packs\Microsoft.Android.Runtime.$(AndroidDefaultTargetDotnetApiLevel).%(AndroidRID)\$(AndroidPackVersion)\data\RuntimeList.xml')" AndroidRID="%(AndroidRID)" /> |
| 216 | + <_RuntimeListOutputs Include="@(AndroidSupportedTargetJitAbi->'$(BuildOutputDirectory)lib\packs\Microsoft.Android.Runtime.$(AndroidLatestStableApiLevel).%(AndroidRID)\$(AndroidPackVersion)\data\RuntimeList.xml')" AndroidRID="%(AndroidRID)" /> |
| 217 | + <_RuntimeListOutputs Include="@(AndroidSupportedTargetJitAbi->'$(BuildOutputDirectory)lib\packs\Microsoft.Android.Runtime.$(AndroidLatestUnstableApiLevel).%(AndroidRID)\$(AndroidPackVersion)\data\RuntimeList.xml')" AndroidRID="%(AndroidRID)" /> |
| 218 | + <_TemplatesInputs Include="$(XamarinAndroidSourcePath)src\Microsoft.Android.Templates\**" /> |
| 219 | + <_TemplatesOutputs Include="$(BuildOutputDirectory)lib\template-packs\Microsoft.Android.Templates.$(AndroidPackVersion).nupkg" /> |
| 220 | + </ItemGroup> |
| 221 | + |
| 222 | + <Target Name="CreateLocalRuntimeLists" |
| 223 | + Inputs="$(MSBuildThisFile);@(_RuntimeListInputs)" |
| 224 | + Outputs="@(_RuntimeListOutputs)"> |
| 225 | + <MSBuild |
| 226 | + Projects="$(MSBuildThisFileDirectory)Microsoft.Android.Runtime.proj" |
| 227 | + Properties="FrameworkListFile=%(_RuntimeListOutputs.Identity);AndroidRID=%(_RuntimeListOutputs.AndroidRID)" |
| 228 | + Targets="_GetRuntimePackItems;_GenerateFrameworkListFile" |
| 229 | + /> |
| 230 | + </Target> |
| 231 | + |
| 232 | + <Target Name="CreateLocalFrameworkLists" |
| 233 | + Inputs="$(MSBuildThisFile);@(_FrameworkListInputs)" |
| 234 | + Outputs="@(_FrameworkListOutputs)"> |
| 235 | + <MSBuild |
| 236 | + Projects="$(MSBuildThisFileDirectory)Microsoft.Android.Ref.proj" |
| 237 | + Properties="FrameworkListFile=%(_FrameworkListOutputs.Identity)" |
| 238 | + Targets="_GetTargetingPackItems;_GenerateFrameworkListFile" |
| 239 | + /> |
| 240 | + </Target> |
| 241 | + |
| 242 | + <Target Name="PackAndCopyTemplates" |
| 243 | + Inputs="@(_TemplatesInputs)" |
| 244 | + Outputs="@(_TemplatesOutputs)"> |
| 245 | + <ItemGroup> |
| 246 | + <_PackProps Include="-v:n -c $(Configuration)" /> |
| 247 | + <_PackProps Include="-p:IncludeSymbols=False" /> |
| 248 | + <_PackProps Include="-p:OutputPath=$(DotNetPreviewPath)template-packs" /> |
| 249 | + <_PackProps Include="-p:TemplatePackVersion=$(AndroidPackVersion)" /> |
| 250 | + </ItemGroup> |
| 251 | + <Exec Command=""$(DotNetPreviewTool)" pack @(_PackProps, ' ') "$(XamarinAndroidSourcePath)src\Microsoft.Android.Templates\Microsoft.Android.Templates.csproj"" /> |
| 252 | + </Target> |
| 253 | + |
| 254 | + <Target Name="InstallManifestAndDependencies"> |
| 255 | + <PropertyGroup> |
| 256 | + <_LocalSdkManifestsFolder>$(BuildOutputDirectory)lib\sdk-manifests\$(DotNetSdkManifestsFolder)\</_LocalSdkManifestsFolder> |
| 257 | + <_LocalAndroidManifestFolder>$(_LocalSdkManifestsFolder)microsoft.net.sdk.android\</_LocalAndroidManifestFolder> |
| 258 | + <_EmptyWorkloadDir>$(_LocalSdkManifestsFolder)android.deps.workload\</_EmptyWorkloadDir> |
| 259 | + <_EmptyWorkloadJsonContent> |
| 260 | +<![CDATA[ |
| 261 | +{"version": "0.0.1", "workloads": { "android-deps": { "extends" : [ "microsoft-net-runtime-android", "microsoft-net-runtime-android-aot" ] } } } |
| 262 | +]]> |
| 263 | + </_EmptyWorkloadJsonContent> |
| 264 | + </PropertyGroup> |
| 265 | + <MakeDir Directories="$(_LocalAndroidManifestFolder)" /> |
| 266 | + <MSBuild |
| 267 | + Projects="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.Android.proj" |
| 268 | + Properties="WorkloadManifestJsonPath=$(_LocalAndroidManifestFolder)WorkloadManifest.json;WorkloadManifestTargetsPath=$(_LocalAndroidManifestFolder)WorkloadManifest.targets;WorkloadVersion=$(AndroidPackVersion)" |
| 269 | + Targets="_GenerateXAWorkloadContent" |
| 270 | + /> |
| 271 | + <!-- Create empty workload to install dotnet/runtime dependencies --> |
| 272 | + <MakeDir Directories="$(_EmptyWorkloadDir)" /> |
| 273 | + <WriteLinesToFile |
| 274 | + File="$(_EmptyWorkloadDir)WorkloadManifest.json" |
| 275 | + Lines="$(_EmptyWorkloadJsonContent)" |
| 276 | + Overwrite="true" |
| 277 | + /> |
| 278 | + <Exec |
| 279 | + Command=""$(DotNetPreviewTool)" workload install android-deps --configfile "$(XamarinAndroidSourcePath)NuGet.config" --skip-manifest-update --verbosity diag" |
| 280 | + EnvironmentVariables="DOTNETSDK_WORKLOAD_MANIFEST_ROOTS=$(BuildOutputDirectory)lib\sdk-manifests" |
| 281 | + WorkingDirectory="$(XamarinAndroidSourcePath)" |
| 282 | + /> |
| 283 | + </Target> |
| 284 | + |
| 285 | + <PropertyGroup> |
| 286 | + <ConfigureLocalWorkloadDependsOn Condition="'$(RunningOnCI)' != 'true'">CreateLocalFrameworkLists;CreateLocalRuntimeLists;PackAndCopyTemplates;InstallManifestAndDependencies</ConfigureLocalWorkloadDependsOn> |
| 287 | + </PropertyGroup> |
| 288 | + <Target Name="ConfigureLocalWorkload" DependsOnTargets="$(ConfigureLocalWorkloadDependsOn)" /> |
| 289 | + |
207 | 290 | </Project> |
0 commit comments