JavaRelease.st
author Stefan Vogel <sv@exept.de>
Tue, 08 Nov 2005 17:49:17 +0100
changeset 2121 7b06266d8249
parent 749 e898eaeff091
child 2152 1cbdfbcc685c
permissions -rw-r--r--
/tmp/cvsyRpZ5v
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
749
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     1
"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     2
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     3
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     4
                            SWING Research Group, Czech Technical University in Prague
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     5
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     6
 Parts of the code written by Claus Gittinger are under following
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     7
 license:
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     8
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
     9
 This software is furnished under a license and may be used
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    10
 only in accordance with the terms of that license and with the
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    11
 inclusion of the above copyright notice.   This software may not
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    12
 be provided or otherwise made available to, or used by, any
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    13
 other person.  No title to or ownership of the software is
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    14
 hereby transferred.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    15
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    16
 Parts of the code written at SWING Reasearch Group [1] are MIT licensed:
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    17
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    18
 Permission is hereby granted, free of charge, to any person
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    19
 obtaining a copy of this software and associated documentation
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    20
 files (the 'Software'), to deal in the Software without
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    21
 restriction, including without limitation the rights to use,
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    22
 copy, modify, merge, publish, distribute, sublicense, and/or sell
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    23
 copies of the Software, and to permit persons to whom the
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    24
 Software is furnished to do so, subject to the following
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    25
 conditions:
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    26
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    27
 The above copyright notice and this permission notice shall be
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    28
 included in all copies or substantial portions of the Software.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    29
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    30
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    31
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    32
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    33
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    34
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    35
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    36
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    37
 OTHER DEALINGS IN THE SOFTWARE.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    38
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    39
 [1] Code written at SWING Research Group contain a signature
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    40
     of one of the above copright owners.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    41
"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    42
"{ Package: 'stx:libjava' }"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    43
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    44
Object subclass:#JavaRelease
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    45
	instanceVariableNames:'javaHome classPath sourcePath'
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    46
	classVariableNames:''
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    47
	poolDictionaries:''
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    48
	category:'Languages-Java-Support'
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    49
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    50
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    51
JavaRelease subclass:#OpenJDK6
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    52
	instanceVariableNames:''
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    53
	classVariableNames:''
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    54
	poolDictionaries:''
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    55
	privateIn:JavaRelease
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    56
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    57
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    58
JavaRelease subclass:#SunJDK122
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    59
	instanceVariableNames:''
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    60
	classVariableNames:''
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    61
	poolDictionaries:''
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    62
	privateIn:JavaRelease
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    63
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    64
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    65
JavaRelease subclass:#SunJDK6
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    66
	instanceVariableNames:''
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    67
	classVariableNames:''
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    68
	poolDictionaries:''
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    69
	privateIn:JavaRelease
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    70
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    71
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    72
!JavaRelease class methodsFor:'documentation'!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    73
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    74
copyright
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    75
"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    76
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    77
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    78
                            SWING Research Group, Czech Technical University in Prague
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    79
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    80
 Parts of the code written by Claus Gittinger are under following
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    81
 license:
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    82
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    83
 This software is furnished under a license and may be used
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    84
 only in accordance with the terms of that license and with the
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    85
 inclusion of the above copyright notice.   This software may not
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    86
 be provided or otherwise made available to, or used by, any
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    87
 other person.  No title to or ownership of the software is
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    88
 hereby transferred.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    89
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    90
 Parts of the code written at SWING Reasearch Group [1] are MIT licensed:
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    91
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    92
 Permission is hereby granted, free of charge, to any person
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    93
 obtaining a copy of this software and associated documentation
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    94
 files (the 'Software'), to deal in the Software without
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    95
 restriction, including without limitation the rights to use,
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    96
 copy, modify, merge, publish, distribute, sublicense, and/or sell
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    97
 copies of the Software, and to permit persons to whom the
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    98
 Software is furnished to do so, subject to the following
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
    99
 conditions:
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   100
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   101
 The above copyright notice and this permission notice shall be
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   102
 included in all copies or substantial portions of the Software.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   103
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   104
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   105
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   106
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   107
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   108
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   109
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   110
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   111
 OTHER DEALINGS IN THE SOFTWARE.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   112
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   113
 [1] Code written at SWING Research Group contain a signature
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   114
     of one of the above copright owners.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   115
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   116
"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   117
! !
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   118
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   119
!JavaRelease class methodsFor:'instance creation'!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   120
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   121
any
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   122
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   123
    | releases |
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   124
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   125
    releases := self allSubclasses reject: [:rel|rel isAbstract] thenCollect:[:rel|rel new].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   126
    releases := releases asSortedCollection:[:a :b|a priority > b priority].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   127
    releases := releases select:[:rel|rel isAvailable].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   128
    ^releases isEmpty
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   129
        ifTrue:[self error: 'No Java release found']
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   130
        ifFalse:[releases first]
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   131
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   132
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   133
        JavaRelease any
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   134
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   135
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   136
    "Created: / 22-11-2010 / 13:11:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   137
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   138
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   139
openJDK6
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   140
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   141
    ^OpenJDK6 new
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   142
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   143
    "Created: / 27-10-2010 / 21:41:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   144
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   145
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   146
sunJDK122
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   147
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   148
    ^SunJDK122 new
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   149
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   150
    "Created: / 27-10-2010 / 21:41:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   151
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   152
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   153
sunJDK6
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   154
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   155
    ^SunJDK6 new
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   156
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   157
    "Created: / 22-11-2010 / 13:33:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   158
