ConfigurableFeatures.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sat, 05 May 2012 22:58:24 +0100
branchjv
changeset 17940 985e22966acb
parent 17928 8e8dad2e6269
child 17955 f5ee690b1a27
permissions -rw-r--r--
Merged with /trunk
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17865
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
     1
"
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
     2
 COPYRIGHT (c) 2006 by eXept Software AG
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
     3
	      All Rights Reserved
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
     4
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
     5
 This software is furnished under a license and may be used
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
     6
 only in accordance with the terms of that license and with the
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
     8
 be provided or otherwise made available to, or used by, any
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
     9
 other person.  No title to or ownership of the software is
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    10
 hereby transferred.
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    11
"
17859
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
"{ Package: 'stx:libbasic' }"
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
Object subclass:#ConfigurableFeatures
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
	instanceVariableNames:''
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
	classVariableNames:'LoadedFeatures'
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	poolDictionaries:''
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
	category:'System-Support'
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
!
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
!ConfigurableFeatures class methodsFor:'documentation'!
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
17865
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    23
copyright
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    24
"
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    25
 COPYRIGHT (c) 2006 by eXept Software AG
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    26
	      All Rights Reserved
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    27
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    28
 This software is furnished under a license and may be used
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    29
 only in accordance with the terms of that license and with the
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    31
 be provided or otherwise made available to, or used by, any
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    32
 other person.  No title to or ownership of the software is
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    33
 hereby transferred.
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    34
"
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    35
!
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
    36
