extensions.st
author Stefan Vogel <sv@exept.de>
Fri, 31 Mar 2017 15:57:47 +0200
changeset 4232 f02d9d68eabc
parent 3966 799c9a320a5d
child 3970 6137854c2085
child 4300 561289c7eb79
permissions -rw-r--r--
#FEATURE by stefan class: CVSSourceCodeManager class changed: #checkinClass:fileName:directory:module:source:logMessage:force: #checkinClass:fileName:directory:module:source:logMessage:force:asBranch: prepare for branch support (unfinished yet)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
     1
"{ Package: 'stx:libbasic3' }"!
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
     2
3482
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
     3
!CompiledCode methodsFor:'debugging'!
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
     4
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
     5
setTracelog
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
     6
    "Arrange for a trace logging - enter/leave of the method will be logged using
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
     7
     curent Logger"
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
     8
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
     9
    MessageTracer tracelogMethod:self
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
    10
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
    11
    "Created: / 15-03-2013 / 11:10:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
    12
! !
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
    13
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
    14
!ConfigurableFeatures class methodsFor:'queries-features'!
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
    15
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
    16
hasProjectChecker
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
    17
    ^true
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
    18
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
    19
    "
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
    20
     ConfigurableFeatures includesFeature:#ProjectChecker
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
    21
    "
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
    22
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
    23
    "Created: / 03-04-2012 / 17:58:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
    24
! !
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
    25
3608
56b9a5667fda Initial support for simple method mocking (for tests, mainly)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3561
diff changeset
    26
!ExecutableFunction methodsFor:'queries'!
56b9a5667fda Initial support for simple method mocking (for tests, mainly)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3561
diff changeset
    27
56b9a5667fda Initial support for simple method mocking (for tests, mainly)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3561
diff changeset
    28
isMocked
56b9a5667fda Initial support for simple method mocking (for tests, mainly)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3561
diff changeset
    29
    "Return true, if the method has been mocked (by means of MessageTracer>>mockMethod:do:"
56b9a5667fda Initial support for simple method mocking (for tests, mainly)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3561
diff changeset
    30
56b9a5667fda Initial support for simple method mocking (for tests, mainly)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3561
diff changeset
    31
    ^ false
56b9a5667fda Initial support for simple method mocking (for tests, mainly)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3561
diff changeset
    32
56b9a5667fda Initial support for simple method mocking (for tests, mainly)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3561
diff changeset
    33
    "Created: / 29-07-2014 / 09:48:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
56b9a5667fda Initial support for simple method mocking (for tests, mainly)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3561
diff changeset
    34
! !
56b9a5667fda Initial support for simple method mocking (for tests, mainly)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3561
diff changeset
    35
3966
799c9a320a5d class: UserPreferences
Claus Gittinger <cg@exept.de>
parents: 3925
diff changeset
    36
!UserPreferences methodsFor:'accessing-prefs-changes & history'!
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    37
2393
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    38
historyManagerAllowEditOfHistory
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    39
    "useful if you have 'beginner students', to prevent them from changing the history"
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    40
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    41
    ^self 
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    42
        at: #'history-manager.allow-edit-of-history'
3925
Claus Gittinger <cg@exept.de>
parents: 3608
diff changeset
    43
        ifAbsent:false
2393
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    44
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    45
    "Modified (Format): / 30-06-2011 / 17:07:33 / cg"
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    46
    "Modified (Comment): / 30-06-2011 / 17:09:24 / cg"
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    47
! !
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    48
3966
799c9a320a5d class: UserPreferences
Claus Gittinger <cg@exept.de>
parents: 3925
diff changeset
    49
!UserPreferences methodsFor:'accessing-prefs-changes & history'!
2393
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    50
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    51
historyManagerModificationLimit
2393
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    52
    "the time-delta within which the history manager does not treat a change as a new one"
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    53
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    54
    ^self 
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    55
        at: #'history-manager.modification-limit'
3925
Claus Gittinger <cg@exept.de>
parents: 3608
diff changeset
    56
        ifAbsent: 3600 "/one hour"
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    57
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    58
    "Created: / 04-10-2008 / 11:55:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
2393
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    59
    "Modified (Comment): / 30-06-2011 / 17:25:09 / cg"
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    60
! !
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    61
3966
799c9a320a5d class: UserPreferences
Claus Gittinger <cg@exept.de>
parents: 3925
diff changeset
    62
!UserPreferences methodsFor:'accessing-prefs-changes & history'!
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    63
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    64
historyManagerModificationLimit: sec
2393
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    65
    "the time-delta within which the history manager does not treat a change as a new one"
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    66
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    67
    ^self 
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    68
        at: #'history-manager.modification-limit'
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    69
        put: sec
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    70
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    71
    "Created: / 04-10-2008 / 11:56:23 / Jan Vrany <vranyj1@fel.cvut.cz>"
2393
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    72
    "Modified (Comment): / 30-06-2011 / 17:25:13 / cg"
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    73
! !
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    74
3966
799c9a320a5d class: UserPreferences
Claus Gittinger <cg@exept.de>
parents: 3925
diff changeset
    75
!UserPreferences methodsFor:'accessing-prefs-changes & history'!
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    76
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    77
historyManagerSignature
2393
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    78
    "the signature added by the history manager"
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    79
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    80
    ^self historyManagerSignatures
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    81
        at: (Array with: OperatingSystem getHostName with: OperatingSystem getLoginName)
2472
032f30308ef1 changed: #historyManagerSignature
Claus Gittinger <cg@exept.de>
parents: 2460
diff changeset
    82
        ifAbsent: [OperatingSystem getLoginName]
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    83
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    84
    "Created: / 04-10-2008 / 12:06:58 / Jan Vrany <vranyj1@fel.cvut.cz>"