! !
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   159
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   160
!JavaRelease class methodsFor:'queries'!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   161
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   162
isAbstract
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   163
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   164
    ^self class == JavaRelease
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   165
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   166
    "Created: / 22-11-2010 / 13:33:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   167
! !
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   168
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   169
!JavaRelease methodsFor:'accessing'!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   170
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   171
classPath
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   172
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   173
    "Returns a default class path"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   174
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   175
    classPath ifNil:[self searchForClassPath].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   176
    ^classPath
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   177
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   178
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   179
        JavaRelease openJDK6 classPath
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   180
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   181
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   182
    "Created: / 27-10-2010 / 19:20:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   183
    "Modified: / 27-10-2010 / 21:48:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   184
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   185
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   186
javaHome
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   187
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   188
    "Answer a Java home"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   189
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   190
    javaHome ifNil:
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   191
        [javaHome := self searchForJavaHome.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   192
        javaHome ifNil:[self error:'No java home found!!']].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   193
    ^javaHome
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   194
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   195
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   196
        JavaRelease openJDK6 javaHome
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   197
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   198
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   199
    "Created: / 27-10-2010 / 18:59:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   200
    "Modified: / 30-11-2010 / 11:37:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   201
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   202
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   203
javaHomeOrNil
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   204
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   205
    "Answer a Java home"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   206
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   207
    | home |
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   208
    home := (javaHome 
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   209
                ifNotNil:[javaHome]
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   210
                ifNil:[self searchForJavaHome]).
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   211
    ^home
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   212
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   213
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   214
        JavaRelease openJDK6 javaHome
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   215
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   216
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   217
    "Created: / 22-11-2010 / 13:17:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   218
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   219
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   220
javaHomes
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   221
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   222
    "Answer a set of possible java homes, those directories are searched"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   223
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   224
    
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   225
    OperatingSystem isUNIXlike ifTrue:[ ^ self javaHomesOnUNIX ].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   226
    OperatingSystem isMSWINDOWSlike ifTrue:[ ^ self javaHomesOnWindows ].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   227
    self error:'Unsupported platform'.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   228
    ^ #()
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   229
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   230
    "Modified: / 22-11-2010 / 13:28:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   231
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   232
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   233
javaHomesOnUNIX
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   234
    "raise an error: must be redefined in concrete subclass(es)"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   235
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   236
    ^ self subclassResponsibility
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   237
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   238
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   239
javaHomesOnWindows
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   240
    "raise an error: must be redefined in concrete subclass(es)"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   241
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   242
    ^ self subclassResponsibility
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   243
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   244
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   245
jreHome
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   246
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   247
    "Answers the directory where the JRE lives"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   248
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   249
    | jreHome |
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   250
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   251
    ^(jreHome := self javaHome asFilename / 'jre') exists
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   252
        ifTrue:[jreHome]
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   253
        ifFalse:[javaHome asFilename].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   254
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   255
    "Created: / 27-10-2010 / 21:24:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   256
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   257
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   258
name
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   259
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   260
    "Answer a human readable name of the Java release such as Sun JDK 1.2.2 or OpenJDK 6"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   261
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   262
    ^self subclassResponsibility
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   263
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   264
    "Created: / 27-10-2010 / 18:53:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   265
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   266
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   267
priority
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   268
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   269
    ^50
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   270
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   271
    "Created: / 22-11-2010 / 13:34:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   272
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   273
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   274
sourcePath
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   275
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   276
    "Returns a paths where sources are located"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   277
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   278
    sourcePath ifNil:[self searchForSourcePath].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   279
    ^sourcePath
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   280
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   281
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   282
        JavaRelease openJDK6 sourcePath        
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   283
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   284
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   285
    "Created: / 27-10-2010 / 19:20:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   286
    "Modified: / 30-11-2010 / 11:55:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   287
