diff --git a/build-tools/automation/yaml-templates/build-windows.yaml b/build-tools/automation/yaml-templates/build-windows.yaml index 067c9d0a4a0..92cbd13ccb7 100644 --- a/build-tools/automation/yaml-templates/build-windows.yaml +++ b/build-tools/automation/yaml-templates/build-windows.yaml @@ -53,16 +53,25 @@ stages: projects: Xamarin.Android.sln arguments: '-c $(XA.Build.Configuration) -t:Prepare --no-restore -p:AutoProvision=true -bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\dotnet-build-prepare.binlog' - # Build, pack .nupkgs, and extract workload packs to dotnet preview test directory + # Build Xamarin.Android and configure local workloads to test improved local build loop - template: /build-tools/automation/yaml-templates/run-dotnet-preview.yaml parameters: project: Xamarin.Android.sln arguments: >- - -t:BuildDotNet,PackDotNet -c $(XA.Build.Configuration) -v:n + -t:BuildDotNet -c $(XA.Build.Configuration) -v:n -bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\dotnet-build.binlog displayName: Build Solution continueOnError: false + - template: /build-tools/automation/yaml-templates/run-dotnet-preview.yaml + parameters: + project: build-tools/create-packs/Microsoft.Android.Sdk.proj + arguments: >- + -t:ConfigureLocalWorkload -c $(XA.Build.Configuration) -v:n -p:RunningOnCI=false + -bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\local-workload.binlog + displayName: Run ConfigureLocalWorkload target + continueOnError: false + - template: /build-tools/automation/yaml-templates/install-dotnet-tool.yaml parameters: toolName: apkdiff @@ -75,10 +84,25 @@ stages: dotNetTestExtraArgs: --filter "TestCategory = SmokeTests" - task: BatchScript@1 - displayName: Test dotnet-local.cmd + displayName: Test dotnet-local.cmd - create template + inputs: + filename: dotnet-local.cmd + arguments: new android -o $(Build.StagingDirectory)/LocalWorkloadTest + + - task: BatchScript@1 + displayName: Test dotnet-local.cmd - build template inputs: filename: dotnet-local.cmd - arguments: build samples\HelloWorld\HelloWorld\HelloWorld.DotNet.csproj + arguments: build -v:n $(Build.StagingDirectory)/LocalWorkloadTest + + # Pack .nupkgs and extract workload packs to dotnet preview test directory + - template: /build-tools/automation/yaml-templates/run-dotnet-preview.yaml + parameters: + project: Xamarin.Android.sln + arguments: >- + -t:PackDotNet -c $(XA.Build.Configuration) -v:n + -bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\dotnet-pack.binlog + displayName: Test PackDotNet - template: /build-tools/automation/yaml-templates/upload-results.yaml parameters: diff --git a/build-tools/create-packs/ConfigureLocalWorkload.targets b/build-tools/create-packs/ConfigureLocalWorkload.targets new file mode 100644 index 00000000000..9db9c214c59 --- /dev/null +++ b/build-tools/create-packs/ConfigureLocalWorkload.targets @@ -0,0 +1,128 @@ + + + + <_FrameworkListInputs Include="$(MicrosoftAndroidRefPackDir)**" /> + <_FrameworkListOutputs Include="$(BuildOutputDirectory)lib\packs\Microsoft.Android.Ref.$(AndroidDefaultTargetDotnetApiLevel)\$(AndroidPackVersion)\data\FrameworkList.xml" /> + <_FrameworkListOutputs Include="$(BuildOutputDirectory)lib\packs\Microsoft.Android.Ref.$(AndroidLatestStableApiLevel)\$(AndroidPackVersion)\data\FrameworkList.xml" /> + <_FrameworkListOutputs Include="$(BuildOutputDirectory)lib\packs\Microsoft.Android.Ref.$(AndroidLatestUnstableApiLevel)\$(AndroidPackVersion)\data\FrameworkList.xml" /> + <_RuntimeListInputs Include="$(MicrosoftAndroidArmPackDir)**" /> + <_RuntimeListInputs Include="$(MicrosoftAndroidArm64PackDir)**" /> + <_RuntimeListInputs Include="$(MicrosoftAndroidx86PackDir)**" /> + <_RuntimeListInputs Include="$(MicrosoftAndroidx64PackDir)**" /> + <_RuntimeListOutputs Include="@(AndroidSupportedTargetJitAbi->'$(BuildOutputDirectory)lib\packs\Microsoft.Android.Runtime.$(AndroidDefaultTargetDotnetApiLevel).%(AndroidRID)\$(AndroidPackVersion)\data\RuntimeList.xml')" AndroidRID="%(AndroidRID)" /> + <_RuntimeListOutputs Include="@(AndroidSupportedTargetJitAbi->'$(BuildOutputDirectory)lib\packs\Microsoft.Android.Runtime.$(AndroidLatestStableApiLevel).%(AndroidRID)\$(AndroidPackVersion)\data\RuntimeList.xml')" AndroidRID="%(AndroidRID)" /> + <_RuntimeListOutputs Include="@(AndroidSupportedTargetJitAbi->'$(BuildOutputDirectory)lib\packs\Microsoft.Android.Runtime.$(AndroidLatestUnstableApiLevel).%(AndroidRID)\$(AndroidPackVersion)\data\RuntimeList.xml')" AndroidRID="%(AndroidRID)" /> + <_TemplatesInputs Include="$(XamarinAndroidSourcePath)src\Microsoft.Android.Templates\**" /> + <_TemplatesOutputs Include="$(BuildOutputDirectory)lib\template-packs\microsoft.android.templates.$(AndroidPackVersion).nupkg" /> + + + + + + + + + + + + + <_PackProps Include="-v:n -c $(Configuration)" /> + <_PackProps Include="-p:IncludeSymbols=False" /> + <_PackProps Include="-p:OutputPath=$(BuildOutputDirectory)lib\template-packs" /> + <_PackProps Include="-p:TemplatePackVersion=$(AndroidPackVersion)" /> + <_PackProps Include="-p:PackageId=microsoft.android.templates" /> + + + + + + + + + + + + + + + + + + + + + <_LocalSdkManifestsFolder>$(BuildOutputDirectory)lib\sdk-manifests\$(DotNetSdkManifestsFolder)\ + <_LocalAndroidManifestFolder>$(_LocalSdkManifestsFolder)microsoft.net.sdk.android\$(AndroidPackVersionLong)\ + <_EmptyWorkloadDir>$(_LocalSdkManifestsFolder)android.deps.workload\0.0.1\ + + + + + + + + + + + <_EmptyWorkloadJsonContent> + + + + + + + + + + + + + + CreateLocalFrameworkLists;CreateLocalRuntimeLists;InstallManifestAndDependencies;DeleteExtractedWorkloadPacks;PackLocalTemplates + + + + diff --git a/build-tools/create-packs/Directory.Build.targets b/build-tools/create-packs/Directory.Build.targets index d1913bae21a..7a0b67e7f39 100644 --- a/build-tools/create-packs/Directory.Build.targets +++ b/build-tools/create-packs/Directory.Build.targets @@ -213,90 +213,6 @@ - - <_FrameworkListInputs Include="$(MicrosoftAndroidRefPackDir)**" /> - <_FrameworkListOutputs Include="$(BuildOutputDirectory)lib\packs\Microsoft.Android.Ref.$(AndroidDefaultTargetDotnetApiLevel)\$(AndroidPackVersion)\data\FrameworkList.xml" /> - <_FrameworkListOutputs Include="$(BuildOutputDirectory)lib\packs\Microsoft.Android.Ref.$(AndroidLatestStableApiLevel)\$(AndroidPackVersion)\data\FrameworkList.xml" /> - <_FrameworkListOutputs Include="$(BuildOutputDirectory)lib\packs\Microsoft.Android.Ref.$(AndroidLatestUnstableApiLevel)\$(AndroidPackVersion)\data\FrameworkList.xml" /> - <_RuntimeListInputs Include="$(MicrosoftAndroidArmPackDir)**" /> - <_RuntimeListInputs Include="$(MicrosoftAndroidArm64PackDir)**" /> - <_RuntimeListInputs Include="$(MicrosoftAndroidx86PackDir)**" /> - <_RuntimeListInputs Include="$(MicrosoftAndroidx64PackDir)**" /> - <_RuntimeListOutputs Include="@(AndroidSupportedTargetJitAbi->'$(BuildOutputDirectory)lib\packs\Microsoft.Android.Runtime.$(AndroidDefaultTargetDotnetApiLevel).%(AndroidRID)\$(AndroidPackVersion)\data\RuntimeList.xml')" AndroidRID="%(AndroidRID)" /> - <_RuntimeListOutputs Include="@(AndroidSupportedTargetJitAbi->'$(BuildOutputDirectory)lib\packs\Microsoft.Android.Runtime.$(AndroidLatestStableApiLevel).%(AndroidRID)\$(AndroidPackVersion)\data\RuntimeList.xml')" AndroidRID="%(AndroidRID)" /> - <_RuntimeListOutputs Include="@(AndroidSupportedTargetJitAbi->'$(BuildOutputDirectory)lib\packs\Microsoft.Android.Runtime.$(AndroidLatestUnstableApiLevel).%(AndroidRID)\$(AndroidPackVersion)\data\RuntimeList.xml')" AndroidRID="%(AndroidRID)" /> - <_TemplatesInputs Include="$(XamarinAndroidSourcePath)src\Microsoft.Android.Templates\**" /> - <_TemplatesOutputs Include="$(BuildOutputDirectory)lib\template-packs\microsoft.android.templates.$(AndroidPackVersion).nupkg" /> - - - - - - - - - - - - - <_PackProps Include="-v:n -c $(Configuration)" /> - <_PackProps Include="-p:IncludeSymbols=False" /> - <_PackProps Include="-p:OutputPath=$(DotNetPreviewPath)template-packs" /> - <_PackProps Include="-p:TemplatePackVersion=$(AndroidPackVersion)" /> - <_PackProps Include="-p:PackageId=microsoft.android.templates" /> - - - - - - - <_LocalSdkManifestsFolder>$(BuildOutputDirectory)lib\sdk-manifests\$(DotNetSdkManifestsFolder)\ - <_LocalAndroidManifestFolder>$(_LocalSdkManifestsFolder)microsoft.net.sdk.android\$(AndroidPackVersionLong)\ - <_EmptyWorkloadDir>$(_LocalSdkManifestsFolder)android.deps.workload\0.0.1\ - <_EmptyWorkloadJsonContent> - - - - - - - - - - - - - CreateLocalFrameworkLists;CreateLocalRuntimeLists;PackAndCopyTemplates;InstallManifestAndDependencies - - +