2434
62bd7a13939b HistoryManager fixes (takes user signature from preferences)
vrany
parents: 2393
diff changeset
    85
    "Modified: / 08-07-2011 / 10:24:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2472
032f30308ef1 changed: #historyManagerSignature
Claus Gittinger <cg@exept.de>
parents: 2460
diff changeset
    86
    "Modified: / 04-08-2011 / 17:24:21 / cg"
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    87
! !
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    88
3966
799c9a320a5d class: UserPreferences
Claus Gittinger <cg@exept.de>
parents: 3925
diff changeset
    89
!UserPreferences methodsFor:'accessing-prefs-changes & history'!
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    90
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    91
historyManagerSignature: aString
2393
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    92
    "the signature added by the history manager"
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    93
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    94
    ^self historyManagerSignatures
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    95
        at: (Array with: OperatingSystem getHostName with: OperatingSystem getLoginName)
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    96
        put: aString
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    97
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
    98
    "Created: / 04-10-2008 / 11:54:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
2393
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
    99
    "Modified (Comment): / 30-06-2011 / 17:25:31 / cg"
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   100
! !
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   101
3966
799c9a320a5d class: UserPreferences
Claus Gittinger <cg@exept.de>
parents: 3925
diff changeset
   102
!UserPreferences methodsFor:'accessing-prefs-changes & history'!
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   103
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   104
historyManagerSignatures
2393
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
   105
    "the signatures added by the history manager"
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   106
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   107
    ^self 
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   108
        at: #'history-manager.signatures'
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   109
        ifAbsentPut: [Dictionary new]
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   110
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   111
    "
2393
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
   112
     UserPreferences current historyManagerSignatures
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   113
    "
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   114
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   115
    "Created: / 04-10-2008 / 11:52:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   116
    "Modified: / 22-08-2009 / 11:00:12 / Jan Vrany <vranyj1@fel.cvut.cz>"
2393
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
   117
    "Modified (Comment): / 30-06-2011 / 17:27:14 / cg"
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   118
! !
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   119
3966
799c9a320a5d class: UserPreferences
Claus Gittinger <cg@exept.de>
parents: 3925
diff changeset
   120
!UserPreferences methodsFor:'accessing-prefs-changes & history'!
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   121
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   122
historyManagerSignatures: aDictionary
2393
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
   123
    "the signatures added by the history manager"
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   124
3925
Claus Gittinger <cg@exept.de>
parents: 3608
diff changeset
   125
    self 
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   126
        at: #'history-manager.signatures'
3925
Claus Gittinger <cg@exept.de>
parents: 3608
diff changeset
   127
        put: aDictionary
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   128
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   129
    "Created: / 04-10-2008 / 11:52:58 / Jan Vrany <vranyj1@fel.cvut.cz>"
2393
f1330a09ba45 history method added
Claus Gittinger <cg@exept.de>
parents: 2375
diff changeset
   130
    "Modified (Comment): / 30-06-2011 / 17:26:48 / cg"
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   131
! !
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   132
2727
312e04853879 comment/format
Claus Gittinger <cg@exept.de>
parents: 2558
diff changeset
   133
!UserPreferences methodsFor:'accessing-scm'!
2444
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   134
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   135
managerPerMatchingModuleDefinitions
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   136
2447
vrany
parents: 2444
diff changeset
   137
    | defs |
vrany
parents: 2444
diff changeset
   138
2450
vrany
parents: 2448
diff changeset
   139
    defs := (self at: #'managerPerMatchingModuleDefinitionsKey' ifAbsent:[#()]).
2448
vrany
parents: 2447
diff changeset
   140
    ^(defs collect:[:e|e decodeAsLiteralArray]) asOrderedCollection
2447
vrany
parents: 2444
diff changeset
   141
vrany
parents: 2444
diff changeset
   142
    "
vrany
parents: 2444
diff changeset
   143
        UserPreferences current managerPerMatchingModuleDefinitions
vrany
parents: 2444
diff changeset
   144
        UserPreferences current managerPerMatchingModuleDefinitions: #().
vrany
parents: 2444
diff changeset
   145
    "
2444
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   146
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   147
    "Created: / 09-07-2011 / 13:33:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   148
! !
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   149
2727
312e04853879 comment/format
Claus Gittinger <cg@exept.de>
parents: 2558
diff changeset
   150
!UserPreferences methodsFor:'accessing-scm'!
2444
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   151
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   152
managerPerMatchingModuleDefinitions: defs
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   153
2450
vrany
parents: 2448
diff changeset
   154
    self at: #'managerPerMatchingModuleDefinitionsKey' 
2448
vrany
parents: 2447
diff changeset
   155
        put: (defs collect:[:e| e literalArrayEncoding]) asArray.
2444
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   156
    AbstractSourceCodeManager managerPerMatchingModuleDefinitions == defs ifFalse:[
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   157
        AbstractSourceCodeManager managerPerMatchingModuleDefinitions: defs.
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   158
    ]
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   159
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   160
    "Created: / 09-07-2011 / 13:35:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   161
! !
e5686290211f per-package manager settings are now saved with preferences
vrany
parents: 2434
diff changeset
   162
2375
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   163
!stx_libbasic3 class methodsFor:'documentation'!
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   164
22f8328ae5bb Jan's changes
vrany
parents: 2374
diff changeset
   165
extensionsVersion_CVS
3925
Claus Gittinger <cg@exept.de>
parents: 3608
diff changeset
   166
    ^ '$Header$'
3482
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
   167
! !
18ff198c4dc5 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2729
diff changeset
   168