17859
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
documentation
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
"
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
    being tired of finding '(Smalltalk at:someClass) notNil' all over the place,
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
    start to concentrate feature queries to this single class, which might get more
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
    feature methods via extensions.
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
    Thus, to correctly ask for a feature being present, use:
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
        ConfigurableFeature includesFeature:featureName
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
    or
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
        ConfigurableFeature knownFeatures
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
    to ask for a list of features.
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    Caveat: just started; more will be moved to this place as time goes by
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
"
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
! !
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
!ConfigurableFeatures class methodsFor:'queries'!
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
allFeatures
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
    "a list of features which are present in that smalltalk configuration"
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
    ^ self knownFeatures select:[:each | self includesFeature:each]
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
    "
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
     ConfigurableFeatures allFeatures 
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
    "
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
    "Created: / 07-09-2011 / 10:50:31 / cg"
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
!
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
includesFeature:featureName
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    |querySelector|
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    querySelector := ('has',featureName asUppercaseFirst) asSymbol.
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
    ^ self perform:querySelector ifNotUnderstood:false.
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    "
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
     ConfigurableFeatures includesFeature:#SubversionSupport
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
    "
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
    "Created: / 07-09-2011 / 10:49:08 / cg"
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
!
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
knownFeatures
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
    "a list of known features; some of them might not be present in that smalltalk configuration"
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
    ^ self class methodDictionary keys
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
        collect:[:each | 
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
            (each startsWith:'has') ifTrue:[
17912
80eb31a5a622 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17911
diff changeset
    85
                (each endsWith:':') ifFalse:[
80eb31a5a622 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17911
diff changeset
    86
                    each copyFrom:4
80eb31a5a622 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17911
diff changeset
    87
                ]
17859
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
            ] ifFalse:[
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
                nil
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
            ].
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
        ]
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
        thenSelect:[:nm | nm notNil]
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
    "
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
     ConfigurableFeatures allFeatures
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
    "
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
    "Created: / 07-09-2011 / 10:51:26 / cg"
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
! !
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
!ConfigurableFeatures class methodsFor:'queries-features'!
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
17909
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   103
hasCVSSupport
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   104
    "/ use Smalltalk-at to trick the dependency/prerequisite generator
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   105
    ^ (Smalltalk at: #'CVSSourceCodeManager' ifAbsent:nil) notNil
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   106
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   107
    "
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   108
     ConfigurableFeatures hasCVSSupport
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   109
    "
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   110
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   111
    "Created: / 03-01-2012 / 15:36:54 / cg"
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   112
!
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   113
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   114
hasCVSSupportEnabled
17910
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   115
    ^ self hasSCMSupportEnabledFor:#'CVSSourceCodeManager'
17909
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   116
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   117
    "Created: / 03-01-2012 / 15:42:16 / cg"
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   118
!
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   119
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   120
hasDataBaseSourceCodeManagerSupport
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   121
    "/ use Smalltalk-at to trick the dependency/prerequisite generator
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   122
    ^ (Smalltalk at: #'DataBaseSourceCodeManager' ifAbsent:nil) notNil
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   123
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   124
    "
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   125
     ConfigurableFeatures hasDataBaseSourceCodeManagerSupport
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   126
    "
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   127
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   128
    "Created: / 03-01-2012 / 15:36:03 / cg"
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   129
!
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   130
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   131
hasDataBaseSourceCodeManagerSupportEnabled
17910
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   132
    ^ self hasSCMSupportEnabledFor:#'DataBaseSourceCodeManager'
17909
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   133
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   134
    "Created: / 03-01-2012 / 15:36:12 / cg"
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   135
!
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   136
17940
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   137
hasExternalLookupSupport
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   138
    "Return true, if the VM is compiled with external lookup MOP"
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   139
%{
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   140
#ifdef SUPPORT_EXTERNAL_LOOKUP
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   141
    RETURN ( true );
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   142
#endif
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   143
%}.
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   144
    ^false
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   145
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   146
    "
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   147
        ConfigurableFeatures hasExternalLookupSupport
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   148
        ConfigurableFeatures includesFeature:#ExternalLookupSupport
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   149
    "
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   150
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   151
    "Created: / 16-04-2012 / 20:00:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   152
!
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   153
17909
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   154
hasFileBasedSourceCodeManagerSupport
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   155
    "/ use Smalltalk-at to trick the dependency/prerequisite generator
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   156
    ^ (Smalltalk at: #'FileBasedSourceCodeManager' ifAbsent:nil) notNil
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   157
17907
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   158
    "
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   159
     ConfigurableFeatures hasFileBasedSourceCodeManagerSupport
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   160
    "
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   161
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   162
    "Created: / 21-12-2011 / 17:07:21 / cg"
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   163
!
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   164
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   165
hasFileBasedSourceCodeManagerSupportEnabled
17910
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   166
    ^ self hasSCMSupportEnabledFor:#'FileBasedSourceCodeManager'
17907
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   167
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   168
    "Created: / 21-12-2011 / 17:07:08 / cg"
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   169
!
998195c96a6d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   170
17910
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   171
hasMercurialSupport
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   172
    "/ use Smalltalk-at to trick the dependency/prerequisite generator
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   173
    ^ (Smalltalk at: #'MercurialSourceCodeManager' ifAbsent:nil) notNil
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   174
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   175
    "
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   176
     ConfigurableFeatures hasMercurialSupport
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   177
    "
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   178
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   179
    "Created: / 18-01-2012 / 10:58:07 / cg"
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   180
!
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   181
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   182
hasMercurialSupportEnabled
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   183
    ^ self hasSCMSupportEnabledFor:#'MercurialSourceCodeManager'
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   184
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   185
    "
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   186
     self hasMercurialSupportEnabled
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   187
    "
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   188
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   189
    "Created: / 18-01-2012 / 10:58:12 / cg"
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   190
!
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   191
17909
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   192
hasMonticelloSupport
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   193
    "/ use Smalltalk-at to trick the dependency/prerequisite generator
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   194
    ^ (Smalltalk at: #'MonticelloSourceCodeManager' ifAbsent:nil) notNil
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   195
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   196
    "
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   197
     ConfigurableFeatures hasMonticelloSupport
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   198
    "
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   199
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   200
    "Created: / 03-01-2012 / 15:44:32 / cg"
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   201
!
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   202
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   203
hasMonticelloSupportEnabled
17910
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   204
    ^ self hasSCMSupportEnabledFor:#'MonticelloSourceCodeManager'
17909
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   205
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   206
    "Created: / 03-01-2012 / 15:44:39 / cg"
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   207
!
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   208
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   209
hasPerforceSupport
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   210
    "/ use Smalltalk-at to trick the dependency/prerequisite generator
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   211
    ^ (Smalltalk at: #'PerforceSourceCodeManager' ifAbsent:nil) notNil
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   212
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   213
    "
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   214
     ConfigurableFeatures hasPerforceSupport
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   215
    "
17859
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
17909
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   217
    "Created: / 03-01-2012 / 15:43:42 / cg"
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   218
!
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   219
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   220
hasPerforceSupportEnabled
17910
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   221
    ^ self hasSCMSupportEnabledFor:#'PerforceSourceCodeManager'
17909
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   222
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   223
    "Created: / 03-01-2012 / 15:43:28 / cg"
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   224
!
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   225
17910
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   226
hasSCMSupportEnabledFor:aSourceCodeManagerClassName
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   227
    |scm|
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   228
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   229
    "/ use Smalltalk-at to trick the dependency/prerequisite generator
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   230
    scm := Smalltalk at:aSourceCodeManagerClassName ifAbsent:nil.
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   231
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   232
    ^ scm notNil
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   233
        and:[ scm isLoaded 
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   234
        and:[ scm shownInBrowserMenus ]]
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   235
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   236
    "Created: / 18-01-2012 / 10:55:58 / cg"
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   237
!
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   238
17909
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   239
hasSubversionSupport
0ab1deab8e9c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17907
diff changeset
   240
    "/ use Smalltalk-at to trick the dependency/prerequisite generator
17916
0c0298e5be99 SVN::SVNSourceCodeManager -> SVNSourceCodeManager
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17912
diff changeset
   241
    ^ (Smalltalk at: #'SVNSourceCodeManager' ifAbsent:nil) notNil
17859
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
    "
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
     ConfigurableFeatures hasSubversionSupport
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
    "
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
    "Created: / 07-09-2011 / 10:40:40 / cg"
17928
8e8dad2e6269 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17916
diff changeset
   248
    "Modified: / 13-03-2012 / 17:19:13 / Jan Vrany <jan.vrany.fit.cvut.cz>"
17859
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
!
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
hasSubversionSupportEnabled
17910
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17909
diff changeset
   252
    ^ self hasSCMSupportEnabledFor:#'SVNSourceCodeManager'
17859
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
    "Created: / 07-09-2011 / 10:41:33 / cg"
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
! !
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
!ConfigurableFeatures class methodsFor:'documentation'!
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
version
17940
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   260
    ^ '$Header: /cvs/stx/stx/libbasic/ConfigurableFeatures.st,v 1.8 2012/04/16 18:03:49 vrany Exp $'
17859
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
!
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
cc167a69671c Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
version_CVS
17940
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   264
    ^ '§Header: /cvs/stx/stx/libbasic/ConfigurableFeatures.st,v 1.8 2012/04/16 18:03:49 vrany Exp §'
17865
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
   265
!
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
   266
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
   267
version_SVN
17940
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17928
diff changeset
   268
    ^ '$Id: ConfigurableFeatures.st 10807 2012-05-05 21:58:24Z vranyj1 $'
17865
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17859
diff changeset
   269
! !