From 0277fcc6ead6af9143b51418da8458a78ba0df14 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 10 Jul 2023 12:46:44 +0000 Subject: [PATCH 01/18] Update dependencies from https://github.com/dotnet/installer build 20230710.1 Microsoft.Dotnet.Sdk.Internal From Version 8.0.100-preview.7.23330.16 -> To Version 8.0.100-preview.7.23360.1 Dependency coherency updates Microsoft.NETCore.App.Ref,Microsoft.NET.ILLink.Tasks From Version 8.0.0-preview.7.23329.8 -> To Version 8.0.0-preview.7.23359.1 (parent: Microsoft.Dotnet.Sdk.Internal --- eng/Version.Details.xml | 12 ++++++------ eng/Versions.props | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index cf060270d0a..670a91881d9 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,16 +1,16 @@ - + https://github.com/dotnet/installer - 28d4a6b4bed1515bdbe491c9e0c8ef7aa3a24497 + 62ef57f1140e7fa71cf452542b263e7999cac168 - + https://github.com/dotnet/runtime - 3e87528325b09f884b0a09a8c4ef79393abfd0db + 31106939ba524a7e6df8225cf8d0fedefba92b9f - + https://github.com/dotnet/runtime - 3e87528325b09f884b0a09a8c4ef79393abfd0db + 31106939ba524a7e6df8225cf8d0fedefba92b9f https://github.com/dotnet/emsdk diff --git a/eng/Versions.props b/eng/Versions.props index c060c201fb3..a35e66dfbaf 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -1,9 +1,9 @@ - 8.0.100-preview.7.23330.16 - 8.0.0-preview.7.23329.8 - 8.0.0-preview.7.23329.8 + 8.0.100-preview.7.23360.1 + 8.0.0-preview.7.23359.1 + 8.0.0-preview.7.23359.1 7.0.0-beta.22103.1 7.0.0-beta.22103.1 8.0.0-preview.7.23326.1 From 4d098d81fe44db66191954cf117298186b16848f Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 10 Jul 2023 10:56:00 -0500 Subject: [PATCH 02/18] Update .apkdesc files --- .../BuildReleaseArm64SimpleDotNet.apkdesc | 36 ++++---- .../BuildReleaseArm64XFormsDotNet.apkdesc | 86 +++++++++---------- 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc index 74cdceacd9e..d6893218cd0 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc @@ -2,64 +2,64 @@ "Comment": null, "Entries": { "AndroidManifest.xml": { - "Size": 3032 + "Size": 3036 }, "assemblies/_Microsoft.Android.Resource.Designer.dll": { "Size": 1024 }, "assemblies/Java.Interop.dll": { - "Size": 58703 + "Size": 58980 }, "assemblies/Mono.Android.dll": { - "Size": 86588 + "Size": 88193 }, "assemblies/Mono.Android.Runtime.dll": { - "Size": 5798 + "Size": 5579 }, "assemblies/rc.bin": { - "Size": 1235 + "Size": 1302 }, "assemblies/System.Console.dll": { - "Size": 6442 + "Size": 6450 }, "assemblies/System.Linq.dll": { - "Size": 9123 + "Size": 9249 }, "assemblies/System.Private.CoreLib.dll": { - "Size": 536436 + "Size": 537383 }, "assemblies/System.Runtime.dll": { - "Size": 2623 + "Size": 2630 }, "assemblies/System.Runtime.InteropServices.dll": { - "Size": 3752 + "Size": 3767 }, "assemblies/UnnamedProject.dll": { - "Size": 3349 + "Size": 2931 }, "classes.dex": { - "Size": 19748 + "Size": 19716 }, "lib/arm64-v8a/libmono-component-marshal-ilgen.so": { - "Size": 93552 + "Size": 97096 }, "lib/arm64-v8a/libmonodroid.so": { - "Size": 380832 + "Size": 380704 }, "lib/arm64-v8a/libmonosgen-2.0.so": { - "Size": 3160360 + "Size": 3179120 }, "lib/arm64-v8a/libSystem.IO.Compression.Native.so": { "Size": 723560 }, "lib/arm64-v8a/libSystem.Native.so": { - "Size": 94392 + "Size": 93856 }, "lib/arm64-v8a/libSystem.Security.Cryptography.Native.Android.so": { "Size": 154904 }, "lib/arm64-v8a/libxamarin-app.so": { - "Size": 16624 + "Size": 16672 }, "META-INF/BNDLTOOL.RSA": { "Size": 1213 @@ -95,5 +95,5 @@ "Size": 1904 } }, - "PackageSize": 2685258 + "PackageSize": 2701642 } \ No newline at end of file diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.apkdesc b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.apkdesc index 426961a5f03..ed89e5eb7d8 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.apkdesc +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.apkdesc @@ -2,7 +2,7 @@ "Comment": null, "Entries": { "AndroidManifest.xml": { - "Size": 3568 + "Size": 3572 }, "assemblies/_Microsoft.Android.Resource.Designer.dll": { "Size": 2102 @@ -11,121 +11,121 @@ "Size": 7313 }, "assemblies/Java.Interop.dll": { - "Size": 66911 + "Size": 66897 }, "assemblies/Mono.Android.dll": { - "Size": 469830 + "Size": 469913 }, "assemblies/Mono.Android.Runtime.dll": { - "Size": 5818 + "Size": 5579 }, "assemblies/mscorlib.dll": { "Size": 3866 }, "assemblies/netstandard.dll": { - "Size": 5578 + "Size": 5580 }, "assemblies/rc.bin": { - "Size": 1235 + "Size": 1302 }, "assemblies/System.Collections.Concurrent.dll": { - "Size": 11561 + "Size": 11559 }, "assemblies/System.Collections.dll": { - "Size": 15445 + "Size": 15448 }, "assemblies/System.Collections.NonGeneric.dll": { - "Size": 7501 + "Size": 7504 }, "assemblies/System.ComponentModel.dll": { - "Size": 1974 + "Size": 1976 }, "assemblies/System.ComponentModel.Primitives.dll": { - "Size": 2596 + "Size": 2598 }, "assemblies/System.ComponentModel.TypeConverter.dll": { - "Size": 6083 + "Size": 6085 }, "assemblies/System.Console.dll": { - "Size": 6612 + "Size": 6616 }, "assemblies/System.Core.dll": { "Size": 1992 }, "assemblies/System.Diagnostics.TraceSource.dll": { - "Size": 6589 + "Size": 6593 }, "assemblies/System.dll": { - "Size": 2347 + "Size": 2348 }, "assemblies/System.Drawing.dll": { - "Size": 1938 + "Size": 1940 }, "assemblies/System.Drawing.Primitives.dll": { - "Size": 12004 + "Size": 12015 }, "assemblies/System.IO.Compression.Brotli.dll": { - "Size": 11221 + "Size": 11228 }, "assemblies/System.IO.Compression.dll": { - "Size": 15897 + "Size": 15906 }, "assemblies/System.IO.IsolatedStorage.dll": { - "Size": 9913 + "Size": 9915 }, "assemblies/System.Linq.dll": { - "Size": 19490 + "Size": 19598 }, "assemblies/System.Linq.Expressions.dll": { - "Size": 164335 + "Size": 164343 }, "assemblies/System.Net.Http.dll": { - "Size": 65557 + "Size": 65677 }, "assemblies/System.Net.Primitives.dll": { - "Size": 22482 + "Size": 22479 }, "assemblies/System.Net.Requests.dll": { "Size": 3632 }, "assemblies/System.ObjectModel.dll": { - "Size": 8159 + "Size": 8163 }, "assemblies/System.Private.CoreLib.dll": { - "Size": 834340 + "Size": 834376 }, "assemblies/System.Private.DataContractSerialization.dll": { - "Size": 192404 + "Size": 192934 }, "assemblies/System.Private.Uri.dll": { - "Size": 42947 + "Size": 43517 }, "assemblies/System.Private.Xml.dll": { - "Size": 215908 + "Size": 215824 }, "assemblies/System.Private.Xml.Linq.dll": { - "Size": 16681 + "Size": 16687 }, "assemblies/System.Runtime.dll": { - "Size": 2775 + "Size": 2756 }, "assemblies/System.Runtime.InteropServices.dll": { - "Size": 3768 + "Size": 3767 }, "assemblies/System.Runtime.Serialization.dll": { - "Size": 1867 + "Size": 1868 }, "assemblies/System.Runtime.Serialization.Formatters.dll": { - "Size": 2518 + "Size": 2520 }, "assemblies/System.Runtime.Serialization.Primitives.dll": { - "Size": 3802 + "Size": 3804 }, "assemblies/System.Security.Cryptography.dll": { - "Size": 8065 + "Size": 8138 }, "assemblies/System.Text.RegularExpressions.dll": { - "Size": 158997 + "Size": 158855 }, "assemblies/System.Xml.dll": { "Size": 1760 @@ -134,7 +134,7 @@ "Size": 1778 }, "assemblies/UnnamedProject.dll": { - "Size": 5290 + "Size": 4987 }, "assemblies/Xamarin.AndroidX.Activity.dll": { "Size": 5942 @@ -206,25 +206,25 @@ "Size": 3117140 }, "lib/arm64-v8a/libmono-component-marshal-ilgen.so": { - "Size": 93552 + "Size": 97096 }, "lib/arm64-v8a/libmonodroid.so": { "Size": 380704 }, "lib/arm64-v8a/libmonosgen-2.0.so": { - "Size": 3169800 + "Size": 3179120 }, "lib/arm64-v8a/libSystem.IO.Compression.Native.so": { "Size": 723560 }, "lib/arm64-v8a/libSystem.Native.so": { - "Size": 94392 + "Size": 93856 }, "lib/arm64-v8a/libSystem.Security.Cryptography.Native.Android.so": { "Size": 154904 }, "lib/arm64-v8a/libxamarin-app.so": { - "Size": 333744 + "Size": 333784 }, "META-INF/android.support.design_material.version": { "Size": 12 @@ -1913,5 +1913,5 @@ "Size": 325240 } }, - "PackageSize": 7900078 + "PackageSize": 7912366 } \ No newline at end of file From 5ef90a8c183797af44917cb367187e891f280610 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 10 Jul 2023 15:02:03 -0500 Subject: [PATCH 03/18] =?UTF-8?q?[tests]=20ignore=20`BuildAotApplicationAn?= =?UTF-8?q?d=C3=9Cml=C3=A4=C3=BCts`=20on=20Windows?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Context: https://github.com/dotnet/runtime/issues/88625 --- .../Tests/Xamarin.Android.Build.Tests/AotTests.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AotTests.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AotTests.cs index db875ef9278..4325f39b105 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AotTests.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AotTests.cs @@ -213,6 +213,9 @@ public void BuildAotApplicationWithNdkAndBundleAndÜmläüts (string supportedAb [TestCaseSource (nameof (AotChecks))] public void BuildAotApplicationAndÜmläüts (string supportedAbis, bool enableLLVM, bool usesAssemblyBlobs) { + if (IsWindows) + Assert.Ignore ("https://github.com/dotnet/runtime/issues/88625"); + var abisSanitized = supportedAbis.Replace (";", "").Replace ("-", "").Replace ("_", ""); var path = Path.Combine ("temp", string.Format ("BuildAot AndÜmläüts_{0}_{1}_{2}", abisSanitized, enableLLVM, usesAssemblyBlobs)); var proj = new XamarinAndroidApplicationProject () { From bce52f1df9ccebeed6208eae47c180b7783e0c43 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 10 Jul 2023 21:28:07 -0500 Subject: [PATCH 04/18] =?UTF-8?q?[tests]=20ignore=20`BuildAotApplicationWi?= =?UTF-8?q?thNdkAndBundleAnd=C3=9Cml=C3=A4=C3=BCts`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Context: https://github.com/dotnet/runtime/issues/88625 --- .../Tests/Xamarin.Android.Build.Tests/AotTests.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AotTests.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AotTests.cs index 4325f39b105..35968606bab 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AotTests.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AotTests.cs @@ -137,6 +137,9 @@ public void BuildBasicApplicationReleaseProfiledAotWithoutDefaultProfile () [TestCaseSource (nameof (AotChecks))] public void BuildAotApplicationWithNdkAndBundleAndÜmläüts (string supportedAbis, bool enableLLVM, bool usesAssemblyBlobs) { + if (IsWindows) + Assert.Ignore ("https://github.com/dotnet/runtime/issues/88625"); + var abisSanitized = supportedAbis.Replace (";", "").Replace ("-", "").Replace ("_", ""); var path = Path.Combine ("temp", string.Format ("BuildAotNdk AndÜmläüts_{0}_{1}_{2}", abisSanitized, enableLLVM, usesAssemblyBlobs)); var proj = new XamarinAndroidApplicationProject () { From c235d604d22797eeab601aebb064b9c70f70e7a7 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Tue, 11 Jul 2023 08:49:09 -0500 Subject: [PATCH 05/18] [tests] ignore `NoSymbolsArgShouldReduceAppSize` Context: https://github.com/dotnet/runtime/issues/88625 --- .../Tests/Xamarin.Android.Build.Tests/AotTests.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AotTests.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AotTests.cs index 35968606bab..37f0fcfcf8b 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AotTests.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AotTests.cs @@ -417,6 +417,9 @@ public static void Foo () { [Category ("LLVM")] public void NoSymbolsArgShouldReduceAppSize ([Values ("", "Hybrid")] string androidAotMode, [Values (false, true)] bool skipDebugSymbols) { + if (IsWindows) + Assert.Ignore ("https://github.com/dotnet/runtime/issues/88625"); + AssertAotModeSupported (androidAotMode); var proj = new XamarinAndroidApplicationProject () { From 981f8c2b033ee2fee82ce04df7a37c33a6a987f6 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 17 Jul 2023 12:24:49 +0000 Subject: [PATCH 06/18] Update dependencies from https://github.com/dotnet/installer build 20230714.32 Microsoft.Dotnet.Sdk.Internal From Version 8.0.100-preview.7.23330.16 -> To Version 8.0.100-preview.7.23364.32 Dependency coherency updates Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport,Microsoft.NET.ILLink.Tasks,Microsoft.DotNet.Cecil From Version 8.0.0-preview.7.23329.8 -> To Version 8.0.0-preview.7.23364.3 (parent: Microsoft.Dotnet.Sdk.Internal --- eng/Version.Details.xml | 20 ++++++++++---------- eng/Versions.props | 10 +++++----- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 670a91881d9..322c4f479a3 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,24 +1,24 @@ - + https://github.com/dotnet/installer - 62ef57f1140e7fa71cf452542b263e7999cac168 + ca467d68c8f678a671984a46996d3fc37fe7f3de - + https://github.com/dotnet/runtime - 31106939ba524a7e6df8225cf8d0fedefba92b9f + ae99bb2e7a0a5db7c2bff129322965fd3c6e820d - + https://github.com/dotnet/runtime - 31106939ba524a7e6df8225cf8d0fedefba92b9f + ae99bb2e7a0a5db7c2bff129322965fd3c6e820d - + https://github.com/dotnet/emsdk - 60a73f97a0ec16c25ce4d36b1bcff1fedb831716 + afbff08914374ed6790324635b9346d1256680fc - + https://github.com/dotnet/cecil - 3e46711f5a933551557286d211970faa08b07b7e + 1a6a83a8f50e1119f1007b1e3c211d3289ba6901 diff --git a/eng/Versions.props b/eng/Versions.props index a35e66dfbaf..fddefd8c31e 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -1,15 +1,15 @@ - 8.0.100-preview.7.23360.1 - 8.0.0-preview.7.23359.1 - 8.0.0-preview.7.23359.1 + 8.0.100-preview.7.23364.32 + 8.0.0-preview.7.23364.3 + 8.0.0-preview.7.23364.3 7.0.0-beta.22103.1 7.0.0-beta.22103.1 - 8.0.0-preview.7.23326.1 + 8.0.0-preview.7.23361.2 $(MicrosoftNETWorkloadEmscriptenCurrentManifest80100TransportVersion) 7.0.100-rc.1.22410.7 - 0.11.4-alpha.23327.1 + 0.11.4-alpha.23360.2 $(MicrosoftNETCoreAppRefPackageVersion) From 97519f162c68e78f200054b5c92c72c5eb719187 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 17 Jul 2023 09:57:56 -0500 Subject: [PATCH 07/18] Try `UseDotNet@2` instead Context: https://learn.microsoft.com/azure/devops/pipelines/tasks/reference/use-dotnet-v2 --- .../automation/azure-pipelines-oss.yaml | 2 - .../yaml-templates/build-windows.yaml | 2 - .../yaml-templates/commercial-build.yaml | 2 - .../setup-test-environment.yaml | 4 +- .../yaml-templates/setup-ubuntu.yaml | 2 - .../yaml-templates/use-dot-net.yaml | 55 ++----------------- .../automation/yaml-templates/variables.yaml | 6 +- 7 files changed, 9 insertions(+), 64 deletions(-) diff --git a/build-tools/automation/azure-pipelines-oss.yaml b/build-tools/automation/azure-pipelines-oss.yaml index 0fbbed4d95f..eb41b082a58 100644 --- a/build-tools/automation/azure-pipelines-oss.yaml +++ b/build-tools/automation/azure-pipelines-oss.yaml @@ -48,8 +48,6 @@ stages: submodules: recursive - template: yaml-templates/use-dot-net.yaml - parameters: - remove_dotnet: true - bash: | keychains=`security list-keychains` diff --git a/build-tools/automation/yaml-templates/build-windows.yaml b/build-tools/automation/yaml-templates/build-windows.yaml index b94bb97c15b..aba00269df4 100644 --- a/build-tools/automation/yaml-templates/build-windows.yaml +++ b/build-tools/automation/yaml-templates/build-windows.yaml @@ -42,8 +42,6 @@ stages: displayName: set JI_JAVA_HOME - template: use-dot-net.yaml - parameters: - remove_dotnet: true # Downgrade the XA .vsix installed into the instance of VS that we are building with so that we don't restore/build against a test version. # The VS installer will attempt to resume any failed or partial installation before trying to downgrade Xamarin.Android. diff --git a/build-tools/automation/yaml-templates/commercial-build.yaml b/build-tools/automation/yaml-templates/commercial-build.yaml index d1a6a3e4977..51149591e73 100644 --- a/build-tools/automation/yaml-templates/commercial-build.yaml +++ b/build-tools/automation/yaml-templates/commercial-build.yaml @@ -11,8 +11,6 @@ steps: displayName: set JI_JAVA_HOME - template: use-dot-net.yaml - parameters: - remove_dotnet: true - task: NuGetAuthenticate@0 displayName: authenticate with azure artifacts diff --git a/build-tools/automation/yaml-templates/setup-test-environment.yaml b/build-tools/automation/yaml-templates/setup-test-environment.yaml index 3d50467c960..32c1403c76d 100644 --- a/build-tools/automation/yaml-templates/setup-test-environment.yaml +++ b/build-tools/automation/yaml-templates/setup-test-environment.yaml @@ -44,9 +44,7 @@ steps: - ${{ if eq(parameters.installLegacyDotNet, true) }}: - template: use-dot-net.yaml parameters: - version: 6.0 - quality: GA - remove_dotnet: ${{ parameters.remove_dotnet }} + version: $(DotNet6SdkVersion) # Install latest .NET - template: use-dot-net.yaml diff --git a/build-tools/automation/yaml-templates/setup-ubuntu.yaml b/build-tools/automation/yaml-templates/setup-ubuntu.yaml index c18d1340df5..a786d34257c 100644 --- a/build-tools/automation/yaml-templates/setup-ubuntu.yaml +++ b/build-tools/automation/yaml-templates/setup-ubuntu.yaml @@ -17,8 +17,6 @@ steps: displayName: update packages - template: use-dot-net.yaml - parameters: - remove_dotnet: true - task: NuGetToolInstaller@1 displayName: Use NuGet 5.x diff --git a/build-tools/automation/yaml-templates/use-dot-net.yaml b/build-tools/automation/yaml-templates/use-dot-net.yaml index 41fdfad874a..6e0fb221f4a 100644 --- a/build-tools/automation/yaml-templates/use-dot-net.yaml +++ b/build-tools/automation/yaml-templates/use-dot-net.yaml @@ -3,59 +3,14 @@ parameters: version: $(DotNetSdkVersion) - quality: $(DotNetSdkQuality) - remove_dotnet: false - retryCountOnTaskFailure: 3 + includePreviewVersions: false steps: - - pwsh: | - $ErrorActionPreference = 'Stop' - $ProgressPreference = 'SilentlyContinue' - $DotNetRoot = "$env:ProgramFiles\dotnet\" - if ("${{ parameters.remove_dotnet }}" -eq $true) { - Remove-Item -Recurse $DotNetRoot -Verbose - } - $currentAttempt = 1 - $totalAttempts = 5 - $sleepTime = 5 - $completed = $false - while (-not $completed -and $currentAttempt -le $totalAttempts) { - try { - $response = Invoke-WebRequest -Uri "https://dot.net/v1/dotnet-install.ps1" -OutFile dotnet-install.ps1 -PassThru - if ($response.StatusCode -ne 200) { - throw - } - $completed = $true - } catch { - if ($currentAttempt -eq $totalAttempts) { - Write-Host "Unable to download 'dotnet-install.ps1' after $currentAttempt attempts." - throw - } - Write-Host $_.Exception - Write-Host "Retrying after $sleepTime seconds..." - Start-Sleep $sleepTime - $currentAttempt++ - $sleepTime = $sleepTime * 2 - } - } - & .\dotnet-install.ps1 -Channel ${{ parameters.version }} -Quality ${{ parameters.quality }} -InstallDir $DotNetRoot -SkipNonVersionedFiles -Verbose - displayName: install .NET Core ${{ parameters.version }} - condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) - retryCountOnTaskFailure: ${{ parameters.retryCountOnTaskFailure }} - - - bash: > - DOTNET_ROOT=~/.dotnet/ && - (if [[ "${{ parameters.remove_dotnet }}" == "true" ]] ; then rm -rfv $DOTNET_ROOT; fi) && - curl -L https://dot.net/v1/dotnet-install.sh --retry 5 --retry-max-time 300 > dotnet-install.sh && - chmod +x dotnet-install.sh && - ./dotnet-install.sh --channel ${{ parameters.version }} --quality ${{ parameters.quality }} --install-dir $DOTNET_ROOT --skip-non-versioned-files --verbose && - PATH="$DOTNET_ROOT:$PATH" && - echo "##vso[task.setvariable variable=DOTNET_ROOT]$DOTNET_ROOT" && - echo "##vso[task.setvariable variable=PATH]$PATH" - displayName: install .NET Core ${{ parameters.version }} - condition: and(succeeded(), ne(variables['agent.os'], 'Windows_NT')) - retryCountOnTaskFailure: ${{ parameters.retryCountOnTaskFailure }} + - task: UseDotNet@2 + inputs: + version: ${{ parameters.version }} + includePreviewVersions: ${{ parameters.includePreviewVersions }} - script: dotnet --info displayName: display dotnet --info diff --git a/build-tools/automation/yaml-templates/variables.yaml b/build-tools/automation/yaml-templates/variables.yaml index 611f20feed5..2941ac3c46a 100644 --- a/build-tools/automation/yaml-templates/variables.yaml +++ b/build-tools/automation/yaml-templates/variables.yaml @@ -18,9 +18,9 @@ variables: - name: NUnit.NumberOfTestWorkers value: 4 - name: DotNetSdkVersion - value: 7.0 -- name: DotNetSdkQuality - value: GA + value: 7.0.306 +- name: DotNet6SdkVersion + value: 6.0.412 - name: GitHub.Token value: $(github--pat--vs-mobiletools-engineering-service2) - name: HostedMacImage From 5e49c42daba9b3d6457d667ee2b7c156dae8bdd4 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 17 Jul 2023 12:45:53 -0500 Subject: [PATCH 08/18] Revert "Try `UseDotNet@2` instead" This reverts commit 97519f162c68e78f200054b5c92c72c5eb719187. --- .../automation/azure-pipelines-oss.yaml | 2 + .../yaml-templates/build-windows.yaml | 2 + .../yaml-templates/commercial-build.yaml | 2 + .../setup-test-environment.yaml | 4 +- .../yaml-templates/setup-ubuntu.yaml | 2 + .../yaml-templates/use-dot-net.yaml | 55 +++++++++++++++++-- .../automation/yaml-templates/variables.yaml | 6 +- 7 files changed, 64 insertions(+), 9 deletions(-) diff --git a/build-tools/automation/azure-pipelines-oss.yaml b/build-tools/automation/azure-pipelines-oss.yaml index eb41b082a58..0fbbed4d95f 100644 --- a/build-tools/automation/azure-pipelines-oss.yaml +++ b/build-tools/automation/azure-pipelines-oss.yaml @@ -48,6 +48,8 @@ stages: submodules: recursive - template: yaml-templates/use-dot-net.yaml + parameters: + remove_dotnet: true - bash: | keychains=`security list-keychains` diff --git a/build-tools/automation/yaml-templates/build-windows.yaml b/build-tools/automation/yaml-templates/build-windows.yaml index aba00269df4..b94bb97c15b 100644 --- a/build-tools/automation/yaml-templates/build-windows.yaml +++ b/build-tools/automation/yaml-templates/build-windows.yaml @@ -42,6 +42,8 @@ stages: displayName: set JI_JAVA_HOME - template: use-dot-net.yaml + parameters: + remove_dotnet: true # Downgrade the XA .vsix installed into the instance of VS that we are building with so that we don't restore/build against a test version. # The VS installer will attempt to resume any failed or partial installation before trying to downgrade Xamarin.Android. diff --git a/build-tools/automation/yaml-templates/commercial-build.yaml b/build-tools/automation/yaml-templates/commercial-build.yaml index 51149591e73..d1a6a3e4977 100644 --- a/build-tools/automation/yaml-templates/commercial-build.yaml +++ b/build-tools/automation/yaml-templates/commercial-build.yaml @@ -11,6 +11,8 @@ steps: displayName: set JI_JAVA_HOME - template: use-dot-net.yaml + parameters: + remove_dotnet: true - task: NuGetAuthenticate@0 displayName: authenticate with azure artifacts diff --git a/build-tools/automation/yaml-templates/setup-test-environment.yaml b/build-tools/automation/yaml-templates/setup-test-environment.yaml index 32c1403c76d..3d50467c960 100644 --- a/build-tools/automation/yaml-templates/setup-test-environment.yaml +++ b/build-tools/automation/yaml-templates/setup-test-environment.yaml @@ -44,7 +44,9 @@ steps: - ${{ if eq(parameters.installLegacyDotNet, true) }}: - template: use-dot-net.yaml parameters: - version: $(DotNet6SdkVersion) + version: 6.0 + quality: GA + remove_dotnet: ${{ parameters.remove_dotnet }} # Install latest .NET - template: use-dot-net.yaml diff --git a/build-tools/automation/yaml-templates/setup-ubuntu.yaml b/build-tools/automation/yaml-templates/setup-ubuntu.yaml index a786d34257c..c18d1340df5 100644 --- a/build-tools/automation/yaml-templates/setup-ubuntu.yaml +++ b/build-tools/automation/yaml-templates/setup-ubuntu.yaml @@ -17,6 +17,8 @@ steps: displayName: update packages - template: use-dot-net.yaml + parameters: + remove_dotnet: true - task: NuGetToolInstaller@1 displayName: Use NuGet 5.x diff --git a/build-tools/automation/yaml-templates/use-dot-net.yaml b/build-tools/automation/yaml-templates/use-dot-net.yaml index 6e0fb221f4a..41fdfad874a 100644 --- a/build-tools/automation/yaml-templates/use-dot-net.yaml +++ b/build-tools/automation/yaml-templates/use-dot-net.yaml @@ -3,14 +3,59 @@ parameters: version: $(DotNetSdkVersion) - includePreviewVersions: false + quality: $(DotNetSdkQuality) + remove_dotnet: false + retryCountOnTaskFailure: 3 steps: - - task: UseDotNet@2 - inputs: - version: ${{ parameters.version }} - includePreviewVersions: ${{ parameters.includePreviewVersions }} + - pwsh: | + $ErrorActionPreference = 'Stop' + $ProgressPreference = 'SilentlyContinue' + $DotNetRoot = "$env:ProgramFiles\dotnet\" + if ("${{ parameters.remove_dotnet }}" -eq $true) { + Remove-Item -Recurse $DotNetRoot -Verbose + } + $currentAttempt = 1 + $totalAttempts = 5 + $sleepTime = 5 + $completed = $false + while (-not $completed -and $currentAttempt -le $totalAttempts) { + try { + $response = Invoke-WebRequest -Uri "https://dot.net/v1/dotnet-install.ps1" -OutFile dotnet-install.ps1 -PassThru + if ($response.StatusCode -ne 200) { + throw + } + $completed = $true + } catch { + if ($currentAttempt -eq $totalAttempts) { + Write-Host "Unable to download 'dotnet-install.ps1' after $currentAttempt attempts." + throw + } + Write-Host $_.Exception + Write-Host "Retrying after $sleepTime seconds..." + Start-Sleep $sleepTime + $currentAttempt++ + $sleepTime = $sleepTime * 2 + } + } + & .\dotnet-install.ps1 -Channel ${{ parameters.version }} -Quality ${{ parameters.quality }} -InstallDir $DotNetRoot -SkipNonVersionedFiles -Verbose + displayName: install .NET Core ${{ parameters.version }} + condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) + retryCountOnTaskFailure: ${{ parameters.retryCountOnTaskFailure }} + + - bash: > + DOTNET_ROOT=~/.dotnet/ && + (if [[ "${{ parameters.remove_dotnet }}" == "true" ]] ; then rm -rfv $DOTNET_ROOT; fi) && + curl -L https://dot.net/v1/dotnet-install.sh --retry 5 --retry-max-time 300 > dotnet-install.sh && + chmod +x dotnet-install.sh && + ./dotnet-install.sh --channel ${{ parameters.version }} --quality ${{ parameters.quality }} --install-dir $DOTNET_ROOT --skip-non-versioned-files --verbose && + PATH="$DOTNET_ROOT:$PATH" && + echo "##vso[task.setvariable variable=DOTNET_ROOT]$DOTNET_ROOT" && + echo "##vso[task.setvariable variable=PATH]$PATH" + displayName: install .NET Core ${{ parameters.version }} + condition: and(succeeded(), ne(variables['agent.os'], 'Windows_NT')) + retryCountOnTaskFailure: ${{ parameters.retryCountOnTaskFailure }} - script: dotnet --info displayName: display dotnet --info diff --git a/build-tools/automation/yaml-templates/variables.yaml b/build-tools/automation/yaml-templates/variables.yaml index 2941ac3c46a..611f20feed5 100644 --- a/build-tools/automation/yaml-templates/variables.yaml +++ b/build-tools/automation/yaml-templates/variables.yaml @@ -18,9 +18,9 @@ variables: - name: NUnit.NumberOfTestWorkers value: 4 - name: DotNetSdkVersion - value: 7.0.306 -- name: DotNet6SdkVersion - value: 6.0.412 + value: 7.0 +- name: DotNetSdkQuality + value: GA - name: GitHub.Token value: $(github--pat--vs-mobiletools-engineering-service2) - name: HostedMacImage From f9454bdc85a734cb865fbb4edb469337949c41be Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 17 Jul 2023 12:56:06 -0500 Subject: [PATCH 09/18] Try clearing `$DOTNET_ROOT` --- build-tools/scripts/msbuild.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-tools/scripts/msbuild.mk b/build-tools/scripts/msbuild.mk index 3416f3b7c30..b5aed90d565 100644 --- a/build-tools/scripts/msbuild.mk +++ b/build-tools/scripts/msbuild.mk @@ -51,7 +51,7 @@ endef # $(call DOTNET_BINLOG,name,build=$(DOTNET_VERB),dotnet=$(DOTNET_TOOL)) define DOTNET_BINLOG - $(if $(3),$(3),$(DOTNET_TOOL)) $(if $(2),$(2),$(DOTNET_VERB)) -c $(CONFIGURATION) -v:n $(MSBUILD_ARGS) \ + DOTNET_ROOT='' $(if $(3),$(3),$(DOTNET_TOOL)) $(if $(2),$(2),$(DOTNET_VERB)) -c $(CONFIGURATION) -v:n $(MSBUILD_ARGS) \ -bl:"$(dir $(realpath $(firstword $(MAKEFILE_LIST))))/bin/Build$(CONFIGURATION)/msbuild-`date +%Y%m%dT%H%M%S`-$(1).binlog" endef From 6823d2707fb3d7eb6e3956e6644ac05653ea196b Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 17 Jul 2023 14:05:35 -0500 Subject: [PATCH 10/18] Set $DOTNET_ROOT instead This appears to be the way to get to pick the right `dotnet`: https://github.com/dotnet/roslyn/pull/68918/files#diff-ec99cd9453fe657dd1ea08e93e94b0bb51c51484b8ad25882d312564e5fe8e26R61 --- build-tools/scripts/msbuild.mk | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build-tools/scripts/msbuild.mk b/build-tools/scripts/msbuild.mk index b5aed90d565..ce587b3f06f 100644 --- a/build-tools/scripts/msbuild.mk +++ b/build-tools/scripts/msbuild.mk @@ -23,7 +23,8 @@ # $(MSBUILD_FLAGS): Additional MSBuild flags; contains $(CONFIGURATION), $(V), $(MSBUILD_ARGS). MSBUILD = msbuild -DOTNET_TOOL = $(topdir)/bin/$(CONFIGURATION)/dotnet/dotnet +DOTNET_ROOT = $(topdir)/bin/$(CONFIGURATION)/dotnet/ +DOTNET_TOOL = $(DOTNET_ROOT)dotnet DOTNET_VERB = build MSBUILD_FLAGS = /p:Configuration=$(CONFIGURATION) $(MSBUILD_ARGS) @@ -51,7 +52,7 @@ endef # $(call DOTNET_BINLOG,name,build=$(DOTNET_VERB),dotnet=$(DOTNET_TOOL)) define DOTNET_BINLOG - DOTNET_ROOT='' $(if $(3),$(3),$(DOTNET_TOOL)) $(if $(2),$(2),$(DOTNET_VERB)) -c $(CONFIGURATION) -v:n $(MSBUILD_ARGS) \ + $(if $(3),,DOTNET_ROOT='$(DOTNET_ROOT)') $(if $(3),$(3),$(DOTNET_TOOL)) $(if $(2),$(2),$(DOTNET_VERB)) -c $(CONFIGURATION) -v:n $(MSBUILD_ARGS) \ -bl:"$(dir $(realpath $(firstword $(MAKEFILE_LIST))))/bin/Build$(CONFIGURATION)/msbuild-`date +%Y%m%dT%H%M%S`-$(1).binlog" endef From 9655bc63c904bd529dc5a075cf35a3e92563b0de Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 17 Jul 2023 15:24:20 -0500 Subject: [PATCH 11/18] Set `$DOTNET_ROOT` more places --- .../Tests/Xamarin.ProjectTools/Common/Builder.cs | 1 + .../Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/Builder.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/Builder.cs index 334aa28ddfb..134fff471ef 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/Builder.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/Builder.cs @@ -279,6 +279,7 @@ protected bool BuildInternal (string projectOrSolution, string target, string [] } if (Builder.UseDotNet) { psi.SetEnvironmentVariable ("DOTNET_MULTILEVEL_LOOKUP", "0"); + psi.SetEnvironmentVariable ("DOTNET_ROOT", TestEnvironment.DotNetPreviewDirectory); } psi.Arguments = args.ToString (); diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs index 7c0477ceb8c..022a5425b0b 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs @@ -47,6 +47,7 @@ protected bool Execute (params string [] args) p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.SetEnvironmentVariable ("DOTNET_MULTILEVEL_LOOKUP", "0"); + p.SetEnvironmentVariable ("DOTNET_ROOT", TestEnvironment.DotNetPreviewDirectory); if (TestEnvironment.UseLocalBuildOutput) { p.StartInfo.SetEnvironmentVariable ("DOTNETSDK_WORKLOAD_MANIFEST_ROOTS", TestEnvironment.WorkloadManifestOverridePath); p.StartInfo.SetEnvironmentVariable ("DOTNETSDK_WORKLOAD_PACK_ROOTS", TestEnvironment.WorkloadPackOverridePath); From eddb0e05012029c7cb16aefbb3942c1ebc5ddbc9 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 17 Jul 2023 15:26:12 -0500 Subject: [PATCH 12/18] p.StartInfo --- .../Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs index 022a5425b0b..d3da05577a1 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs @@ -47,7 +47,7 @@ protected bool Execute (params string [] args) p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.SetEnvironmentVariable ("DOTNET_MULTILEVEL_LOOKUP", "0"); - p.SetEnvironmentVariable ("DOTNET_ROOT", TestEnvironment.DotNetPreviewDirectory); + p.StartInfo.SetEnvironmentVariable ("DOTNET_ROOT", TestEnvironment.DotNetPreviewDirectory); if (TestEnvironment.UseLocalBuildOutput) { p.StartInfo.SetEnvironmentVariable ("DOTNETSDK_WORKLOAD_MANIFEST_ROOTS", TestEnvironment.WorkloadManifestOverridePath); p.StartInfo.SetEnvironmentVariable ("DOTNETSDK_WORKLOAD_PACK_ROOTS", TestEnvironment.WorkloadPackOverridePath); From e168e3875e91c0226cb87ca91ba304aa5ef5eb46 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 17 Jul 2023 16:48:26 -0500 Subject: [PATCH 13/18] Set $env:DOTNET_ROOT --- .../automation/yaml-templates/run-dotnet-preview.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build-tools/automation/yaml-templates/run-dotnet-preview.yaml b/build-tools/automation/yaml-templates/run-dotnet-preview.yaml index f0b62b4eb1d..0f66892f3f9 100644 --- a/build-tools/automation/yaml-templates/run-dotnet-preview.yaml +++ b/build-tools/automation/yaml-templates/run-dotnet-preview.yaml @@ -13,9 +13,11 @@ parameters: steps: - powershell: | if ([Environment]::OSVersion.Platform -eq "Unix") { - $dotnetPath = "${{ parameters.xaSourcePath }}/bin/${{ parameters.configuration }}/dotnet/dotnet" + $env:DOTNET_ROOT = "${{ parameters.xaSourcePath }}/bin/${{ parameters.configuration }}/dotnet" + $dotnetPath = "$env:DOTNET_ROOT/dotnet" } else { - $dotnetPath = "${{ parameters.xaSourcePath }}\bin\${{ parameters.configuration }}\dotnet\dotnet.exe" + $env:DOTNET_ROOT = "${{ parameters.xaSourcePath }}\bin\${{ parameters.configuration }}\dotnet" + $dotnetPath = "$env:DOTNET_ROOT\dotnet.exe" } & $dotnetPath ${{ parameters.command }} ${{ parameters.project }} ${{ parameters.arguments }} if ([System.Convert]::ToBoolean("${{ parameters.useExitCodeForErrors }}") -and $LASTEXITCODE -ne 0) { From d950ac1e46eedaa4daec3c30269dc2bac770a9d5 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 17 Jul 2023 22:10:07 -0500 Subject: [PATCH 14/18] Update .apkdesc files --- .../BuildReleaseArm64SimpleDotNet.apkdesc | 28 ++--- .../BuildReleaseArm64XFormsDotNet.apkdesc | 101 +++++++++--------- 2 files changed, 66 insertions(+), 63 deletions(-) diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc index 54df3f6972a..e5d2975877c 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc @@ -8,58 +8,58 @@ "Size": 1024 }, "assemblies/Java.Interop.dll": { - "Size": 58990 + "Size": 58895 }, "assemblies/Mono.Android.dll": { - "Size": 88074 + "Size": 88112 }, "assemblies/Mono.Android.Runtime.dll": { - "Size": 5819 + "Size": 5575 }, "assemblies/rc.bin": { "Size": 1302 }, "assemblies/System.Console.dll": { - "Size": 6450 + "Size": 6418 }, "assemblies/System.Linq.dll": { - "Size": 9249 + "Size": 9212 }, "assemblies/System.Private.CoreLib.dll": { - "Size": 537383 + "Size": 548643 }, "assemblies/System.Runtime.dll": { - "Size": 2630 + "Size": 2633 }, "assemblies/System.Runtime.InteropServices.dll": { - "Size": 3767 + "Size": 3733 }, "assemblies/UnnamedProject.dll": { "Size": 2931 }, "classes.dex": { - "Size": 19716 + "Size": 377064 }, "lib/arm64-v8a/libmono-component-marshal-ilgen.so": { "Size": 97096 }, "lib/arm64-v8a/libmonodroid.so": { - "Size": 380704 + "Size": 381088 }, "lib/arm64-v8a/libmonosgen-2.0.so": { - "Size": 3179120 + "Size": 3184096 }, "lib/arm64-v8a/libSystem.IO.Compression.Native.so": { "Size": 723560 }, "lib/arm64-v8a/libSystem.Native.so": { - "Size": 94424 + "Size": 93856 }, "lib/arm64-v8a/libSystem.Security.Cryptography.Native.Android.so": { "Size": 154904 }, "lib/arm64-v8a/libxamarin-app.so": { - "Size": 16672 + "Size": 11608 }, "META-INF/BNDLTOOL.RSA": { "Size": 1213 @@ -95,5 +95,5 @@ "Size": 1904 } }, - "PackageSize": 2771274 + "PackageSize": 2787658 } \ No newline at end of file diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.apkdesc b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.apkdesc index e06763ac0b6..7c32c7305d2 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.apkdesc +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.apkdesc @@ -11,130 +11,133 @@ "Size": 7112 }, "assemblies/Java.Interop.dll": { - "Size": 66908 + "Size": 66808 }, "assemblies/Mono.Android.dll": { - "Size": 469884 + "Size": 469914 }, "assemblies/Mono.Android.Runtime.dll": { - "Size": 5819 + "Size": 5575 }, "assemblies/mscorlib.dll": { - "Size": 3865 + "Size": 3870 }, "assemblies/netstandard.dll": { - "Size": 5581 + "Size": 5585 }, "assemblies/rc.bin": { "Size": 1302 }, "assemblies/System.Collections.Concurrent.dll": { - "Size": 11559 + "Size": 11524 }, "assemblies/System.Collections.dll": { - "Size": 15448 + "Size": 15415 }, "assemblies/System.Collections.NonGeneric.dll": { - "Size": 7504 + "Size": 7461 }, "assemblies/System.ComponentModel.dll": { - "Size": 1976 + "Size": 1946 }, "assemblies/System.ComponentModel.Primitives.dll": { - "Size": 2598 + "Size": 2560 }, "assemblies/System.ComponentModel.TypeConverter.dll": { - "Size": 6085 + "Size": 6044 }, "assemblies/System.Console.dll": { - "Size": 6616 + "Size": 6588 }, "assemblies/System.Core.dll": { - "Size": 1991 + "Size": 1996 + }, + "assemblies/System.Diagnostics.DiagnosticSource.dll": { + "Size": 12529 }, "assemblies/System.Diagnostics.TraceSource.dll": { - "Size": 6593 + "Size": 6562 }, "assemblies/System.dll": { - "Size": 2348 + "Size": 2350 }, "assemblies/System.Drawing.dll": { - "Size": 1940 + "Size": 1944 }, "assemblies/System.Drawing.Primitives.dll": { - "Size": 12015 + "Size": 11987 }, "assemblies/System.IO.Compression.Brotli.dll": { - "Size": 11228 + "Size": 11196 }, "assemblies/System.IO.Compression.dll": { - "Size": 15906 + "Size": 15877 }, "assemblies/System.IO.IsolatedStorage.dll": { - "Size": 9915 + "Size": 9887 }, "assemblies/System.Linq.dll": { - "Size": 19598 + "Size": 19570 }, "assemblies/System.Linq.Expressions.dll": { - "Size": 164343 + "Size": 164694 }, "assemblies/System.Net.Http.dll": { - "Size": 65677 + "Size": 69096 }, "assemblies/System.Net.Primitives.dll": { - "Size": 22479 + "Size": 22443 }, "assemblies/System.Net.Requests.dll": { - "Size": 3632 + "Size": 3609 }, "assemblies/System.ObjectModel.dll": { - "Size": 8163 + "Size": 8124 }, "assemblies/System.Private.CoreLib.dll": { - "Size": 834376 + "Size": 843541 }, "assemblies/System.Private.DataContractSerialization.dll": { - "Size": 192934 + "Size": 192912 }, "assemblies/System.Private.Uri.dll": { - "Size": 43517 + "Size": 43487 }, "assemblies/System.Private.Xml.dll": { - "Size": 215824 + "Size": 215780 }, "assemblies/System.Private.Xml.Linq.dll": { - "Size": 16687 + "Size": 16647 }, "assemblies/System.Runtime.dll": { - "Size": 2756 + "Size": 2759 }, "assemblies/System.Runtime.InteropServices.dll": { - "Size": 3767 + "Size": 3733 }, "assemblies/System.Runtime.Serialization.dll": { - "Size": 1868 + "Size": 1872 }, "assemblies/System.Runtime.Serialization.Formatters.dll": { - "Size": 2520 + "Size": 2490 }, "assemblies/System.Runtime.Serialization.Primitives.dll": { - "Size": 3805 + "Size": 3769 }, "assemblies/System.Security.Cryptography.dll": { - "Size": 8133 + "Size": 8111 }, "assemblies/System.Text.RegularExpressions.dll": { - "Size": 159004 + "Size": 158602 }, "assemblies/System.Xml.dll": { - "Size": 1761 + "Size": 1765 }, "assemblies/System.Xml.Linq.dll": { - "Size": 1778 + "Size": 1782 }, "assemblies/UnnamedProject.dll": { - "Size": 5300 + "Size": 4987 }, "assemblies/Xamarin.AndroidX.Activity.dll": { "Size": 5942 @@ -206,25 +209,25 @@ "Size": 3514720 }, "lib/arm64-v8a/libmono-component-marshal-ilgen.so": { - "Size": 97392 + "Size": 97096 }, "lib/arm64-v8a/libmonodroid.so": { - "Size": 380704 + "Size": 381088 }, "lib/arm64-v8a/libmonosgen-2.0.so": { - "Size": 3179120 + "Size": 3184096 }, "lib/arm64-v8a/libSystem.IO.Compression.Native.so": { "Size": 723560 }, "lib/arm64-v8a/libSystem.Native.so": { - "Size": 94424 + "Size": 93856 }, "lib/arm64-v8a/libSystem.Security.Cryptography.Native.Android.so": { "Size": 154904 }, "lib/arm64-v8a/libxamarin-app.so": { - "Size": 333784 + "Size": 102800 }, "META-INF/android.support.design_material.version": { "Size": 12 @@ -338,13 +341,13 @@ "Size": 1213 }, "META-INF/BNDLTOOL.SF": { - "Size": 76902 + "Size": 77024 }, "META-INF/com.google.android.material_material.version": { "Size": 10 }, "META-INF/MANIFEST.MF": { - "Size": 76775 + "Size": 76897 }, "META-INF/proguard/androidx-annotations.pro": { "Size": 339 @@ -1913,5 +1916,5 @@ "Size": 325240 } }, - "PackageSize": 7953326 + "PackageSize": 7982094 } \ No newline at end of file From 10a969acb6889c057258a480afea3f79e0ebec91 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Tue, 18 Jul 2023 08:07:49 -0500 Subject: [PATCH 15/18] [tests] ignore `CheckWhetherLibcAndLibmAreReferencedInAOTLibraries` --- .../Tests/Xamarin.Android.Build.Tests/BuildTest.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs index e748cc8155f..14b4fc9ec62 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs @@ -85,6 +85,9 @@ public void CheckMonoComponentsMask (bool enableProfiler, bool useInterpreter, b [Test] public void CheckWhetherLibcAndLibmAreReferencedInAOTLibraries () { + if (IsWindows) + Assert.Ignore ("https://github.com/dotnet/runtime/issues/88625"); + var proj = new XamarinAndroidApplicationProject { IsRelease = true, EmbedAssembliesIntoApk = true, From 36e84a0755bb0fabeb15c6c15d924c894b138a5b Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Wed, 19 Jul 2023 10:51:46 -0500 Subject: [PATCH 16/18] [tests] disable failing tests under LLVM --- external/Java.Interop | 2 +- .../Java.Interop-Tests/Java.Interop-Tests.NET.csproj | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/external/Java.Interop b/external/Java.Interop index 151b03ee1ee..3722d9107b4 160000 --- a/external/Java.Interop +++ b/external/Java.Interop @@ -1 +1 @@ -Subproject commit 151b03ee1eefa62e3d29b034b2aaf05ea73d99ed +Subproject commit 3722d9107b4027162b1a0885dddd64124d33dea6 diff --git a/tests/Mono.Android-Tests/Java.Interop-Tests/Java.Interop-Tests.NET.csproj b/tests/Mono.Android-Tests/Java.Interop-Tests/Java.Interop-Tests.NET.csproj index f9a8feab9a3..aaf63cc3289 100644 --- a/tests/Mono.Android-Tests/Java.Interop-Tests/Java.Interop-Tests.NET.csproj +++ b/tests/Mono.Android-Tests/Java.Interop-Tests/Java.Interop-Tests.NET.csproj @@ -14,6 +14,8 @@ ..\..\..\product.snk $(DefineConstants);NO_MARSHAL_MEMBER_BUILDER_SUPPORT $(JavaInteropSourceDirectory)\tests\Java.Interop-Tests\ + + $(ExcludeCategories):LLVMIgnore From 37cacd90b19961b0adc1fba8f88373d74f059826 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Wed, 19 Jul 2023 13:02:58 -0500 Subject: [PATCH 17/18] Set $(ExcludeCategories) in correct project --- .../Java.Interop-Tests/Java.Interop-Tests.NET.csproj | 2 -- .../Runtime-Microsoft.Android.Sdk/Mono.Android.NET-Tests.csproj | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Mono.Android-Tests/Java.Interop-Tests/Java.Interop-Tests.NET.csproj b/tests/Mono.Android-Tests/Java.Interop-Tests/Java.Interop-Tests.NET.csproj index aaf63cc3289..f9a8feab9a3 100644 --- a/tests/Mono.Android-Tests/Java.Interop-Tests/Java.Interop-Tests.NET.csproj +++ b/tests/Mono.Android-Tests/Java.Interop-Tests/Java.Interop-Tests.NET.csproj @@ -14,8 +14,6 @@ ..\..\..\product.snk $(DefineConstants);NO_MARSHAL_MEMBER_BUILDER_SUPPORT $(JavaInteropSourceDirectory)\tests\Java.Interop-Tests\ - - $(ExcludeCategories):LLVMIgnore diff --git a/tests/Mono.Android-Tests/Runtime-Microsoft.Android.Sdk/Mono.Android.NET-Tests.csproj b/tests/Mono.Android-Tests/Runtime-Microsoft.Android.Sdk/Mono.Android.NET-Tests.csproj index 40c61020b59..f21c94de80f 100644 --- a/tests/Mono.Android-Tests/Runtime-Microsoft.Android.Sdk/Mono.Android.NET-Tests.csproj +++ b/tests/Mono.Android-Tests/Runtime-Microsoft.Android.Sdk/Mono.Android.NET-Tests.csproj @@ -29,6 +29,8 @@ NetworkInterfaces excluded: https://github.com/dotnet/runtime/issues/75155 --> DotNetIgnore + + $(ExcludeCategories):LLVMIgnore $(ExcludeCategories):InetAccess:NetworkInterfaces From ecf8c5a37259b7adef5a695600bc05b410115b33 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Wed, 19 Jul 2023 16:15:58 -0500 Subject: [PATCH 18/18] Bump to xamarin/java.interop/main@62efc0980 --- external/Java.Interop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/external/Java.Interop b/external/Java.Interop index 3722d9107b4..62efc09806d 160000 --- a/external/Java.Interop +++ b/external/Java.Interop @@ -1 +1 @@ -Subproject commit 3722d9107b4027162b1a0885dddd64124d33dea6 +Subproject commit 62efc09806d6d2ed1cac34611acb070856d53f02