! !
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   288
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   289
!JavaRelease methodsFor:'queries'!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   290
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   291
isAvailable
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   292
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   293
    ^self javaHomeOrNil notNil
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   294
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   295
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   296
        JavaRelease openJDK6 isAvailable 
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   297
        JavaRelease sunJDK6 isAvailable  
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   298
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   299
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   300
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   301
    "Created: / 22-11-2010 / 13:15:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   302
! !
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   303
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   304
!JavaRelease methodsFor:'searching'!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   305
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   306
searchForClassPath
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   307
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   308
    | jreHome   |
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   309
    classPath := OrderedCollection new.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   310
    jreHome := self jreHome.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   311
    "Ensure, that rt.jar is first"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   312
    classPath add: (jreHome / 'lib' / 'rt.jar') asString.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   313
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   314
    self searchForClassPathIn: jreHome / 'lib' .
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   315
    self searchForClassPathIn: jreHome / 'lib' / 'ext'.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   316
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   317
    "Created: / 27-10-2010 / 21:15:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   318
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   319
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   320
searchForClassPathIn: dir
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   321
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   322
    dir exists ifFalse:[^self].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   323
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   324
    dir directoryContentsAsFilenames do:
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   325
        [:file|
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   326
        (file suffix = 'jar' and:[file baseName ~= 'rt.jar'])
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   327
            ifTrue:[classPath add: file asString]]
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   328
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   329
    "Created: / 27-10-2010 / 21:38:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   330
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   331
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   332
searchForJavaHome
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   333
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   334
    | h |
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   335
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   336
    h := (OperatingSystem getEnvironment:'JAVA_HOME').
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   337
    h notNil ifTrue:[
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   338
        javaHome := h  asFilename.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   339
        (javaHome / 'jre') exists ifTrue:[
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   340
            javaHome := javaHome / 'jre'.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   341
        ].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   342
        ^javaHome
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   343
    ].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   344
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   345
    self javaHomes do:
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   346
        [:home| | homeAsFilename |
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   347
        homeAsFilename := home asFilename.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   348
        homeAsFilename exists ifTrue:
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   349
            [(self validateJavaHome: homeAsFilename) ifTrue:
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   350
                [^javaHome := home]]].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   351
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   352
    ^nil
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   353
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   354
    "Created: / 27-10-2010 / 19:03:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   355
    "Modified: / 22-11-2010 / 13:18:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   356
    "Modified: / 15-03-2011 / 13:29:14 / Jan Kurs <kursjan@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   357
    "Modified: / 15-03-2011 / 13:47:02 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   358
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   359
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   360
searchForSourcePath
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   361
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   362
    | src_zip |
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   363
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   364
    sourcePath := OrderedCollection new.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   365
    src_zip := self javaHome asFilename directory / 'src.zip'.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   366
    src_zip exists ifTrue:[sourcePath add: src_zip asString].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   367
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   368
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   369
        JavaRelease openJDK6 searchForSourcePath; sourcePath      
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   370
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   371
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   372
    "Created: / 27-10-2010 / 21:15:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   373
    "Modified: / 07-08-2011 / 22:40:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   374
! !
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   375
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   376
!JavaRelease methodsFor:'validating'!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   377
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   378
validateJavaHome: home
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   379
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   380
    "Just JRE"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   381
    ( home  asFilename / 'lib' / 'rt.jar' ) exists ifTrue:[^true].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   382
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   383
    "Full JDK"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   384
    ( home asFilename / 'jre' / 'lib' / 'rt.jar' ) exists ifTrue:[^true].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   385
    
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   386
    ^ false
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   387
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   388
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   389
        JavaRelease basicNew validateJavaHome: '/usr/lib/jvm/java-6-openjdk'  
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   390
        JavaRelease basicNew validateJavaHome: '/tmp'               
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   391
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   392
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   393
    "Created: / 27-10-2010 / 19:14:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   394
    "Modified: / 27-10-2010 / 21:47:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   395
