From 7836968c5d93d43dae2a9bf06090cc54447a80a6 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Tue, 1 Jun 2021 14:28:46 -0400 Subject: [PATCH 01/29] Try NuGet -> MSI conversion template --- build-tools/automation/azure-pipelines.yaml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 60aa48fa79b..2878632f72b 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -13,7 +13,7 @@ resources: - repository: yaml type: github name: xamarin/yaml-templates - ref: refs/heads/main + ref: refs/heads/pjc/nuget-convert-insert endpoint: xamarin - repository: monodroid type: github @@ -1277,6 +1277,16 @@ stages: usePipelineArtifactTasks: true condition: eq(variables['MicroBuildSignType'], 'Real') + # Check - "Xamarin.Android (.NET 6 Preview Installers Convert NuGet to MSI)" + - template: nuget-msi-convert/job/v1.yml@xamarin-templates + parameters: + dependsOn: signing + artifactName: nuget-signed + artifactPatterns: | + !*Darwin* + !*Linux* + condition: eq(variables['MicroBuildSignType'], 'Real') + # Check - "Xamarin.Android (.NET 6 Preview Installers Create .pkg)" - job: dotnet_create_pkg displayName: Create .pkg From 85a9d6a2b421788e79e4066db982c7dad13366e9 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Tue, 1 Jun 2021 14:31:12 -0400 Subject: [PATCH 02/29] Fix template alias --- build-tools/automation/azure-pipelines.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 2878632f72b..c32571b58d7 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -1278,7 +1278,7 @@ stages: condition: eq(variables['MicroBuildSignType'], 'Real') # Check - "Xamarin.Android (.NET 6 Preview Installers Convert NuGet to MSI)" - - template: nuget-msi-convert/job/v1.yml@xamarin-templates + - template: nuget-msi-convert/job/v1.yml@yaml parameters: dependsOn: signing artifactName: nuget-signed From ef414b72322b77afedebd45846344b23fbc24d32 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Tue, 1 Jun 2021 14:52:32 -0400 Subject: [PATCH 03/29] Add workload.props --- build-tools/create-packs/Directory.Build.targets | 6 ++++++ .../create-packs/xamarin-workload.in.props | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 build-tools/create-packs/xamarin-workload.in.props diff --git a/build-tools/create-packs/Directory.Build.targets b/build-tools/create-packs/Directory.Build.targets index da8cccd14b0..28806ed4276 100644 --- a/build-tools/create-packs/Directory.Build.targets +++ b/build-tools/create-packs/Directory.Build.targets @@ -11,6 +11,7 @@ + <_MonoAndroidNETOutputDir>$(XAInstallPrefix)xbuild-frameworks\Microsoft.Android\net6.0\ @@ -69,6 +70,11 @@ + + + + android-workload + android + xamarin-android + @WORKLOAD_BRANCH@ + $([System.DateTime]::Now.ToString("yyMMdd")).1 + <_FullWorkloadName>microsoft-android-sdk-full + + + + + + + From 2b63c388dc49fdbd4d28d68b08645f6eb9b53e81 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Tue, 1 Jun 2021 17:29:44 -0400 Subject: [PATCH 04/29] xamarin-workload.props file replacement depends on GetXAVersionInfo --- build-tools/create-packs/Directory.Build.targets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-tools/create-packs/Directory.Build.targets b/build-tools/create-packs/Directory.Build.targets index 28806ed4276..19cb827914c 100644 --- a/build-tools/create-packs/Directory.Build.targets +++ b/build-tools/create-packs/Directory.Build.targets @@ -11,7 +11,7 @@ - + <_MonoAndroidNETOutputDir>$(XAInstallPrefix)xbuild-frameworks\Microsoft.Android\net6.0\ @@ -57,7 +57,7 @@ + DependsOnTargets="DeleteExtractedWorkloadPacks;_SetGlobalProperties;GetXAVersionInfo"> From fd1911ee8169c90a65bed8df3c5624ad0b82380a Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Wed, 2 Jun 2021 11:14:48 -0400 Subject: [PATCH 05/29] Set sign type --- build-tools/automation/azure-pipelines.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index c32571b58d7..8d8d70db6bb 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -1285,6 +1285,8 @@ stages: artifactPatterns: | !*Darwin* !*Linux* + propsArtifactName: nuget-unsigned + signType: $(MicroBuildSignType) condition: eq(variables['MicroBuildSignType'], 'Real') # Check - "Xamarin.Android (.NET 6 Preview Installers Create .pkg)" From 45f0bf8869283759361129d12a5630d7f62fea0e Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Wed, 2 Jun 2021 17:06:49 -0400 Subject: [PATCH 06/29] Use single exclude line for now --- build-tools/automation/azure-pipelines.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 8d8d70db6bb..3655a1d410d 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -1284,7 +1284,6 @@ stages: artifactName: nuget-signed artifactPatterns: | !*Darwin* - !*Linux* propsArtifactName: nuget-unsigned signType: $(MicroBuildSignType) condition: eq(variables['MicroBuildSignType'], 'Real') From 9187a64bb628d232150c02784b84f93d09ef153f Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 3 Jun 2021 12:07:32 -0400 Subject: [PATCH 07/29] Add VSDrop support --- build-tools/automation/azure-pipelines.yaml | 8 ++++++++ build-tools/create-packs/Directory.Build.targets | 2 +- build-tools/create-packs/xamarin-workload.in.props | 4 ---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 3655a1d410d..3a168ca756e 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -1490,6 +1490,14 @@ stages: solution: build-tools\Xamarin.Android.Tools.BootstrapTasks\Xamarin.Android.Tools.BootstrapTasks.csproj artifactName: Build Results - .NET 6 Preview .msi +# .NET 6 VS Insertion Stage +# Check - "Xamarin.Android (VS Insertion - Wait For Approval)" +# Check - "Xamarin.Android (VS Insertion - Create VS Drop and Open PR)" +- template: vs-insertion/stage/v1.yml@yaml + parameters: + dependsOn: dotnet_installers + condition: eq(variables['MicroBuildSignType'], 'Real') + - stage: finalize_installers displayName: Finalize Installers dependsOn: mac_build diff --git a/build-tools/create-packs/Directory.Build.targets b/build-tools/create-packs/Directory.Build.targets index 19cb827914c..b12387de434 100644 --- a/build-tools/create-packs/Directory.Build.targets +++ b/build-tools/create-packs/Directory.Build.targets @@ -73,7 +73,7 @@ diff --git a/build-tools/create-packs/xamarin-workload.in.props b/build-tools/create-packs/xamarin-workload.in.props index 46bb89c4f72..ed5745aed65 100644 --- a/build-tools/create-packs/xamarin-workload.in.props +++ b/build-tools/create-packs/xamarin-workload.in.props @@ -2,10 +2,6 @@ android-workload - android - xamarin-android - @WORKLOAD_BRANCH@ - $([System.DateTime]::Now.ToString("yyMMdd")).1 <_FullWorkloadName>microsoft-android-sdk-full From 5501305bf2c42fd3ae7cc32a65bc94307117248c Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Fri, 4 Jun 2021 11:02:42 -0400 Subject: [PATCH 08/29] Test prebuilt nugets --- build-tools/automation/azure-pipelines.yaml | 437 ++++++++++---------- 1 file changed, 230 insertions(+), 207 deletions(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 3a168ca756e..8659c8e422e 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -1267,15 +1267,38 @@ stages: - stage: dotnet_installers displayName: .NET 6 Preview Installers - dependsOn: mac_build + dependsOn: [] jobs: + - job: signing + displayName: temp download-upload + pool: $(HostedWinVS2019) + timeoutInMinutes: 120 + steps: + - checkout: none + + - task: DownloadPipelineArtifact@2 + inputs: + source: specific + project: DevDiv + pipeline: 11410 + runVersion: latestFromBranch + runBranch: refs/heads/main + allowFailedBuilds: true + artifact: nuget-signed + path: $(System.DefaultWorkingDirectory)\nuget-signed + + - task: PublishPipelineArtifact@1 + inputs: + artifactName: nuget-signed + downloadPath: $(System.DefaultWorkingDirectory)\nuget-signed + # Check - "Xamarin.Android (.NET 6 Preview Installers Sign NuGets)" - - template: sign-artifacts/jobs/v2.yml@yaml - parameters: - artifactName: $(NuGetArtifactName) - signType: $(MicroBuildSignType) - usePipelineArtifactTasks: true - condition: eq(variables['MicroBuildSignType'], 'Real') + # - template: sign-artifacts/jobs/v2.yml@yaml + # parameters: + # artifactName: $(NuGetArtifactName) + # signType: $(MicroBuildSignType) + # usePipelineArtifactTasks: true + # condition: eq(variables['MicroBuildSignType'], 'Real') # Check - "Xamarin.Android (.NET 6 Preview Installers Convert NuGet to MSI)" - template: nuget-msi-convert/job/v1.yml@yaml @@ -1289,206 +1312,206 @@ stages: condition: eq(variables['MicroBuildSignType'], 'Real') # Check - "Xamarin.Android (.NET 6 Preview Installers Create .pkg)" - - job: dotnet_create_pkg - displayName: Create .pkg - ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: - dependsOn: signing - pool: - name: $(VSEngMacBuildPool) - demands: - - agent.osversionfamily -equals 10.15 - workspace: - clean: all - steps: - - checkout: self - submodules: recursive - - - checkout: release_scripts - clean: true - - - template: yaml-templates/use-dot-net.yaml - parameters: - remove_dotnet: true - - - template: yaml-templates/use-dot-net.yaml - parameters: - version: $(DotNetCoreVersion) - - - task: DownloadPipelineArtifact@2 - inputs: - ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: - artifactName: nuget-signed - ${{ if ne(variables['MicroBuildSignType'], 'Real') }}: - artifactName: $(NuGetArtifactName) - downloadPath: $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/$(NuGetArtifactName) - - - task: NuGetCommand@2 - displayName: push nupkgs - inputs: - command: push - packagesToPush: $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/$(NuGetArtifactName)/*.nupkg - nuGetFeedType: external - publishFeedCredentials: xamarin-impl public feed - condition: and(succeeded(), eq(variables['PushXAPackages'], 'true')) - - - template: yaml-templates/install-microbuild-tooling.yaml - parameters: - condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) - - - task: MSBuild@1 - displayName: msbuild Xamarin.Android.BootstrapTasks - inputs: - solution: $(System.DefaultWorkingDirectory)/xamarin-android/Xamarin.Android.BootstrapTasks.sln - configuration: $(XA.Build.Configuration) - msbuildArguments: /restore /bl:$(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/msbuild-bootstraptasks.binlog - - - task: MSBuild@1 - displayName: msbuild /t:Restore create-dotnet-pkg.proj - inputs: - solution: $(System.DefaultWorkingDirectory)/xamarin-android/build-tools/create-dotnet-pkg/create-dotnet-pkg.csproj - configuration: $(XA.Build.Configuration) - msbuildArguments: /t:Restore /bl:$(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/restore-create-pkg.binlog - - - task: DotNetCoreCLI@2 - displayName: create workload .pkg installer - inputs: - projects: $(System.DefaultWorkingDirectory)/xamarin-android/Xamarin.Android.sln - arguments: >- - -t:CreateWorkloadInstallers -c $(XA.Build.Configuration) -v:n - -p:SignType=$(MicroBuildSignType) -p:MicroBuildOverridePluginDirectory=$(Build.StagingDirectory)/MicroBuild/Plugins - -bl:$(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/msbuild-workload.binlog - - - powershell: | - $pkg = Get-ChildItem -Path "$(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/*" -Include *.pkg -File - if (![System.IO.File]::Exists($pkg)) { - throw [System.IO.FileNotFoundException] "Pkg File not found in $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)" - } - Write-Host "##vso[task.setvariable variable=XA.NET6.Pkg]$pkg" - displayName: set variable to pkg path - - - script: > - cd $(System.DefaultWorkingDirectory)/release-scripts && - pwsh notarize.ps1 -FolderForApps $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration) - failOnStderr: true - displayName: Notarize PKG - condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) - - - script: xcrun stapler validate $(XA.NET6.Pkg) - displayName: validate notarized pkg - condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) - - - task: PublishPipelineArtifact@1 - displayName: upload pkg - inputs: - ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: - artifactName: net6-pkg-signed - ${{ if ne(variables['MicroBuildSignType'], 'Real') }}: - artifactName: net6-pkg-unsigned - targetPath: $(XA.NET6.Pkg) - - - template: yaml-templates/remove-microbuild-tooling.yaml - parameters: - condition: and(succeededOrFailed(), eq(variables['MicroBuildSignType'], 'Real')) - - - template: yaml-templates/upload-results.yaml - parameters: - solution: $(System.DefaultWorkingDirectory)/xamarin-android/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj - artifactName: Build Results - .NET 6 Preview .pkg - - # Check - "Xamarin.Android (.NET 6 Preview Installers Create .msi and Upload)" - - job: dotnet_create_msi - displayName: Create .msi and Upload - dependsOn: dotnet_create_pkg - pool: VSEngSS-MicroBuild2019 - workspace: - clean: all - variables: - - ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: - - group: Publish-Build-Assets - steps: - - checkout: self - submodules: recursive - - - template: yaml-templates/use-dot-net.yaml - - - task: DownloadPipelineArtifact@2 - inputs: - ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: - artifactName: nuget-signed - ${{ if ne(variables['MicroBuildSignType'], 'Real') }}: - artifactName: $(NuGetArtifactName) - downloadPath: $(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\$(NuGetArtifactName) - - - task: DownloadPipelineArtifact@2 - inputs: - ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: - artifactName: net6-pkg-signed - ${{ if ne(variables['MicroBuildSignType'], 'Real') }}: - artifactName: net6-pkg-unsigned - downloadPath: $(System.DefaultWorkingDirectory)\installer-artifacts - patterns: Microsoft.*.pkg - - - template: yaml-templates\install-microbuild-tooling.yaml - parameters: - condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) - - - task: MSBuild@1 - displayName: msbuild Xamarin.Android.BootstrapTasks - inputs: - solution: Xamarin.Android.BootstrapTasks.sln - configuration: $(XA.Build.Configuration) - msbuildArguments: /restore /bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\msbuild-bootstraptasks.binlog - - - task: MSBuild@1 - displayName: msbuild /t:Restore create-dotnet-msi.csproj - inputs: - solution: $(System.DefaultWorkingDirectory)\build-tools\create-dotnet-msi\create-dotnet-msi.csproj - configuration: $(XA.Build.Configuration) - msbuildArguments: /t:Restore /bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\restore-create-msi.binlog - - - task: MSBuild@1 - displayName: msbuild /t:CreateWorkloadInstallers - inputs: - solution: Xamarin.Android.sln - configuration: $(XA.Build.Configuration) - msbuildArguments: /t:CreateWorkloadInstallers /p:SignType=$(MicroBuildSignType) /bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\msbuild-workload.binlog - - - script: copy /Y $(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\*.msi $(System.DefaultWorkingDirectory)\installer-artifacts - displayName: copy .msi - - - template: upload-to-storage\win\v1.yml@yaml - parameters: - ArtifactsDirectory: $(System.DefaultWorkingDirectory)\installer-artifacts - Azure.ContainerName: $(Azure.Container.Name) - Azure.BlobPrefix: $(Build.DefinitionName)/public/net6/$(Build.BuildId)/$(Build.SourceBranchName)/$(Build.SourceVersion) - GitHub.Context: .NET 6 Preview Installers - - - template: yaml-templates\remove-microbuild-tooling.yaml - parameters: - condition: and(succeededOrFailed(), eq(variables['MicroBuildSignType'], 'Real')) - - - powershell: >- - & dotnet build -v:n -c $(XA.Build.Configuration) - -t:PushManifestToBuildAssetRegistry - -p:BuildAssetRegistryToken=$(MaestroAccessToken) - $(System.DefaultWorkingDirectory)\build-tools\create-packs\Microsoft.Android.Sdk.proj - -bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\push-bar-manifest.binlog - displayName: generate and publish BAR manifest - condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) - - - powershell: | - $versionEndpoint = 'https://maestro-prod.westus2.cloudapp.azure.com/api/assets/darc-version?api-version=2019-01-16' - $darcVersion = $(Invoke-WebRequest -Uri $versionEndpoint -UseBasicParsing).Content - $arcadeServicesSource = 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json' - & dotnet tool update microsoft.dotnet.darc --version "$darcVersion" --add-source "$arcadeServicesSource" --tool-path $(Agent.ToolsDirectory)\darc -v n - & $(Agent.ToolsDirectory)\darc\darc add-build-to-channel --default-channels --id $(BARBuildId) --publishing-infra-version 3 --skip-assets-publishing --password $(MaestroAccessToken) --azdev-pat $(publishing-dnceng-devdiv-code-r-build-re) - displayName: add build to default darc channel - condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) - - - template: yaml-templates/upload-results.yaml - parameters: - solution: build-tools\Xamarin.Android.Tools.BootstrapTasks\Xamarin.Android.Tools.BootstrapTasks.csproj - artifactName: Build Results - .NET 6 Preview .msi + # - job: dotnet_create_pkg + # displayName: Create .pkg + # ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: + # dependsOn: signing + # pool: + # name: $(VSEngMacBuildPool) + # demands: + # - agent.osversionfamily -equals 10.15 + # workspace: + # clean: all + # steps: + # - checkout: self + # submodules: recursive + + # - checkout: release_scripts + # clean: true + + # - template: yaml-templates/use-dot-net.yaml + # parameters: + # remove_dotnet: true + + # - template: yaml-templates/use-dot-net.yaml + # parameters: + # version: $(DotNetCoreVersion) + + # - task: DownloadPipelineArtifact@2 + # inputs: + # ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: + # artifactName: nuget-signed + # ${{ if ne(variables['MicroBuildSignType'], 'Real') }}: + # artifactName: $(NuGetArtifactName) + # downloadPath: $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/$(NuGetArtifactName) + + # - task: NuGetCommand@2 + # displayName: push nupkgs + # inputs: + # command: push + # packagesToPush: $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/$(NuGetArtifactName)/*.nupkg + # nuGetFeedType: external + # publishFeedCredentials: xamarin-impl public feed + # condition: and(succeeded(), eq(variables['PushXAPackages'], 'true')) + + # - template: yaml-templates/install-microbuild-tooling.yaml + # parameters: + # condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) + + # - task: MSBuild@1 + # displayName: msbuild Xamarin.Android.BootstrapTasks + # inputs: + # solution: $(System.DefaultWorkingDirectory)/xamarin-android/Xamarin.Android.BootstrapTasks.sln + # configuration: $(XA.Build.Configuration) + # msbuildArguments: /restore /bl:$(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/msbuild-bootstraptasks.binlog + + # - task: MSBuild@1 + # displayName: msbuild /t:Restore create-dotnet-pkg.proj + # inputs: + # solution: $(System.DefaultWorkingDirectory)/xamarin-android/build-tools/create-dotnet-pkg/create-dotnet-pkg.csproj + # configuration: $(XA.Build.Configuration) + # msbuildArguments: /t:Restore /bl:$(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/restore-create-pkg.binlog + + # - task: DotNetCoreCLI@2 + # displayName: create workload .pkg installer + # inputs: + # projects: $(System.DefaultWorkingDirectory)/xamarin-android/Xamarin.Android.sln + # arguments: >- + # -t:CreateWorkloadInstallers -c $(XA.Build.Configuration) -v:n + # -p:SignType=$(MicroBuildSignType) -p:MicroBuildOverridePluginDirectory=$(Build.StagingDirectory)/MicroBuild/Plugins + # -bl:$(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/msbuild-workload.binlog + + # - powershell: | + # $pkg = Get-ChildItem -Path "$(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/*" -Include *.pkg -File + # if (![System.IO.File]::Exists($pkg)) { + # throw [System.IO.FileNotFoundException] "Pkg File not found in $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)" + # } + # Write-Host "##vso[task.setvariable variable=XA.NET6.Pkg]$pkg" + # displayName: set variable to pkg path + + # - script: > + # cd $(System.DefaultWorkingDirectory)/release-scripts && + # pwsh notarize.ps1 -FolderForApps $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration) + # failOnStderr: true + # displayName: Notarize PKG + # condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) + + # - script: xcrun stapler validate $(XA.NET6.Pkg) + # displayName: validate notarized pkg + # condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) + + # - task: PublishPipelineArtifact@1 + # displayName: upload pkg + # inputs: + # ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: + # artifactName: net6-pkg-signed + # ${{ if ne(variables['MicroBuildSignType'], 'Real') }}: + # artifactName: net6-pkg-unsigned + # targetPath: $(XA.NET6.Pkg) + + # - template: yaml-templates/remove-microbuild-tooling.yaml + # parameters: + # condition: and(succeededOrFailed(), eq(variables['MicroBuildSignType'], 'Real')) + + # - template: yaml-templates/upload-results.yaml + # parameters: + # solution: $(System.DefaultWorkingDirectory)/xamarin-android/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj + # artifactName: Build Results - .NET 6 Preview .pkg + + # # Check - "Xamarin.Android (.NET 6 Preview Installers Create .msi and Upload)" + # - job: dotnet_create_msi + # displayName: Create .msi and Upload + # dependsOn: dotnet_create_pkg + # pool: VSEngSS-MicroBuild2019 + # workspace: + # clean: all + # variables: + # - ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: + # - group: Publish-Build-Assets + # steps: + # - checkout: self + # submodules: recursive + + # - template: yaml-templates/use-dot-net.yaml + + # - task: DownloadPipelineArtifact@2 + # inputs: + # ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: + # artifactName: nuget-signed + # ${{ if ne(variables['MicroBuildSignType'], 'Real') }}: + # artifactName: $(NuGetArtifactName) + # downloadPath: $(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\$(NuGetArtifactName) + + # - task: DownloadPipelineArtifact@2 + # inputs: + # ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: + # artifactName: net6-pkg-signed + # ${{ if ne(variables['MicroBuildSignType'], 'Real') }}: + # artifactName: net6-pkg-unsigned + # downloadPath: $(System.DefaultWorkingDirectory)\installer-artifacts + # patterns: Microsoft.*.pkg + + # - template: yaml-templates\install-microbuild-tooling.yaml + # parameters: + # condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) + + # - task: MSBuild@1 + # displayName: msbuild Xamarin.Android.BootstrapTasks + # inputs: + # solution: Xamarin.Android.BootstrapTasks.sln + # configuration: $(XA.Build.Configuration) + # msbuildArguments: /restore /bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\msbuild-bootstraptasks.binlog + + # - task: MSBuild@1 + # displayName: msbuild /t:Restore create-dotnet-msi.csproj + # inputs: + # solution: $(System.DefaultWorkingDirectory)\build-tools\create-dotnet-msi\create-dotnet-msi.csproj + # configuration: $(XA.Build.Configuration) + # msbuildArguments: /t:Restore /bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\restore-create-msi.binlog + + # - task: MSBuild@1 + # displayName: msbuild /t:CreateWorkloadInstallers + # inputs: + # solution: Xamarin.Android.sln + # configuration: $(XA.Build.Configuration) + # msbuildArguments: /t:CreateWorkloadInstallers /p:SignType=$(MicroBuildSignType) /bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\msbuild-workload.binlog + + # - script: copy /Y $(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\*.msi $(System.DefaultWorkingDirectory)\installer-artifacts + # displayName: copy .msi + + # - template: upload-to-storage\win\v1.yml@yaml + # parameters: + # ArtifactsDirectory: $(System.DefaultWorkingDirectory)\installer-artifacts + # Azure.ContainerName: $(Azure.Container.Name) + # Azure.BlobPrefix: $(Build.DefinitionName)/public/net6/$(Build.BuildId)/$(Build.SourceBranchName)/$(Build.SourceVersion) + # GitHub.Context: .NET 6 Preview Installers + + # - template: yaml-templates\remove-microbuild-tooling.yaml + # parameters: + # condition: and(succeededOrFailed(), eq(variables['MicroBuildSignType'], 'Real')) + + # - powershell: >- + # & dotnet build -v:n -c $(XA.Build.Configuration) + # -t:PushManifestToBuildAssetRegistry + # -p:BuildAssetRegistryToken=$(MaestroAccessToken) + # $(System.DefaultWorkingDirectory)\build-tools\create-packs\Microsoft.Android.Sdk.proj + # -bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\push-bar-manifest.binlog + # displayName: generate and publish BAR manifest + # condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) + + # - powershell: | + # $versionEndpoint = 'https://maestro-prod.westus2.cloudapp.azure.com/api/assets/darc-version?api-version=2019-01-16' + # $darcVersion = $(Invoke-WebRequest -Uri $versionEndpoint -UseBasicParsing).Content + # $arcadeServicesSource = 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json' + # & dotnet tool update microsoft.dotnet.darc --version "$darcVersion" --add-source "$arcadeServicesSource" --tool-path $(Agent.ToolsDirectory)\darc -v n + # & $(Agent.ToolsDirectory)\darc\darc add-build-to-channel --default-channels --id $(BARBuildId) --publishing-infra-version 3 --skip-assets-publishing --password $(MaestroAccessToken) --azdev-pat $(publishing-dnceng-devdiv-code-r-build-re) + # displayName: add build to default darc channel + # condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) + + # - template: yaml-templates/upload-results.yaml + # parameters: + # solution: build-tools\Xamarin.Android.Tools.BootstrapTasks\Xamarin.Android.Tools.BootstrapTasks.csproj + # artifactName: Build Results - .NET 6 Preview .msi # .NET 6 VS Insertion Stage # Check - "Xamarin.Android (VS Insertion - Wait For Approval)" From efd86b4858df634b155f5faf4ea1d4dba7a5f798 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Fri, 4 Jun 2021 11:16:39 -0400 Subject: [PATCH 09/29] ff --- build-tools/automation/azure-pipelines.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 8659c8e422e..7632cd19e46 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -1292,6 +1292,22 @@ stages: artifactName: nuget-signed downloadPath: $(System.DefaultWorkingDirectory)\nuget-signed + - task: DownloadPipelineArtifact@2 + inputs: + source: specific + project: DevDiv + pipeline: 11410 + runVersion: latestFromBranch + runBranch: refs/heads/main + allowFailedBuilds: true + artifact: nuget-signed + path: $(System.DefaultWorkingDirectory)\nuget-unsigned + + - task: PublishPipelineArtifact@1 + inputs: + artifactName: nuget-signed + downloadPath: $(System.DefaultWorkingDirectory)\nuget-unsigned + # Check - "Xamarin.Android (.NET 6 Preview Installers Sign NuGets)" # - template: sign-artifacts/jobs/v2.yml@yaml # parameters: From 77cc5fe6024eca538d3edc75a58c5b3c329d728d Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Fri, 4 Jun 2021 11:43:23 -0400 Subject: [PATCH 10/29] Fix props upload --- build-tools/automation/azure-pipelines.yaml | 15 ++++----------- .../create-packs/xamarin-workload.in.props | 2 +- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 7632cd19e46..7cff2478e4b 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -1292,20 +1292,13 @@ stages: artifactName: nuget-signed downloadPath: $(System.DefaultWorkingDirectory)\nuget-signed - - task: DownloadPipelineArtifact@2 - inputs: - source: specific - project: DevDiv - pipeline: 11410 - runVersion: latestFromBranch - runBranch: refs/heads/main - allowFailedBuilds: true - artifact: nuget-signed - path: $(System.DefaultWorkingDirectory)\nuget-unsigned + - pwsh: | + mkdir $(System.DefaultWorkingDirectory)\nuget-unsigned + cp build-tools\create-packs\xamarin-workload.in.props nuget-unsigned\xamarin-workload.props - task: PublishPipelineArtifact@1 inputs: - artifactName: nuget-signed + artifactName: nuget-unsigned downloadPath: $(System.DefaultWorkingDirectory)\nuget-unsigned # Check - "Xamarin.Android (.NET 6 Preview Installers Sign NuGets)" diff --git a/build-tools/create-packs/xamarin-workload.in.props b/build-tools/create-packs/xamarin-workload.in.props index ed5745aed65..649f31ed043 100644 --- a/build-tools/create-packs/xamarin-workload.in.props +++ b/build-tools/create-packs/xamarin-workload.in.props @@ -6,7 +6,7 @@ - + From 0093068e09487a04a24d266adf71f2f4930731af Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Fri, 4 Jun 2021 11:54:55 -0400 Subject: [PATCH 11/29] temp checkout --- build-tools/automation/azure-pipelines.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 7cff2478e4b..972097a9d19 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -1274,7 +1274,7 @@ stages: pool: $(HostedWinVS2019) timeoutInMinutes: 120 steps: - - checkout: none + - checkout: self - task: DownloadPipelineArtifact@2 inputs: From ee9580a747a3ec4fbde6338cfd32fae1e75809ca Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Fri, 4 Jun 2021 12:31:46 -0400 Subject: [PATCH 12/29] Fix path --- build-tools/automation/azure-pipelines.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 972097a9d19..17fc4756f63 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -1290,7 +1290,7 @@ stages: - task: PublishPipelineArtifact@1 inputs: artifactName: nuget-signed - downloadPath: $(System.DefaultWorkingDirectory)\nuget-signed + targetPath: $(System.DefaultWorkingDirectory)\nuget-signed - pwsh: | mkdir $(System.DefaultWorkingDirectory)\nuget-unsigned @@ -1299,7 +1299,7 @@ stages: - task: PublishPipelineArtifact@1 inputs: artifactName: nuget-unsigned - downloadPath: $(System.DefaultWorkingDirectory)\nuget-unsigned + targetPath: $(System.DefaultWorkingDirectory)\nuget-unsigned # Check - "Xamarin.Android (.NET 6 Preview Installers Sign NuGets)" # - template: sign-artifacts/jobs/v2.yml@yaml From 960f5931a53b220e991def21c06762ef2ad41af4 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 17 Jun 2021 12:51:24 -0400 Subject: [PATCH 13/29] Update workload.props --- build-tools/create-packs/xamarin-workload.in.props | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-tools/create-packs/xamarin-workload.in.props b/build-tools/create-packs/xamarin-workload.in.props index 649f31ed043..38ffbd06a8d 100644 --- a/build-tools/create-packs/xamarin-workload.in.props +++ b/build-tools/create-packs/xamarin-workload.in.props @@ -1,12 +1,11 @@ - android-workload + Microsoft.NET.Sdk.Android.Workload <_FullWorkloadName>microsoft-android-sdk-full - From c7f57f35800d48b4bf960d3f7b1ec45eef871d39 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 17 Jun 2021 12:54:37 -0400 Subject: [PATCH 14/29] Revert "Fix path" This reverts commit ee9580a747a3ec4fbde6338cfd32fae1e75809ca. --- build-tools/automation/azure-pipelines.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 17fc4756f63..972097a9d19 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -1290,7 +1290,7 @@ stages: - task: PublishPipelineArtifact@1 inputs: artifactName: nuget-signed - targetPath: $(System.DefaultWorkingDirectory)\nuget-signed + downloadPath: $(System.DefaultWorkingDirectory)\nuget-signed - pwsh: | mkdir $(System.DefaultWorkingDirectory)\nuget-unsigned @@ -1299,7 +1299,7 @@ stages: - task: PublishPipelineArtifact@1 inputs: artifactName: nuget-unsigned - targetPath: $(System.DefaultWorkingDirectory)\nuget-unsigned + downloadPath: $(System.DefaultWorkingDirectory)\nuget-unsigned # Check - "Xamarin.Android (.NET 6 Preview Installers Sign NuGets)" # - template: sign-artifacts/jobs/v2.yml@yaml From c91028fbce16a63198f819f2ab920c2aee602381 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 17 Jun 2021 12:54:47 -0400 Subject: [PATCH 15/29] Revert "temp checkout" This reverts commit 0093068e09487a04a24d266adf71f2f4930731af. --- build-tools/automation/azure-pipelines.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 972097a9d19..7cff2478e4b 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -1274,7 +1274,7 @@ stages: pool: $(HostedWinVS2019) timeoutInMinutes: 120 steps: - - checkout: self + - checkout: none - task: DownloadPipelineArtifact@2 inputs: From bc29c45633592efb4b5b8ee45c2d03de00306a13 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 17 Jun 2021 13:02:00 -0400 Subject: [PATCH 16/29] Revert "Fix props upload" This reverts commit 77cc5fe6024eca538d3edc75a58c5b3c329d728d. --- build-tools/automation/azure-pipelines.yaml | 15 +++++++++++---- .../create-packs/xamarin-workload.in.props | 4 ++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 7cff2478e4b..7632cd19e46 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -1292,13 +1292,20 @@ stages: artifactName: nuget-signed downloadPath: $(System.DefaultWorkingDirectory)\nuget-signed - - pwsh: | - mkdir $(System.DefaultWorkingDirectory)\nuget-unsigned - cp build-tools\create-packs\xamarin-workload.in.props nuget-unsigned\xamarin-workload.props + - task: DownloadPipelineArtifact@2 + inputs: + source: specific + project: DevDiv + pipeline: 11410 + runVersion: latestFromBranch + runBranch: refs/heads/main + allowFailedBuilds: true + artifact: nuget-signed + path: $(System.DefaultWorkingDirectory)\nuget-unsigned - task: PublishPipelineArtifact@1 inputs: - artifactName: nuget-unsigned + artifactName: nuget-signed downloadPath: $(System.DefaultWorkingDirectory)\nuget-unsigned # Check - "Xamarin.Android (.NET 6 Preview Installers Sign NuGets)" diff --git a/build-tools/create-packs/xamarin-workload.in.props b/build-tools/create-packs/xamarin-workload.in.props index 38ffbd06a8d..d2b480cb9dd 100644 --- a/build-tools/create-packs/xamarin-workload.in.props +++ b/build-tools/create-packs/xamarin-workload.in.props @@ -5,7 +5,7 @@ <_FullWorkloadName>microsoft-android-sdk-full - - + + From 8c5155d81a75c80016257084db6b2a697a573581 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 17 Jun 2021 13:02:55 -0400 Subject: [PATCH 17/29] Revert "ff" This reverts commit efd86b4858df634b155f5faf4ea1d4dba7a5f798. --- build-tools/automation/azure-pipelines.yaml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 7632cd19e46..8659c8e422e 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -1292,22 +1292,6 @@ stages: artifactName: nuget-signed downloadPath: $(System.DefaultWorkingDirectory)\nuget-signed - - task: DownloadPipelineArtifact@2 - inputs: - source: specific - project: DevDiv - pipeline: 11410 - runVersion: latestFromBranch - runBranch: refs/heads/main - allowFailedBuilds: true - artifact: nuget-signed - path: $(System.DefaultWorkingDirectory)\nuget-unsigned - - - task: PublishPipelineArtifact@1 - inputs: - artifactName: nuget-signed - downloadPath: $(System.DefaultWorkingDirectory)\nuget-unsigned - # Check - "Xamarin.Android (.NET 6 Preview Installers Sign NuGets)" # - template: sign-artifacts/jobs/v2.yml@yaml # parameters: From e2555c495cc7ebe76b0524e1a02a4a2f1e522594 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 17 Jun 2021 13:03:08 -0400 Subject: [PATCH 18/29] Revert "Test prebuilt nugets" This reverts commit 5501305bf2c42fd3ae7cc32a65bc94307117248c. --- build-tools/automation/azure-pipelines.yaml | 437 ++++++++++---------- 1 file changed, 207 insertions(+), 230 deletions(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 8659c8e422e..3a168ca756e 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -1267,38 +1267,15 @@ stages: - stage: dotnet_installers displayName: .NET 6 Preview Installers - dependsOn: [] + dependsOn: mac_build jobs: - - job: signing - displayName: temp download-upload - pool: $(HostedWinVS2019) - timeoutInMinutes: 120 - steps: - - checkout: none - - - task: DownloadPipelineArtifact@2 - inputs: - source: specific - project: DevDiv - pipeline: 11410 - runVersion: latestFromBranch - runBranch: refs/heads/main - allowFailedBuilds: true - artifact: nuget-signed - path: $(System.DefaultWorkingDirectory)\nuget-signed - - - task: PublishPipelineArtifact@1 - inputs: - artifactName: nuget-signed - downloadPath: $(System.DefaultWorkingDirectory)\nuget-signed - # Check - "Xamarin.Android (.NET 6 Preview Installers Sign NuGets)" - # - template: sign-artifacts/jobs/v2.yml@yaml - # parameters: - # artifactName: $(NuGetArtifactName) - # signType: $(MicroBuildSignType) - # usePipelineArtifactTasks: true - # condition: eq(variables['MicroBuildSignType'], 'Real') + - template: sign-artifacts/jobs/v2.yml@yaml + parameters: + artifactName: $(NuGetArtifactName) + signType: $(MicroBuildSignType) + usePipelineArtifactTasks: true + condition: eq(variables['MicroBuildSignType'], 'Real') # Check - "Xamarin.Android (.NET 6 Preview Installers Convert NuGet to MSI)" - template: nuget-msi-convert/job/v1.yml@yaml @@ -1312,206 +1289,206 @@ stages: condition: eq(variables['MicroBuildSignType'], 'Real') # Check - "Xamarin.Android (.NET 6 Preview Installers Create .pkg)" - # - job: dotnet_create_pkg - # displayName: Create .pkg - # ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: - # dependsOn: signing - # pool: - # name: $(VSEngMacBuildPool) - # demands: - # - agent.osversionfamily -equals 10.15 - # workspace: - # clean: all - # steps: - # - checkout: self - # submodules: recursive - - # - checkout: release_scripts - # clean: true - - # - template: yaml-templates/use-dot-net.yaml - # parameters: - # remove_dotnet: true - - # - template: yaml-templates/use-dot-net.yaml - # parameters: - # version: $(DotNetCoreVersion) - - # - task: DownloadPipelineArtifact@2 - # inputs: - # ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: - # artifactName: nuget-signed - # ${{ if ne(variables['MicroBuildSignType'], 'Real') }}: - # artifactName: $(NuGetArtifactName) - # downloadPath: $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/$(NuGetArtifactName) - - # - task: NuGetCommand@2 - # displayName: push nupkgs - # inputs: - # command: push - # packagesToPush: $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/$(NuGetArtifactName)/*.nupkg - # nuGetFeedType: external - # publishFeedCredentials: xamarin-impl public feed - # condition: and(succeeded(), eq(variables['PushXAPackages'], 'true')) - - # - template: yaml-templates/install-microbuild-tooling.yaml - # parameters: - # condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) - - # - task: MSBuild@1 - # displayName: msbuild Xamarin.Android.BootstrapTasks - # inputs: - # solution: $(System.DefaultWorkingDirectory)/xamarin-android/Xamarin.Android.BootstrapTasks.sln - # configuration: $(XA.Build.Configuration) - # msbuildArguments: /restore /bl:$(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/msbuild-bootstraptasks.binlog - - # - task: MSBuild@1 - # displayName: msbuild /t:Restore create-dotnet-pkg.proj - # inputs: - # solution: $(System.DefaultWorkingDirectory)/xamarin-android/build-tools/create-dotnet-pkg/create-dotnet-pkg.csproj - # configuration: $(XA.Build.Configuration) - # msbuildArguments: /t:Restore /bl:$(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/restore-create-pkg.binlog - - # - task: DotNetCoreCLI@2 - # displayName: create workload .pkg installer - # inputs: - # projects: $(System.DefaultWorkingDirectory)/xamarin-android/Xamarin.Android.sln - # arguments: >- - # -t:CreateWorkloadInstallers -c $(XA.Build.Configuration) -v:n - # -p:SignType=$(MicroBuildSignType) -p:MicroBuildOverridePluginDirectory=$(Build.StagingDirectory)/MicroBuild/Plugins - # -bl:$(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/msbuild-workload.binlog - - # - powershell: | - # $pkg = Get-ChildItem -Path "$(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/*" -Include *.pkg -File - # if (![System.IO.File]::Exists($pkg)) { - # throw [System.IO.FileNotFoundException] "Pkg File not found in $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)" - # } - # Write-Host "##vso[task.setvariable variable=XA.NET6.Pkg]$pkg" - # displayName: set variable to pkg path - - # - script: > - # cd $(System.DefaultWorkingDirectory)/release-scripts && - # pwsh notarize.ps1 -FolderForApps $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration) - # failOnStderr: true - # displayName: Notarize PKG - # condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) - - # - script: xcrun stapler validate $(XA.NET6.Pkg) - # displayName: validate notarized pkg - # condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) - - # - task: PublishPipelineArtifact@1 - # displayName: upload pkg - # inputs: - # ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: - # artifactName: net6-pkg-signed - # ${{ if ne(variables['MicroBuildSignType'], 'Real') }}: - # artifactName: net6-pkg-unsigned - # targetPath: $(XA.NET6.Pkg) - - # - template: yaml-templates/remove-microbuild-tooling.yaml - # parameters: - # condition: and(succeededOrFailed(), eq(variables['MicroBuildSignType'], 'Real')) - - # - template: yaml-templates/upload-results.yaml - # parameters: - # solution: $(System.DefaultWorkingDirectory)/xamarin-android/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj - # artifactName: Build Results - .NET 6 Preview .pkg - - # # Check - "Xamarin.Android (.NET 6 Preview Installers Create .msi and Upload)" - # - job: dotnet_create_msi - # displayName: Create .msi and Upload - # dependsOn: dotnet_create_pkg - # pool: VSEngSS-MicroBuild2019 - # workspace: - # clean: all - # variables: - # - ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: - # - group: Publish-Build-Assets - # steps: - # - checkout: self - # submodules: recursive - - # - template: yaml-templates/use-dot-net.yaml - - # - task: DownloadPipelineArtifact@2 - # inputs: - # ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: - # artifactName: nuget-signed - # ${{ if ne(variables['MicroBuildSignType'], 'Real') }}: - # artifactName: $(NuGetArtifactName) - # downloadPath: $(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\$(NuGetArtifactName) - - # - task: DownloadPipelineArtifact@2 - # inputs: - # ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: - # artifactName: net6-pkg-signed - # ${{ if ne(variables['MicroBuildSignType'], 'Real') }}: - # artifactName: net6-pkg-unsigned - # downloadPath: $(System.DefaultWorkingDirectory)\installer-artifacts - # patterns: Microsoft.*.pkg - - # - template: yaml-templates\install-microbuild-tooling.yaml - # parameters: - # condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) - - # - task: MSBuild@1 - # displayName: msbuild Xamarin.Android.BootstrapTasks - # inputs: - # solution: Xamarin.Android.BootstrapTasks.sln - # configuration: $(XA.Build.Configuration) - # msbuildArguments: /restore /bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\msbuild-bootstraptasks.binlog - - # - task: MSBuild@1 - # displayName: msbuild /t:Restore create-dotnet-msi.csproj - # inputs: - # solution: $(System.DefaultWorkingDirectory)\build-tools\create-dotnet-msi\create-dotnet-msi.csproj - # configuration: $(XA.Build.Configuration) - # msbuildArguments: /t:Restore /bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\restore-create-msi.binlog - - # - task: MSBuild@1 - # displayName: msbuild /t:CreateWorkloadInstallers - # inputs: - # solution: Xamarin.Android.sln - # configuration: $(XA.Build.Configuration) - # msbuildArguments: /t:CreateWorkloadInstallers /p:SignType=$(MicroBuildSignType) /bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\msbuild-workload.binlog - - # - script: copy /Y $(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\*.msi $(System.DefaultWorkingDirectory)\installer-artifacts - # displayName: copy .msi - - # - template: upload-to-storage\win\v1.yml@yaml - # parameters: - # ArtifactsDirectory: $(System.DefaultWorkingDirectory)\installer-artifacts - # Azure.ContainerName: $(Azure.Container.Name) - # Azure.BlobPrefix: $(Build.DefinitionName)/public/net6/$(Build.BuildId)/$(Build.SourceBranchName)/$(Build.SourceVersion) - # GitHub.Context: .NET 6 Preview Installers - - # - template: yaml-templates\remove-microbuild-tooling.yaml - # parameters: - # condition: and(succeededOrFailed(), eq(variables['MicroBuildSignType'], 'Real')) - - # - powershell: >- - # & dotnet build -v:n -c $(XA.Build.Configuration) - # -t:PushManifestToBuildAssetRegistry - # -p:BuildAssetRegistryToken=$(MaestroAccessToken) - # $(System.DefaultWorkingDirectory)\build-tools\create-packs\Microsoft.Android.Sdk.proj - # -bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\push-bar-manifest.binlog - # displayName: generate and publish BAR manifest - # condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) - - # - powershell: | - # $versionEndpoint = 'https://maestro-prod.westus2.cloudapp.azure.com/api/assets/darc-version?api-version=2019-01-16' - # $darcVersion = $(Invoke-WebRequest -Uri $versionEndpoint -UseBasicParsing).Content - # $arcadeServicesSource = 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json' - # & dotnet tool update microsoft.dotnet.darc --version "$darcVersion" --add-source "$arcadeServicesSource" --tool-path $(Agent.ToolsDirectory)\darc -v n - # & $(Agent.ToolsDirectory)\darc\darc add-build-to-channel --default-channels --id $(BARBuildId) --publishing-infra-version 3 --skip-assets-publishing --password $(MaestroAccessToken) --azdev-pat $(publishing-dnceng-devdiv-code-r-build-re) - # displayName: add build to default darc channel - # condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) - - # - template: yaml-templates/upload-results.yaml - # parameters: - # solution: build-tools\Xamarin.Android.Tools.BootstrapTasks\Xamarin.Android.Tools.BootstrapTasks.csproj - # artifactName: Build Results - .NET 6 Preview .msi + - job: dotnet_create_pkg + displayName: Create .pkg + ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: + dependsOn: signing + pool: + name: $(VSEngMacBuildPool) + demands: + - agent.osversionfamily -equals 10.15 + workspace: + clean: all + steps: + - checkout: self + submodules: recursive + + - checkout: release_scripts + clean: true + + - template: yaml-templates/use-dot-net.yaml + parameters: + remove_dotnet: true + + - template: yaml-templates/use-dot-net.yaml + parameters: + version: $(DotNetCoreVersion) + + - task: DownloadPipelineArtifact@2 + inputs: + ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: + artifactName: nuget-signed + ${{ if ne(variables['MicroBuildSignType'], 'Real') }}: + artifactName: $(NuGetArtifactName) + downloadPath: $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/$(NuGetArtifactName) + + - task: NuGetCommand@2 + displayName: push nupkgs + inputs: + command: push + packagesToPush: $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/$(NuGetArtifactName)/*.nupkg + nuGetFeedType: external + publishFeedCredentials: xamarin-impl public feed + condition: and(succeeded(), eq(variables['PushXAPackages'], 'true')) + + - template: yaml-templates/install-microbuild-tooling.yaml + parameters: + condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) + + - task: MSBuild@1 + displayName: msbuild Xamarin.Android.BootstrapTasks + inputs: + solution: $(System.DefaultWorkingDirectory)/xamarin-android/Xamarin.Android.BootstrapTasks.sln + configuration: $(XA.Build.Configuration) + msbuildArguments: /restore /bl:$(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/msbuild-bootstraptasks.binlog + + - task: MSBuild@1 + displayName: msbuild /t:Restore create-dotnet-pkg.proj + inputs: + solution: $(System.DefaultWorkingDirectory)/xamarin-android/build-tools/create-dotnet-pkg/create-dotnet-pkg.csproj + configuration: $(XA.Build.Configuration) + msbuildArguments: /t:Restore /bl:$(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/restore-create-pkg.binlog + + - task: DotNetCoreCLI@2 + displayName: create workload .pkg installer + inputs: + projects: $(System.DefaultWorkingDirectory)/xamarin-android/Xamarin.Android.sln + arguments: >- + -t:CreateWorkloadInstallers -c $(XA.Build.Configuration) -v:n + -p:SignType=$(MicroBuildSignType) -p:MicroBuildOverridePluginDirectory=$(Build.StagingDirectory)/MicroBuild/Plugins + -bl:$(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/msbuild-workload.binlog + + - powershell: | + $pkg = Get-ChildItem -Path "$(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/*" -Include *.pkg -File + if (![System.IO.File]::Exists($pkg)) { + throw [System.IO.FileNotFoundException] "Pkg File not found in $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)" + } + Write-Host "##vso[task.setvariable variable=XA.NET6.Pkg]$pkg" + displayName: set variable to pkg path + + - script: > + cd $(System.DefaultWorkingDirectory)/release-scripts && + pwsh notarize.ps1 -FolderForApps $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration) + failOnStderr: true + displayName: Notarize PKG + condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) + + - script: xcrun stapler validate $(XA.NET6.Pkg) + displayName: validate notarized pkg + condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) + + - task: PublishPipelineArtifact@1 + displayName: upload pkg + inputs: + ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: + artifactName: net6-pkg-signed + ${{ if ne(variables['MicroBuildSignType'], 'Real') }}: + artifactName: net6-pkg-unsigned + targetPath: $(XA.NET6.Pkg) + + - template: yaml-templates/remove-microbuild-tooling.yaml + parameters: + condition: and(succeededOrFailed(), eq(variables['MicroBuildSignType'], 'Real')) + + - template: yaml-templates/upload-results.yaml + parameters: + solution: $(System.DefaultWorkingDirectory)/xamarin-android/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj + artifactName: Build Results - .NET 6 Preview .pkg + + # Check - "Xamarin.Android (.NET 6 Preview Installers Create .msi and Upload)" + - job: dotnet_create_msi + displayName: Create .msi and Upload + dependsOn: dotnet_create_pkg + pool: VSEngSS-MicroBuild2019 + workspace: + clean: all + variables: + - ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: + - group: Publish-Build-Assets + steps: + - checkout: self + submodules: recursive + + - template: yaml-templates/use-dot-net.yaml + + - task: DownloadPipelineArtifact@2 + inputs: + ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: + artifactName: nuget-signed + ${{ if ne(variables['MicroBuildSignType'], 'Real') }}: + artifactName: $(NuGetArtifactName) + downloadPath: $(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\$(NuGetArtifactName) + + - task: DownloadPipelineArtifact@2 + inputs: + ${{ if eq(variables['MicroBuildSignType'], 'Real') }}: + artifactName: net6-pkg-signed + ${{ if ne(variables['MicroBuildSignType'], 'Real') }}: + artifactName: net6-pkg-unsigned + downloadPath: $(System.DefaultWorkingDirectory)\installer-artifacts + patterns: Microsoft.*.pkg + + - template: yaml-templates\install-microbuild-tooling.yaml + parameters: + condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) + + - task: MSBuild@1 + displayName: msbuild Xamarin.Android.BootstrapTasks + inputs: + solution: Xamarin.Android.BootstrapTasks.sln + configuration: $(XA.Build.Configuration) + msbuildArguments: /restore /bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\msbuild-bootstraptasks.binlog + + - task: MSBuild@1 + displayName: msbuild /t:Restore create-dotnet-msi.csproj + inputs: + solution: $(System.DefaultWorkingDirectory)\build-tools\create-dotnet-msi\create-dotnet-msi.csproj + configuration: $(XA.Build.Configuration) + msbuildArguments: /t:Restore /bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\restore-create-msi.binlog + + - task: MSBuild@1 + displayName: msbuild /t:CreateWorkloadInstallers + inputs: + solution: Xamarin.Android.sln + configuration: $(XA.Build.Configuration) + msbuildArguments: /t:CreateWorkloadInstallers /p:SignType=$(MicroBuildSignType) /bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\msbuild-workload.binlog + + - script: copy /Y $(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\*.msi $(System.DefaultWorkingDirectory)\installer-artifacts + displayName: copy .msi + + - template: upload-to-storage\win\v1.yml@yaml + parameters: + ArtifactsDirectory: $(System.DefaultWorkingDirectory)\installer-artifacts + Azure.ContainerName: $(Azure.Container.Name) + Azure.BlobPrefix: $(Build.DefinitionName)/public/net6/$(Build.BuildId)/$(Build.SourceBranchName)/$(Build.SourceVersion) + GitHub.Context: .NET 6 Preview Installers + + - template: yaml-templates\remove-microbuild-tooling.yaml + parameters: + condition: and(succeededOrFailed(), eq(variables['MicroBuildSignType'], 'Real')) + + - powershell: >- + & dotnet build -v:n -c $(XA.Build.Configuration) + -t:PushManifestToBuildAssetRegistry + -p:BuildAssetRegistryToken=$(MaestroAccessToken) + $(System.DefaultWorkingDirectory)\build-tools\create-packs\Microsoft.Android.Sdk.proj + -bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\push-bar-manifest.binlog + displayName: generate and publish BAR manifest + condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) + + - powershell: | + $versionEndpoint = 'https://maestro-prod.westus2.cloudapp.azure.com/api/assets/darc-version?api-version=2019-01-16' + $darcVersion = $(Invoke-WebRequest -Uri $versionEndpoint -UseBasicParsing).Content + $arcadeServicesSource = 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json' + & dotnet tool update microsoft.dotnet.darc --version "$darcVersion" --add-source "$arcadeServicesSource" --tool-path $(Agent.ToolsDirectory)\darc -v n + & $(Agent.ToolsDirectory)\darc\darc add-build-to-channel --default-channels --id $(BARBuildId) --publishing-infra-version 3 --skip-assets-publishing --password $(MaestroAccessToken) --azdev-pat $(publishing-dnceng-devdiv-code-r-build-re) + displayName: add build to default darc channel + condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real')) + + - template: yaml-templates/upload-results.yaml + parameters: + solution: build-tools\Xamarin.Android.Tools.BootstrapTasks\Xamarin.Android.Tools.BootstrapTasks.csproj + artifactName: Build Results - .NET 6 Preview .msi # .NET 6 VS Insertion Stage # Check - "Xamarin.Android (VS Insertion - Wait For Approval)" From 2831630f6188abd245b1048e8e20bf84716c943e Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 17 Jun 2021 13:07:39 -0400 Subject: [PATCH 19/29] Add yamlResource param --- build-tools/automation/azure-pipelines.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index 3a168ca756e..0301d489f55 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -1280,6 +1280,7 @@ stages: # Check - "Xamarin.Android (.NET 6 Preview Installers Convert NuGet to MSI)" - template: nuget-msi-convert/job/v1.yml@yaml parameters: + yamlResourceName: yaml dependsOn: signing artifactName: nuget-signed artifactPatterns: | From 02661eb6243f01024007293eb251d9c7beac9a65 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Tue, 22 Jun 2021 10:41:54 -0400 Subject: [PATCH 20/29] Shorten workload and bundletool pack names --- build-tools/create-packs/xamarin-workload.in.props | 6 +++++- .../Microsoft.NET.Sdk.Android/WorkloadManifest.in.json | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/build-tools/create-packs/xamarin-workload.in.props b/build-tools/create-packs/xamarin-workload.in.props index d2b480cb9dd..35fb7e4fc00 100644 --- a/build-tools/create-packs/xamarin-workload.in.props +++ b/build-tools/create-packs/xamarin-workload.in.props @@ -2,9 +2,13 @@ Microsoft.NET.Sdk.Android.Workload - <_FullWorkloadName>microsoft-android-sdk-full + <_FullWorkloadName>android + + + Microsoft.BundleTool + diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json index c6aba630136..d61099d432d 100644 --- a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json +++ b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json @@ -1,7 +1,7 @@ { "version": "@WORKLOAD_VERSION@", "workloads": { - "microsoft-android-sdk-full": { + "android": { "description": "Android SDK", "packs": [ "Microsoft.Android.Sdk", From eccfebbb12f53baebacdab2fe1def09c23acc304 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Wed, 7 Jul 2021 09:27:39 -0400 Subject: [PATCH 21/29] Update workload component names --- build-tools/create-packs/Directory.Build.targets | 4 ++-- build-tools/create-packs/vs-workload.in.props | 16 ++++++++++++++++ .../create-packs/xamarin-workload.in.props | 15 --------------- 3 files changed, 18 insertions(+), 17 deletions(-) create mode 100644 build-tools/create-packs/vs-workload.in.props delete mode 100644 build-tools/create-packs/xamarin-workload.in.props diff --git a/build-tools/create-packs/Directory.Build.targets b/build-tools/create-packs/Directory.Build.targets index 13979420314..253f2e97d82 100644 --- a/build-tools/create-packs/Directory.Build.targets +++ b/build-tools/create-packs/Directory.Build.targets @@ -71,8 +71,8 @@ diff --git a/build-tools/create-packs/vs-workload.in.props b/build-tools/create-packs/vs-workload.in.props new file mode 100644 index 00000000000..35a5e0dd2b9 --- /dev/null +++ b/build-tools/create-packs/vs-workload.in.props @@ -0,0 +1,16 @@ + + + + Microsoft.NET.Sdk.Android.Workload + + + + + Microsoft.BundleTool + + + + + + + diff --git a/build-tools/create-packs/xamarin-workload.in.props b/build-tools/create-packs/xamarin-workload.in.props deleted file mode 100644 index 35fb7e4fc00..00000000000 --- a/build-tools/create-packs/xamarin-workload.in.props +++ /dev/null @@ -1,15 +0,0 @@ - - - - Microsoft.NET.Sdk.Android.Workload - <_FullWorkloadName>android - - - - - Microsoft.BundleTool - - - - - From cf6520d6875274c3f6c824a408bf04263c17afeb Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Wed, 7 Jul 2021 09:32:09 -0400 Subject: [PATCH 22/29] [TEST] Remove runtime workload extensions for now --- .../Microsoft.NET.Sdk.Android/WorkloadManifest.in.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json index 71732354a8b..7ece7f8edcb 100644 --- a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json +++ b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json @@ -12,12 +12,11 @@ "Microsoft.Android.Runtime.android-x86", "Microsoft.Android.Runtime.android-x64", "Microsoft.Android.Templates" - ], - "extends" : [ "microsoft-net-runtime-android" ] + ] }, "android-aot": { "description": "Microsoft Android SDK for .NET with AOT support", - "extends" : [ "android", "microsoft-net-runtime-android-aot" ] + "extends" : [ "android" ] } }, "packs": { From 92e97b0f8a10cb960122f435949efce349402267 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Wed, 7 Jul 2021 10:33:47 -0400 Subject: [PATCH 23/29] Pin signing plugin version --- .../automation/yaml-templates/install-microbuild-tooling.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-tools/automation/yaml-templates/install-microbuild-tooling.yaml b/build-tools/automation/yaml-templates/install-microbuild-tooling.yaml index c8a390e96bb..f95b95f41de 100644 --- a/build-tools/automation/yaml-templates/install-microbuild-tooling.yaml +++ b/build-tools/automation/yaml-templates/install-microbuild-tooling.yaml @@ -15,7 +15,7 @@ steps: version: '2.8.0' condition: and(${{ parameters.condition }}, eq(variables['agent.os'], 'Darwin')) -- task: MicroBuildSigningPlugin@3 +- task: MicroBuildSigningPlugin@3.2.52 displayName: install signing plugin condition: ${{ parameters.condition }} inputs: From e33bea0eeceeb9222b667e4bb110fe9a57048681 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 8 Jul 2021 12:28:11 -0400 Subject: [PATCH 24/29] Shorten more wl pack names --- build-tools/create-packs/vs-workload.in.props | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build-tools/create-packs/vs-workload.in.props b/build-tools/create-packs/vs-workload.in.props index 35a5e0dd2b9..0f6c676714c 100644 --- a/build-tools/create-packs/vs-workload.in.props +++ b/build-tools/create-packs/vs-workload.in.props @@ -6,7 +6,10 @@ - Microsoft.BundleTool + XABundleTool + + + XARuntime From d93dfaa1118d92c69ee45d87216c9b1fa5780d28 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Mon, 12 Jul 2021 18:23:00 -0400 Subject: [PATCH 25/29] Use main templates branch, revert signing pin --- build-tools/automation/azure-pipelines.yaml | 2 +- .../automation/yaml-templates/install-microbuild-tooling.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index c0111ae8be1..b7a709e9383 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -13,7 +13,7 @@ resources: - repository: yaml type: github name: xamarin/yaml-templates - ref: refs/heads/pjc/nuget-convert-insert + ref: refs/heads/main endpoint: xamarin - repository: monodroid type: github diff --git a/build-tools/automation/yaml-templates/install-microbuild-tooling.yaml b/build-tools/automation/yaml-templates/install-microbuild-tooling.yaml index f95b95f41de..c8a390e96bb 100644 --- a/build-tools/automation/yaml-templates/install-microbuild-tooling.yaml +++ b/build-tools/automation/yaml-templates/install-microbuild-tooling.yaml @@ -15,7 +15,7 @@ steps: version: '2.8.0' condition: and(${{ parameters.condition }}, eq(variables['agent.os'], 'Darwin')) -- task: MicroBuildSigningPlugin@3.2.52 +- task: MicroBuildSigningPlugin@3 displayName: install signing plugin condition: ${{ parameters.condition }} inputs: From 7d5cf31bcee0ffab88c3d8b80335873ee7e7c2a2 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Mon, 12 Jul 2021 18:23:31 -0400 Subject: [PATCH 26/29] Update names, short names, and descriptions --- build-tools/create-packs/Directory.Build.targets | 2 +- build-tools/create-packs/vs-workload.in.props | 11 ++++------- .../WorkloadManifest.in.json | 4 ++-- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/build-tools/create-packs/Directory.Build.targets b/build-tools/create-packs/Directory.Build.targets index 253f2e97d82..04b4ffeda04 100644 --- a/build-tools/create-packs/Directory.Build.targets +++ b/build-tools/create-packs/Directory.Build.targets @@ -73,7 +73,7 @@ diff --git a/build-tools/create-packs/vs-workload.in.props b/build-tools/create-packs/vs-workload.in.props index 0f6c676714c..bdce4b4ba36 100644 --- a/build-tools/create-packs/vs-workload.in.props +++ b/build-tools/create-packs/vs-workload.in.props @@ -5,15 +5,12 @@ - - XABundleTool + + @PACK_VERSION_SHORT@ - - XARuntime - - + - + diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json index 7ece7f8edcb..6aec55fbf00 100644 --- a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json +++ b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json @@ -2,7 +2,7 @@ "version": "@WORKLOAD_VERSION@", "workloads": { "android": { - "description": "Microsoft Android SDK for .NET", + "description": ".NET SDK Workload for building Android applications.", "packs": [ "Microsoft.Android.Sdk", "Microsoft.Android.Sdk.BundleTool", @@ -15,7 +15,7 @@ ] }, "android-aot": { - "description": "Microsoft Android SDK for .NET with AOT support", + "description": ".NET SDK Workload for building Android applications with AOT support.", "extends" : [ "android" ] } }, From 840cfbc8f66b0344feb6d746b2814420fe2cc1cd Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Mon, 12 Jul 2021 19:37:12 -0400 Subject: [PATCH 27/29] Temporarily force sdk reinstall --- .../xaprepare/Steps/Step_InstallDotNetPreview.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs b/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs index 641f56c7cd9..01ac7f9eb12 100644 --- a/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs +++ b/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs @@ -74,12 +74,12 @@ protected override async Task Execute (Context context) Utilities.DeleteDirectory (metadataPath); } - if (File.Exists (dotnetTool)) { - if (!TestDotNetSdk (dotnetTool)) { - Log.WarningLine ($"Attempt to run `dotnet --version` failed, reinstalling the SDK."); + //if (File.Exists (dotnetTool)) { + // if (!TestDotNetSdk (dotnetTool)) { + // Log.WarningLine ($"Attempt to run `dotnet --version` failed, reinstalling the SDK."); Utilities.DeleteDirectory (dotnetPath); - } - } + // } + //} if (!await InstallDotNetAsync (context, dotnetPath, dotnetPreviewVersion)) { Log.ErrorLine ($"Installation of dotnet SDK {dotnetPreviewVersion} failed."); From c1d5fe467ed3b86c61a1e3a5788698cc7e94c4c9 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Sun, 18 Jul 2021 16:24:53 -0400 Subject: [PATCH 28/29] Revert "Temporarily force sdk reinstall" This reverts commit 840cfbc8f66b0344feb6d746b2814420fe2cc1cd. --- .../xaprepare/Steps/Step_InstallDotNetPreview.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs b/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs index 01ac7f9eb12..641f56c7cd9 100644 --- a/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs +++ b/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs @@ -74,12 +74,12 @@ protected override async Task Execute (Context context) Utilities.DeleteDirectory (metadataPath); } - //if (File.Exists (dotnetTool)) { - // if (!TestDotNetSdk (dotnetTool)) { - // Log.WarningLine ($"Attempt to run `dotnet --version` failed, reinstalling the SDK."); + if (File.Exists (dotnetTool)) { + if (!TestDotNetSdk (dotnetTool)) { + Log.WarningLine ($"Attempt to run `dotnet --version` failed, reinstalling the SDK."); Utilities.DeleteDirectory (dotnetPath); - // } - //} + } + } if (!await InstallDotNetAsync (context, dotnetPath, dotnetPreviewVersion)) { Log.ErrorLine ($"Installation of dotnet SDK {dotnetPreviewVersion} failed."); From 41f19df8e5520e70948663af85ea87cef1489e3f Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Sun, 18 Jul 2021 16:26:42 -0400 Subject: [PATCH 29/29] Revert "[TEST] Remove runtime workload extensions for now" This reverts commit cf6520d6875274c3f6c824a408bf04263c17afeb. Conflicts: src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json --- .../Microsoft.NET.Sdk.Android/WorkloadManifest.in.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json index 6aec55fbf00..b33670471fb 100644 --- a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json +++ b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json @@ -12,11 +12,12 @@ "Microsoft.Android.Runtime.android-x86", "Microsoft.Android.Runtime.android-x64", "Microsoft.Android.Templates" - ] + ], + "extends" : [ "microsoft-net-runtime-android" ] }, "android-aot": { "description": ".NET SDK Workload for building Android applications with AOT support.", - "extends" : [ "android" ] + "extends" : [ "android", "microsoft-net-runtime-android-aot" ] } }, "packs": {