From 493992e52aaa7027962aff6bead77e23b7aed1fa Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Mon, 3 Jun 2024 17:41:30 -0400 Subject: [PATCH 1/2] Test removal of jdk8 provisioning --- Configuration.props | 3 --- .../xaprepare/ConfigAndData/Configurables.cs | 25 +++---------------- .../Scenario_AndroidTestDependencies.cs | 3 +-- .../xaprepare/Scenarios/Scenario_Standard.cs | 3 +-- .../Steps/Step_InstallAdoptOpenJDK.cs | 24 +++--------------- .../Directory.Build.targets | 2 +- src/manifestmerger/manifestmerger.targets | 6 ++--- src/r8/r8.targets | 4 +-- 8 files changed, 15 insertions(+), 55 deletions(-) diff --git a/Configuration.props b/Configuration.props index f65e6bf97a1..a1549fe5086 100644 --- a/Configuration.props +++ b/Configuration.props @@ -137,9 +137,6 @@ 1.8 1.8 - $(JAVA_HOME_8_X64) - $([System.IO.Path]::GetFullPath ('$(JavaSdkDirectory)\..\jdk-1.8')) - $(JavaSdkDirectory) $([System.IO.Path]::GetFullPath ('$(AndroidNdkDirectory)')) diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs index 77d9d2b671a..19880319ca5 100644 --- a/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs +++ b/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs @@ -21,20 +21,10 @@ partial class Configurables const string MicrosoftOpenJDK17Release = "17.0.8.7"; const string MicrosoftOpenJDK17RootDirName = "jdk-17.0.8+7"; - const string AdoptOpenJDKRelease = "8.0"; // build_number.0 - static readonly string AdoptOpenJDKUrlVersion = $"8u{AdoptOpenJDKUpdate}{AdoptOpenJDKBuild}"; - static readonly string AdoptOpenJDKTag = $"jdk8u{AdoptOpenJDKUpdate}-{AdoptOpenJDKBuild}"; - static readonly string AdoptOpenJDKVersion = $"1.8.0.{AdoptOpenJDKUpdate}"; - static Context ctx => Context.Instance; public static partial class Urls { - // https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jdk_x64_linux_hotspot_8u345b01.tar.gz - // https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u332-b09/OpenJDK8U-jdk_x64_mac_hotspot_8u332b09.tar.gz - // https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jdk_x64_windows_hotspot_8u345b01.zip - public static readonly Uri AdoptOpenJDK8 = new Uri ($"https://github.com/adoptium/temurin8-binaries/releases/download/{AdoptOpenJDKTag}/OpenJDK8U-jdk_{AdoptOpenJDKOperatingSystem}_hotspot_{AdoptOpenJDKUrlVersion}.{AdoptOpenJDKArchiveExtension}"); - // https://aka.ms/download-jdk/microsoft-jdk-17.0.8-linux-x64.tar.gz // https://aka.ms/download-jdk/microsoft-jdk-17.0.8-macOS-x64.tar.gz // https://aka.ms/download-jdk/microsoft-jdk-17.0.8-windows-x64.zip @@ -59,10 +49,6 @@ public static partial class Defaults public static readonly Version MicrosoftOpenJDK17Release = new Version (Configurables.MicrosoftOpenJDK17Release); public static readonly string MicrosoftOpenJDK17RootDirName = Configurables.MicrosoftOpenJDK17RootDirName; - public static readonly Version AdoptOpenJDK8Version = new Version (Configurables.AdoptOpenJDKVersion); - public static readonly Version AdoptOpenJDK8Release = new Version (Configurables.AdoptOpenJDKRelease); - public static readonly string AdoptOpenJDK8RootDirName = Configurables.AdoptOpenJDKTag; - public const string DotNetTestRuntimeVersion = "3.1.11"; // Mono runtimes @@ -216,11 +202,8 @@ public static partial class Paths public static string MonoAndroidFrameworksRootDir => GetCachedPath (ref monoAndroidFrameworksRootDir, () => Path.Combine (XAInstallPrefix, MonoAndroidFrameworksSubDir)); public static string InstallMSBuildDir => GetCachedPath (ref installMSBuildDir, () => ctx.Properties.GetRequiredValue (KnownProperties.MicrosoftAndroidSdkOutDir)); - // AdoptOpenJDK - public static string OldOpenJDKInstallDir => GetCachedPath (ref oldOpenJDKInstallDir, () => Path.Combine (ctx.Properties.GetRequiredValue (KnownProperties.AndroidToolchainDirectory), "jdk")); - public static string OpenJDK8InstallDir => GetCachedPath (ref openJDK8InstallDir, () => Path.Combine (ctx.Properties.GetRequiredValue (KnownProperties.AndroidToolchainDirectory), "jdk-1.8")); - public static string OpenJDK8CacheDir => GetCachedPath (ref openJDK8CacheDir, () => ctx.Properties.GetRequiredValue (KnownProperties.AndroidToolchainCacheDirectory)); - + // OpenJDK + public static string OldOpenJDKInstallDir => GetCachedPath (ref oldOpenJDKInstallDir, () => Path.Combine (ctx.Properties.GetRequiredValue (KnownProperties.AndroidToolchainDirectory), "jdk-1.8")); public static string OpenJDK17InstallDir => GetCachedPath (ref openJDK17InstallDir, () => Path.Combine (ctx.Properties.GetRequiredValue (KnownProperties.AndroidToolchainDirectory), "jdk-17")); public static string OpenJDK17CacheDir => GetCachedPath (ref openJDK17CacheDir, () => ctx.Properties.GetRequiredValue (KnownProperties.AndroidToolchainCacheDirectory)); @@ -302,8 +285,8 @@ static string GetCachedPath (ref string? variable, Func creator) static string? installMSBuildDir; static string? monoAndroidFrameworksRootDir; static string? externalJavaInteropDir; - static string? openJDK8InstallDir, openJDK17InstallDir; - static string? openJDK8CacheDir, openJDK17CacheDir; + static string? openJDK17InstallDir; + static string? openJDK17CacheDir; static string? oldOpenJDKInstallDir; static string? configurationPropsGeneratedPath; static string? windowsBinutilsInstallDir; diff --git a/build-tools/xaprepare/xaprepare/Scenarios/Scenario_AndroidTestDependencies.cs b/build-tools/xaprepare/xaprepare/Scenarios/Scenario_AndroidTestDependencies.cs index 28e0c1ba8eb..46d482c392c 100644 --- a/build-tools/xaprepare/xaprepare/Scenarios/Scenario_AndroidTestDependencies.cs +++ b/build-tools/xaprepare/xaprepare/Scenarios/Scenario_AndroidTestDependencies.cs @@ -18,8 +18,7 @@ protected Scenario_AndroidTestDependencies (string name, string description) protected override void AddSteps (Context context) { Steps.Add (new Step_InstallDotNetPreview ()); - Steps.Add (new Step_InstallAdoptOpenJDK8 ()); - Steps.Add (new Step_InstallMicrosoftOpenJDK11 ()); + Steps.Add (new Step_InstallMicrosoftOpenJDK ()); Steps.Add (new Step_Android_SDK_NDK (AndroidSdkNdkType)); // disable installation of missing programs... diff --git a/build-tools/xaprepare/xaprepare/Scenarios/Scenario_Standard.cs b/build-tools/xaprepare/xaprepare/Scenarios/Scenario_Standard.cs index 65b4db34443..1f98ecadf3f 100644 --- a/build-tools/xaprepare/xaprepare/Scenarios/Scenario_Standard.cs +++ b/build-tools/xaprepare/xaprepare/Scenarios/Scenario_Standard.cs @@ -19,8 +19,7 @@ protected override void AddSteps (Context context) throw new ArgumentNullException (nameof (context)); Steps.Add (new Step_InstallDotNetPreview ()); - Steps.Add (new Step_InstallAdoptOpenJDK8 ()); - Steps.Add (new Step_InstallMicrosoftOpenJDK11 ()); + Steps.Add (new Step_InstallMicrosoftOpenJDK ()); Steps.Add (new Step_Android_SDK_NDK ()); Steps.Add (new Step_GenerateFiles (atBuildStart: true)); Steps.Add (new Step_PrepareProps ()); diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_InstallAdoptOpenJDK.cs b/build-tools/xaprepare/xaprepare/Steps/Step_InstallAdoptOpenJDK.cs index a0de8256a5d..68f4903eb1f 100644 --- a/build-tools/xaprepare/xaprepare/Steps/Step_InstallAdoptOpenJDK.cs +++ b/build-tools/xaprepare/xaprepare/Steps/Step_InstallAdoptOpenJDK.cs @@ -267,30 +267,12 @@ public void AddToInventory () } } - class Step_InstallAdoptOpenJDK8 : Step_InstallOpenJDK { - - const string _ProductName = "AdoptOpenJDK"; - - public Step_InstallAdoptOpenJDK8 () - : base ($"Installing {_ProductName} 1.8") - { - } - - protected override string ProductName => _ProductName; - protected override string JdkInstallDir => Configurables.Paths.OpenJDK8InstallDir; - protected override Version JdkVersion => Configurables.Defaults.AdoptOpenJDK8Version; - protected override Version JdkRelease => Configurables.Defaults.AdoptOpenJDK8Release; - protected override Uri JdkUrl => Configurables.Urls.AdoptOpenJDK8; - protected override string JdkCacheDir => Configurables.Paths.OpenJDK8CacheDir; - protected override string RootDirName => Configurables.Defaults.AdoptOpenJDK8RootDirName; - } - - class Step_InstallMicrosoftOpenJDK11 : Step_InstallOpenJDK { + class Step_InstallMicrosoftOpenJDK : Step_InstallOpenJDK { const string _ProductName = "Microsoft OpenJDK"; - public Step_InstallMicrosoftOpenJDK11 () - : base ($"Installing {_ProductName} 11") + public Step_InstallMicrosoftOpenJDK () + : base ($"Installing {_ProductName}") { } diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Directory.Build.targets b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Directory.Build.targets index 6194f3095cc..2398b819d6d 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Directory.Build.targets +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Directory.Build.targets @@ -37,7 +37,7 @@ Inputs="@(JavaSourceJarTest)" Outputs="Resources/javasourcejartest-javadoc.jar"> - <_Javadoc>"$(Java8SdkDirectory)/bin/javadoc" + <_Javadoc>"$(JavaSdkDirectory)/bin/javadoc" <_Outdir>$(IntermediateOutputPath)/javadoc diff --git a/src/manifestmerger/manifestmerger.targets b/src/manifestmerger/manifestmerger.targets index 074403841b5..6e7392b7861 100644 --- a/src/manifestmerger/manifestmerger.targets +++ b/src/manifestmerger/manifestmerger.targets @@ -9,12 +9,12 @@ Outputs="$(_Destination)"> diff --git a/src/r8/r8.targets b/src/r8/r8.targets index ac6237396d7..9dfab13d2f7 100644 --- a/src/r8/r8.targets +++ b/src/r8/r8.targets @@ -10,7 +10,7 @@ Outputs="$(_Destination)"> From 341c4e308dd052903f9eaa49572c1d77d8257761 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Mon, 3 Jun 2024 18:04:17 -0400 Subject: [PATCH 2/2] Bump JDK and install arm64 version when applicable --- .../xaprepare/ConfigAndData/Configurables.MacOS.cs | 8 ++------ .../xaprepare/ConfigAndData/Configurables.cs | 12 ++++++------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.MacOS.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.MacOS.cs index 9e277a90aad..0ef308b7101 100644 --- a/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.MacOS.cs +++ b/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.MacOS.cs @@ -1,15 +1,11 @@ using System; +using System.Runtime.InteropServices; namespace Xamarin.Android.Prepare { partial class Configurables { - const string AdoptOpenJDKUpdate = "332"; - const string AdoptOpenJDKBuild = "b09"; - - const string JetBrainsOpenJDKOperatingSystem = "osx-x64"; - const string MicrosoftOpenJDKOperatingSystem = "macOS-x64"; - const string AdoptOpenJDKOperatingSystem = "x64_mac"; + static string MicrosoftOpenJDKOperatingSystem = RuntimeInformation.OSArchitecture == Architecture.Arm64 ? "macos-aarch64": "macos-x64"; partial class Defaults { diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs index 19880319ca5..90022cddc91 100644 --- a/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs +++ b/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs @@ -17,17 +17,17 @@ partial class Configurables { const string BinutilsVersion = "L_18.1.6-8.0.0"; - const string MicrosoftOpenJDK17Version = "17.0.8"; - const string MicrosoftOpenJDK17Release = "17.0.8.7"; - const string MicrosoftOpenJDK17RootDirName = "jdk-17.0.8+7"; + const string MicrosoftOpenJDK17Version = "17.0.11"; + const string MicrosoftOpenJDK17Release = "17.0.11.9"; + const string MicrosoftOpenJDK17RootDirName = "jdk-17.0.11+9"; static Context ctx => Context.Instance; public static partial class Urls { - // https://aka.ms/download-jdk/microsoft-jdk-17.0.8-linux-x64.tar.gz - // https://aka.ms/download-jdk/microsoft-jdk-17.0.8-macOS-x64.tar.gz - // https://aka.ms/download-jdk/microsoft-jdk-17.0.8-windows-x64.zip + // https://aka.ms/download-jdk/microsoft-jdk-17.0.11-linux-x64.tar.gz + // https://aka.ms/download-jdk/microsoft-jdk-17.0.11-macOS-x64.tar.gz or https://aka.ms/download-jdk/microsoft-jdk-17.0.11-macos-aarch64.pkg + // https://aka.ms/download-jdk/microsoft-jdk-17.0.11-windows-x64.zip public static readonly Uri MicrosoftOpenJDK17 = new Uri ($"https://aka.ms/download-jdk/microsoft-jdk-{MicrosoftOpenJDK17Version}-{MicrosoftOpenJDKOperatingSystem}.{MicrosoftOpenJDKFileExtension}"); ///