#BUGFIX by cg cvs_MAIN
authorClaus Gittinger <cg@exept.de>
Wed, 17 Jul 2019 23:45:27 +0200
branchcvs_MAIN
changeset 3932 1b275ae3e793
parent 3931 d0189677a7c4
child 3933 d54072c759b4
#BUGFIX by cg class: JavaRelease::AppleJDK8 changed: #jdkHome
JavaRelease.st
--- a/JavaRelease.st	Wed Jul 17 23:06:37 2019 +0200
+++ b/JavaRelease.st	Wed Jul 17 23:45:27 2019 +0200
@@ -2713,33 +2713,40 @@
 
     "Answers the directory where the JDK lives or nil, if no JDK is found"
 
-    | dir vsn|
+    |dir vsn|
 
     jdkHome notNil ifTrue:[^ jdkHome].
 
     (dir := self javaHome) isNil ifTrue:[ ^ nil ].
-    dir := dir asFilename.
-    dir baseName = 'Contents' ifTrue:[
-        dir := dir directory.
-    ].
-    vsn := dir baseName.
-    (vsn startsWith:'1.8.0') ifTrue:[
-        vsn := '1.8.0'
-    ] ifFalse:[
-        vsn := vsn copyTo:5
+    (dir asFilename hasSuffix:'jdk') ifTrue:[
+        jdkHome := dir.
+        ^ jdkHome.
     ].
-    '/Library/Java/JavaVirtualMachines' asFilename directoryContentsAsFilenamesDo:[:f |
-        (f baseName startsWith:vsn) ifTrue:[
-            (f / 'Contents') exists ifTrue:[
-                (f / 'Contents' / 'Home') exists ifTrue:[
-                    (f / 'Contents' / 'Home' / 'src.jar') exists ifTrue:[
-                        jdkHome := f pathName.
-                        ^ jdkHome
-                    ].
-                ].
-            ].
-        ].
-    ].
+    
+"/    dir := dir asFilename.
+"/    [ #( 'jre' 'Home' 'Contents' ) contains:[:nm | dir baseName = nm]] whileTrue:[
+"/        dir := dir directory.
+"/    ].
+"/    vsn := dir baseName.
+"/    vsn :=  vsn withoutPrefix:'jdk'.
+"/    vsn :=  vsn withoutSuffix:'.jdk'.
+"/    (vsn startsWith:'1.8.0') ifTrue:[
+"/        vsn := '1.8.0'
+"/    ] ifFalse:[
+"/        vsn := vsn copyTo:5
+"/    ].
+"/    '/Library/Java/JavaVirtualMachines' asFilename directoryContentsAsFilenamesDo:[:f |
+"/        (f baseName startsWith:vsn) ifTrue:[
+"/            (f / 'Contents') exists ifTrue:[
+"/                (f / 'Contents' / 'Home') exists ifTrue:[
+"/                    (f / 'Contents' / 'Home' / 'src.jar') exists ifTrue:[
+"/                        jdkHome := f pathName.
+"/                        ^ jdkHome
+"/                    ].
+"/                ].
+"/            ].
+"/        ].
+"/    ].
     ^ super jdkHome
 
     "
@@ -2749,7 +2756,7 @@
     "
 
     "Created: / 23-01-2013 / 12:20:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 03-09-2018 / 16:11:52 / Claus Gittinger"
+    "Modified (format): / 17-07-2019 / 23:41:56 / Claus Gittinger"
 !
 
 jniLibDirInJreHome