From 09ab95095600d4698502549b9c906e43bf316436 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Tue, 11 Oct 2022 08:53:11 -0500 Subject: [PATCH] Move from `netcoreapp3.1` to `net6.0` I believe this is a good idea anyway, but this should assist with: https://github.com/xamarin/xamarin-android/pull/7451 Which is hitting the error: error NU1102: Unable to find package Microsoft.NETCore.App.Host.osx-x64 with version (= 3.1.31) .NET Core 3.1.31 is not released yet and is likely on a private feed. Also pass `6.0.x` to the [`UseDotNet`][0] yaml task. After these changes, the build failed with: error MSB3971: The reference assemblies for ".NETFramework,Version=v6.0" were not found. You might be using an older .NET SDK to target .NET 5.0 or higher. Update Visual Studio and/or your .NET SDK. Mono MSBuild probably can't build .NET 6 projects? So I fixed various things in the build: * Use `dotnet build` instead of MSBuild, remove NuGet commands * No tests were running: ``` [warning] Project file(s) matching the specified pattern were not found. ``` * Fixed the `$(XATBuildingForNetCoreApp)` property * Upload artifacts based on the pool name: `$(vmImage)` * Use `$(PackageOutputPath)` instead of `$(OutputPath)` * `PublishBuildArtifacts` is deprecated use `PublishPipelineArtifact` * Save `.binlog` files as artifacts [0]: https://learn.microsoft.com/azure/devops/pipelines/tasks/tool/dotnet-core-tool-installer --- Directory.Build.props | 2 +- azure-pipelines.yaml | 30 +++++-------------- .../Microsoft.Android.Build.BaseTasks.csproj | 2 +- .../Xamarin.Android.Tools.AndroidSdk.csproj | 2 +- ...osoft.Android.Build.BaseTasks-Tests.csproj | 2 +- ...arin.Android.Tools.AndroidSdk-Tests.csproj | 2 +- tools/ls-jdks/ls-jdks.csproj | 2 +- 7 files changed, 13 insertions(+), 29 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index d03b71f..33d982f 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -15,7 +15,7 @@ obj\ - + True diff --git a/azure-pipelines.yaml b/azure-pipelines.yaml index 1d40960..3918569 100644 --- a/azure-pipelines.yaml +++ b/azure-pipelines.yaml @@ -12,7 +12,7 @@ pr: # Global variables variables: - DotNetCoreVersion: 3.1.100 + DotNetCoreVersion: 6.0.x jobs: - job: build @@ -42,22 +42,8 @@ jobs: inputs: version: $(DotNetCoreVersion) - - task: NuGetToolInstaller@0 - displayName: 'Install NuGet' - inputs: - versionSpec: 5.x - - - task: NuGetCommand@2 - displayName: 'NuGet Restore' - inputs: - restoreSolution: Xamarin.Android.Tools.sln - feedsToUse: config - nugetConfigPath: NuGet.config - - - task: MSBuild@1 + - script: dotnet build Xamarin.Android.Tools.sln -bl:$(Build.ArtifactStagingDirectory)/build.binlog displayName: 'Build solution Xamarin.Android.Tools.sln' - inputs: - solution: Xamarin.Android.Tools.sln - task: DotNetCoreCLI@2 displayName: 'Run Tests' @@ -73,15 +59,13 @@ jobs: Write-Host "##vso[task.setvariable variable=xat.nuget.version]$version" condition: and(succeeded(), eq(variables['agent.os'], 'Windows_NT')) - - task: MSBuild@1 + - script: dotnet pack src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.AndroidSdk.csproj -p:Version=$(xat.nuget.version) -p:PackageOutputPath=$(Build.ArtifactStagingDirectory) -bl:$(Build.ArtifactStagingDirectory)/pack.binlog displayName: 'Build NuGet' - inputs: - solution: 'src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj' - msbuildArguments: '/t:pack /p:Version=$(xat.nuget.version) /p:OutputPath=$(Build.ArtifactStagingDirectory)' condition: and(succeeded(), eq(variables['agent.os'], 'Windows_NT')) - - task: PublishBuildArtifacts@1 + - task: PublishPipelineArtifact@1 displayName: Upload Artifacts inputs: - pathtoPublish: $(Build.ArtifactStagingDirectory) - condition: and(succeeded(), eq(variables['agent.os'], 'Windows_NT')) + path: $(Build.ArtifactStagingDirectory) + artifactName: $(vmImage) + condition: always() diff --git a/src/Microsoft.Android.Build.BaseTasks/Microsoft.Android.Build.BaseTasks.csproj b/src/Microsoft.Android.Build.BaseTasks/Microsoft.Android.Build.BaseTasks.csproj index 6847072..f3602ce 100644 --- a/src/Microsoft.Android.Build.BaseTasks/Microsoft.Android.Build.BaseTasks.csproj +++ b/src/Microsoft.Android.Build.BaseTasks/Microsoft.Android.Build.BaseTasks.csproj @@ -3,7 +3,7 @@ - netstandard2.0;netcoreapp3.1 + netstandard2.0;net6.0 Microsoft.Android.Build.Tasks true true diff --git a/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.AndroidSdk.csproj b/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.AndroidSdk.csproj index f304453..eeef803 100644 --- a/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.AndroidSdk.csproj +++ b/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.AndroidSdk.csproj @@ -1,7 +1,7 @@ - netstandard2.0;netcoreapp3.1 + netstandard2.0;net6.0 8.0 enable INTERNAL_NULLABLE_ATTRIBUTES diff --git a/tests/Microsoft.Android.Build.BaseTasks-Tests/Microsoft.Android.Build.BaseTasks-Tests.csproj b/tests/Microsoft.Android.Build.BaseTasks-Tests/Microsoft.Android.Build.BaseTasks-Tests.csproj index 8e0a2a4..80ecc3d 100644 --- a/tests/Microsoft.Android.Build.BaseTasks-Tests/Microsoft.Android.Build.BaseTasks-Tests.csproj +++ b/tests/Microsoft.Android.Build.BaseTasks-Tests/Microsoft.Android.Build.BaseTasks-Tests.csproj @@ -4,7 +4,7 @@ - netcoreapp3.1 + net6.0 Microsoft.Android.Build.BaseTasks.Tests false $(TestOutputFullPath) diff --git a/tests/Xamarin.Android.Tools.AndroidSdk-Tests/Xamarin.Android.Tools.AndroidSdk-Tests.csproj b/tests/Xamarin.Android.Tools.AndroidSdk-Tests/Xamarin.Android.Tools.AndroidSdk-Tests.csproj index 4100134..722a491 100644 --- a/tests/Xamarin.Android.Tools.AndroidSdk-Tests/Xamarin.Android.Tools.AndroidSdk-Tests.csproj +++ b/tests/Xamarin.Android.Tools.AndroidSdk-Tests/Xamarin.Android.Tools.AndroidSdk-Tests.csproj @@ -4,7 +4,7 @@ - netcoreapp3.1 + net6.0 true ..\..\product.snk false diff --git a/tools/ls-jdks/ls-jdks.csproj b/tools/ls-jdks/ls-jdks.csproj index 751f34d..af1eee9 100644 --- a/tools/ls-jdks/ls-jdks.csproj +++ b/tools/ls-jdks/ls-jdks.csproj @@ -2,7 +2,7 @@ Exe - net472;netcoreapp3.1 + net472;net6.0 Xamarin.Android.Tools false $(ToolOutputFullPath)