This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-bcel.git
The following commit(s) were added to refs/heads/master by this push:
new 69a51004 Use default Eclipse Adoptium and Oracle locations if present
for test fixtures
69a51004 is described below
commit 69a51004e0a08a935cb0f8f647e00272bb1188c3
Author: Gary David Gregory (Code signing key) <[email protected]>
AuthorDate: Tue Nov 15 07:32:04 2022 -0500
Use default Eclipse Adoptium and Oracle locations if present for test
fixtures
---
.../java/org/apache/bcel/generic/JavaHome.java | 23 ++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/src/test/java/org/apache/bcel/generic/JavaHome.java
b/src/test/java/org/apache/bcel/generic/JavaHome.java
index c7558f4c..cdb24809 100644
--- a/src/test/java/org/apache/bcel/generic/JavaHome.java
+++ b/src/test/java/org/apache/bcel/generic/JavaHome.java
@@ -48,7 +48,17 @@ public class JavaHome {
private static final String EXTRA_JAVA_HOMES = "ExtraJavaHomes";
+ /** A folder containing Java homes, for example, on Windows "C:/Program
Files/Eclipse Adoptium/" */
private static final String EXTRA_JAVA_ROOT = "ExtraJavaRoot";
+
+ /** The default home for Java installs on Windows for Eclipse Adoptium. */
+ private static final String ADOPTIUM_WINDOWS = "C:/Program Files/Eclipse
Adoptium/";
+
+ /** The default home for Java installs on Windows for Eclipse Oracle. */
+ private static final String ORACLE_WINDOWS = "C:/Program Files/Java/";
+
+ private static final String EXTRA_JAVA_ROOT_DEFAULT = ADOPTIUM_WINDOWS +
File.pathSeparator + ORACLE_WINDOWS;
+
private static final String KEY_JDK = "SOFTWARE\\JavaSoft\\Java
Development Kit";
private static final String KEY_JDK_9 = "SOFTWARE\\JavaSoft\\JDK";
private static final String KEY_JRE = "SOFTWARE\\JavaSoft\\Java Runtime
Environment";
@@ -75,12 +85,13 @@ public class JavaHome {
return Stream.empty();
}
- private static Stream<String> streamFromCustomKey(final String key) {
- return streamPropertyAndEnvVarValues(key).flatMap(s ->
find(Paths.get(s), 1, (p, a) -> Files.isDirectory(p)).map(Path::toString));
+ private static Stream<String> streamFromCustomKey(final String key, final
String defaultValue) {
+ return streamPropertyAndEnvVarValues(key, defaultValue).flatMap(s ->
find(Paths.get(s), 1, (p, a) -> Files.isDirectory(p)).map(Path::toString));
}
private static Stream<String> streamFromCustomKeys() {
- return Stream.concat(streamPropertyAndEnvVarValues(EXTRA_JAVA_HOMES),
streamFromCustomKey(EXTRA_JAVA_ROOT));
+ final String defaultRoot = SystemUtils.IS_OS_WINDOWS ?
EXTRA_JAVA_ROOT_DEFAULT : null;
+ return Stream.concat(streamPropertyAndEnvVarValues(EXTRA_JAVA_HOMES,
null), streamFromCustomKey(EXTRA_JAVA_ROOT, defaultRoot));
}
/**
@@ -149,8 +160,8 @@ public class JavaHome {
return streamJavaHome().flatMap(JavaHome::streamModuleByExt);
}
- private static Stream<String> streamPropertyAndEnvVarValues(final String
key) {
- return Stream.concat(toPathStringStream(System.getProperty(key)),
toPathStringStream(System.getenv(key)));
+ private static Stream<String> streamPropertyAndEnvVarValues(final String
key, final String defaultValue) {
+ return Stream.concat(toPathStringStream(System.getProperty(key,
defaultValue)), toPathStringStream(System.getenv(key)));
}
private static Stream<String> streamWindowsJavaHomes(final String
keyJavaHome, final String[] keys) {
@@ -168,7 +179,7 @@ public class JavaHome {
private static Stream<String> streamWindowsStrings() {
return Stream.concat(Stream.of(KEY_JRE, KEY_JRE_9, KEY_JDK,
KEY_JDK_9).flatMap(JavaHome::streamAllWindowsJavaHomes),
- streamPropertyAndEnvVarValues(EXTRA_JAVA_HOMES)).distinct();
+ streamPropertyAndEnvVarValues(EXTRA_JAVA_HOMES,
null)).distinct();
}
private static Stream<String> toPathStringStream(final String path) {