! !
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   396
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   397
!JavaRelease::OpenJDK6 methodsFor:'accessing'!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   398
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   399
javaHomesOnUNIX
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   400
    ^ #( '/usr/lib/jvm/java-6-openjdk/jre' )
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   401
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   402
    "Modified: / 07-08-2011 / 20:38:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   403
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   404
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   405
javaHomesOnWindows
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   406
    |vsn home heuristics|
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   407
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   408
    self breakPoint:#jv.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   409
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   410
    heuristics :=
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   411
       #( 
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   412
         'C:\Program Files (x86)\Java\jdk1.6.0_24\jre' 
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   413
         'C:\Program Files\Java\jdk1.6.0_24\jre'
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   414
        ).
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   415
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   416
    vsn := (OperatingSystem registryEntry
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   417
        key:'HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit')
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   418
            valueNamed:'CurrentVersion'.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   419
    vsn notNil ifTrue:[
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   420
        home := (OperatingSystem registryEntry
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   421
            key:'HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\',vsn)
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   422
                valueNamed:'JavaHome'.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   423
        home notNil ifTrue:[
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   424
            ^ (Array with:(home,'\jre'))
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   425
            , heuristics
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   426
        ].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   427
    ].
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   428
    ^ heuristics
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   429
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   430
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   431
     self basicNew javaHomesOnWindows
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   432
    "
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   433
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   434
    "Modified: / 07-08-2011 / 20:38:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   435
    "Modified (format): / 19-08-2011 / 00:46:40 / cg"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   436
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   437
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   438
name
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   439
    "superclass JavaRelease says that I am responsible to implement this method"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   440
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   441
    ^ 'Open JDK 6'
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   442
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   443
    "Modified: / 27-10-2010 / 19:16:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   444
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   445
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   446
priority
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   447
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   448
    ^80
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   449
    "/^70
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   450
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   451
    "Created: / 22-11-2010 / 13:35:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   452
    "Modified: / 04-02-2011 / 06:59:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   453
! !
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   454
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   455
!JavaRelease::SunJDK122 methodsFor:'accessing'!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   456
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   457
javaHomesOnUNIX
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   458
    "superclass JavaRelease says that I am responsible to implement this method"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   459
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   460
    ^#(
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   461
            '/home/jv/Projects/JavaX/jdk1.2.2' "/On Jan Vrany's machine :-)
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   462
        )
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   463
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   464
    "Created: / 22-11-2010 / 13:26:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   465
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   466
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   467
javaHomesOnWindows
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   468
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   469
	^ #()
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   470
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   471
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   472
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   473
name
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   474
    "superclass JavaRelease says that I am responsible to implement this method"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   475
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   476
    ^ 'Sun JDK 1.2.2'
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   477
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   478
    "Modified: / 27-10-2010 / 21:42:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   479
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   480
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   481
priority
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   482
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   483
    ^10
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   484
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   485
    "Created: / 22-11-2010 / 13:34:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   486
! !
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   487
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   488
!JavaRelease::SunJDK6 methodsFor:'accessing'!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   489
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   490
javaHomesOnUNIX
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   491
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   492
    ^ #( '/usr/lib/jvm/java-6-sun' )
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   493
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   494
    "Created: / 22-11-2010 / 13:31:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   495
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   496
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   497
javaHomesOnWindows
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   498
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   499
    self breakPoint:#jv.
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   500
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   501
    ^ #( 'C:\Program Files (x86)\Java\jdk1.6.0_24' 
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   502
	     'C:\Program Files\Java\jdk1.6.0_24'
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   503
	)
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   504
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   505
    "Created: / 22-11-2010 / 13:30:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   506
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   507
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   508
name
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   509
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   510
    ^ 'Sun JDK 6'
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   511
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   512
    "Created: / 22-11-2010 / 13:31:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   513
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   514
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   515
priority
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   516
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   517
    ^75
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   518
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   519
    "Created: / 22-11-2010 / 13:35:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   520
! !
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   521
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   522
!JavaRelease class methodsFor:'documentation'!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   523
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   524
version_CVS
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   525
    ^ '§Header: /cvs/stx/stx/libjava/JavaRelease.st,v 1.2 2011/08/18 22:47:38 cg Exp §'
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   526
!
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   527
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   528
version_SVN
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   529
    ^ '$Id$'
e898eaeff091 Synchronized with CVS repository at:
vranyj1
parents:
diff changeset
   530
! !