common/extensions.st
author Claus Gittinger <cg@exept.de>
Tue, 03 Jul 2018 09:40:52 +0200
branchcvs_MAIN
changeset 839 c809b94a4cc6
parent 752 0683fac044d6
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
90
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:libscm/common' }"!
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
!ChangeSet methodsFor:'utilities'!
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
condenseChangesForPackageAfterCommit:aPackageSymbol
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
    "remove more changes for aPackageSymbol
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
     This is invoked when a project is checked into the repository."
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
    |changesToRemove|
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
    changesToRemove := self select:[:aChange |
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
        |removeThis mClass mthd|
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
        removeThis := false.
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
        (aChange isMethodChange or:[aChange isMethodRemoveChange]) ifTrue:[
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
            mClass := aChange changeClass.
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
            mClass notNil ifTrue:[
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
                mthd := mClass compiledMethodAt:(aChange selector).
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
                mthd isNil ifTrue:[
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
                    removeThis := (mClass package = aPackageSymbol)
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
                ] ifFalse:[
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
                    removeThis := (mthd package = aPackageSymbol)
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
                ]
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
            ].
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
        ] ifFalse:[
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
            (aChange isClassChange) ifTrue:[
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
                (aChange changeClass notNil) ifTrue:[
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
                    removeThis := (aChange changeClass package = aPackageSymbol)
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
                ].
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
            ].
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
        ].
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
        removeThis
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
    ].
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    self condenseChanges:changesToRemove
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
    "Created: / 21-11-2012 / 01:45:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
! !
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
!stx_libscm_common class methodsFor:'documentation'!
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
e2d19000e98c Added lost extension method
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
extensionsVersion_HG
114
8b27cb46af9a version_HG changed to return String.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
    43
8b27cb46af9a version_HG changed to return String.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 90
diff changeset
    44
    ^ '$Changeset: <not expanded> $'
307
6ceee83525eb Fixes for compilation under Windows against Smalltalk/X 6.2.2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    45
! !
752
0683fac044d6 Trigger generation of extensionsVersion_CVS method
mawalch
parents: 307
diff changeset
    46
0683fac044d6 Trigger generation of extensionsVersion_CVS method
mawalch
parents: 307
diff changeset
    47
!stx_libscm_common class methodsFor:'documentation'!
0683fac044d6 Trigger generation of extensionsVersion_CVS method
mawalch
parents: 307
diff changeset
    48
0683fac044d6 Trigger generation of extensionsVersion_CVS method
mawalch
parents: 307
diff changeset
    49
extensionsVersion_CVS
0683fac044d6 Trigger generation of extensionsVersion_CVS method
mawalch
parents: 307
diff changeset
    50
    ^ '$Header$'
0683fac044d6 Trigger generation of extensionsVersion_CVS method
mawalch
parents: 307
diff changeset
    51
! !