Cleanup in JavaRelease: javaHome/jreHome/jdkHome.
--- a/JavaRelease.st Mon Jan 21 15:15:23 2013 +0100
+++ b/JavaRelease.st Wed Jan 23 12:31:33 2013 +0000
@@ -279,8 +279,13 @@
].
^bundle
+ "
+ Java release codeBundle
+ "
+
"Created: / 12-01-2013 / 15:50:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 15-01-2013 / 16:44:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (comment): / 23-01-2013 / 12:25:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
javaExtDirs
@@ -316,8 +321,14 @@
!
javaHome
+ "Answer a Java home. This is either path to JRE (no JDK is found) or to
+ full JDK (if JDK is installed)
- "Answer a Java home"
+ If you want path to either JRE or JDK, use
+ #jreHome
+ #jdkHome
+
+ "
javaHome isNil ifTrue:[
javaHome := self searchForJavaHome.
@@ -330,6 +341,7 @@
"Created: / 27-10-2010 / 18:59:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 27-07-2012 / 00:24:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (comment): / 23-01-2013 / 12:19:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
javaHomeOrNil
@@ -374,6 +386,25 @@
^ self subclassResponsibility
!
+jdkHome
+
+ "Answers the directory where the JDK lives or nil, if no JDK is found"
+
+ | jdkHome |
+
+ self javaHome isNil ifTrue:[ ^ nil ].
+
+ ^((jdkHome := self javaHome) asFilename / 'jre') exists
+ ifTrue:[jdkHome]
+ ifFalse:[nil].
+
+ "
+ Java release searchForJavaHome; jdkHome
+ "
+
+ "Created: / 23-01-2013 / 12:20:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
jreHome
"Answers the directory where the JRE lives"
@@ -633,7 +664,7 @@
bundle := nil.
classPath := OrderedCollection new.
jreHome := self jreHome asFilename.
- jdkHome := self javaHome asFilename.
+ jdkHome := self jdkHome asFilename.
jreHome isNil ifTrue:[ ^ #() ].
"Ensure, that rt.jar is first"
classPath add: (jreHome / 'lib' / 'rt.jar') pathName.
@@ -642,7 +673,7 @@
self searchForClassPathIn: jreHome / 'lib' / 'modules'.
"Search for JDK tools (javac & co)"
- (jdkHome ~= javaHome and:[(jdkHome / 'lib') exists]) ifTrue:[
+ (jdkHome notNil and:[(jdkHome / 'lib') exists]) ifTrue:[
self searchForClassPathIn: jdkHome / 'lib'
].
^self classPath
@@ -654,7 +685,7 @@
"
"Created: / 27-10-2010 / 21:15:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 12-01-2013 / 15:55:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 23-01-2013 / 12:26:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
searchForClassPathIn: dir
@@ -678,15 +709,12 @@
h := (OperatingSystem getEnvironment:'JAVA_HOME').
h notNil ifTrue:[
- javaHome := h asFilename.
+ javaHome := h asFilename.
"/Do not trust JAVA_HOME, it might be wrong (on Windows machine due
"/to a registry mess
- javaHome exists ifTrue:[
- (javaHome / 'jre') exists ifTrue:[
- javaHome := javaHome / 'jre'.
- ].
- ^javaHome
- ]
+ ((javaHome / 'lib' / 'rt.jar') exists
+ or:[(javaHome / 'jre' / 'lib' / 'rt.jar') exists])
+ ifTrue:[ ^ javaHome ].
].
self javaHomes do:
@@ -705,11 +733,10 @@
"
"Created: / 27-10-2010 / 19:03:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 22-11-2010 / 13:18:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 15-03-2011 / 13:29:14 / Jan Kurs <kursjan@fit.cvut.cz>"
"Modified: / 15-03-2011 / 13:47:02 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
"Modified: / 19-07-2012 / 11:08:04 / jv"
- "Modified (comment): / 15-12-2012 / 01:04:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 23-01-2013 / 12:16:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
searchForSourcePath
@@ -977,14 +1004,20 @@
arch := OperatingSystem getSystemInfo at:#machine.
arch = 'x86_64' ifTrue:[arch := 'amd64'].
- ^ { '/usr/lib/jvm/java-6-openjdk/jre' .
- '/usr/lib/jvm/java-6-openjdk-',arch,'/jre' }
+ ^ {
+ '/usr/lib/jvm/java-6-openjdk' . "/ JDK - older linuxes
+ '/usr/lib/jvm/java-6-openjdk-',arch. "/ JDK - newer linuxes
+
+ '/usr/lib/jvm/java-6-openjdk/jre' . "/ JRE - older linuxes
+ '/usr/lib/jvm/java-6-openjdk-',arch, '/jre' "/ JRE - newer linuxes
+
+ }
"
JavaRelease::OpenJDK6 new javaHomesOnUNIX
"
- "Modified (comment): / 08-01-2013 / 12:22:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 23-01-2013 / 12:19:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
name
@@ -1025,18 +1058,14 @@
searchForSourcePath
- | java_homes src_zip |
+ | jdkHome src_zip |
super searchForSourcePath.
sourcePath := OrderedCollection new.
- java_homes := OrderedCollection new.
- self javaHome notNil ifTrue:[
- java_homes add: self javaHome
- ].
-
- java_homes do:[ :java_home |
- src_zip := java_home asFilename directory / 'src.zip'.
+ jdkHome := self jdkHome.
+ jdkHome notNil ifTrue:[
+ src_zip := jdkHome asFilename / 'src.zip'.
src_zip exists ifTrue:[sourcePath add: src_zip pathName].
].
@@ -1045,7 +1074,7 @@
"
"Created: / 03-09-2012 / 18:38:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 12-01-2013 / 15:56:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 23-01-2013 / 12:22:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!JavaRelease::OpenJDK7 class methodsFor:'documentation'!
@@ -1354,3 +1383,4 @@
version_SVN
^ '§Id:: §'
! !
+