Skip to content

Commit d92fc3e

Browse files
authored
[Xamarin.Android.Tools.AndroidSdk] Probe for AdoptOpenJDK Locations (#115)
Context: https://adoptopenjdk.net Add support to probe for the [AdoptOpenJDK][0] installation directories. [0]: https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=hotspot
1 parent dca30d9 commit d92fc3e

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/Xamarin.Android.Tools.AndroidSdk/JdkInfo.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,7 @@ public static IEnumerable<JdkInfo> GetKnownSystemJdkInfos (Action<TraceLevel, st
288288
.Concat (JdkLocations.GetPreferredJdks (logger))
289289
.Concat (XAPrepareJdkLocations.GetXAPrepareJdks (logger))
290290
.Concat (MicrosoftOpenJdkLocations.GetMicrosoftOpenJdks (logger))
291+
.Concat (AdoptOpenJdkLocations.GetAdoptOpenJdks (logger))
291292
.Concat (AzulJdkLocations.GetAzulJdks (logger))
292293
.Concat (OracleJdkLocations.GetOracleJdks (logger))
293294
.Concat (VSAndroidJdkLocations.GetVSAndroidJdks (logger))
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Diagnostics;
4+
using System.IO;
5+
using System.Linq;
6+
using System.Text;
7+
8+
namespace Xamarin.Android.Tools {
9+
10+
class AdoptOpenJdkLocations : JdkLocations {
11+
12+
internal static IEnumerable<JdkInfo> GetAdoptOpenJdks (Action<TraceLevel, string> logger)
13+
{
14+
return GetMacOSSystemJdks ("adoptopenjdk-*.jdk", logger)
15+
.Concat (GetWindowsFileSystemJdks (Path.Combine ("AdoptOpenJDK", "jdk-*"), logger))
16+
.Concat (GetWindowsRegistryJdks (logger, @"SOFTWARE\AdoptOpenJDK\JDK", "*", @"hotspot\MSI", "Path"))
17+
.OrderByDescending (jdk => jdk, JdkInfoVersionComparer.Default);
18+
}
19+
}
20+
}

0 commit comments

Comments
 (0)