SVN__Task.st
author fm
Thu, 08 Oct 2009 14:04:29 +0200
changeset 357 18ba210dfbf8
parent 134 379185993ee9
child 480 d8216760f2c0
permissions -rw-r--r--
update #version_SVN with § as keyword expansion character
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
25
7a99fc6767ef initial checkin
fm
parents:
diff changeset
     1
"{ Package: 'cvut:stx/goodies/libsvn' }"
7a99fc6767ef initial checkin
fm
parents:
diff changeset
     2
7a99fc6767ef initial checkin
fm
parents:
diff changeset
     3
"{ NameSpace: SVN }"
7a99fc6767ef initial checkin
fm
parents:
diff changeset
     4
7a99fc6767ef initial checkin
fm
parents:
diff changeset
     5
Object subclass:#Task
7a99fc6767ef initial checkin
fm
parents:
diff changeset
     6
	instanceVariableNames:'package classes workingCopy'
7a99fc6767ef initial checkin
fm
parents:
diff changeset
     7
	classVariableNames:''
7a99fc6767ef initial checkin
fm
parents:
diff changeset
     8
	poolDictionaries:''
7a99fc6767ef initial checkin
fm
parents:
diff changeset
     9
	category:'SVN-Tasks'
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    10
!
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    11
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    12
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    13
!Task methodsFor:'accessing'!
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    14
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    15
branch
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    16
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    17
    ^self workingCopy branch
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    18
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    19
    "Created: / 23-03-2009 / 17:16:14 / Jan Vrany <vranyj1@fel.cvut.cz>"
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    20
!
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    21
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    22
classes
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    23
    ^ classes
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    24
!
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    25
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    26
classes:aCollection"<Collection[Class]>"
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    27
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    28
    self 
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    29
        assert: (aCollection allSatisfy: [:e|e isBehavior])
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    30
        message: 'All elements should be classes'.
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    31
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    32
    self
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    33
        assert: (aCollection allSatisfy: [:e|e package = package])
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    34
        message: 'All classes should belongs to my package (' , package , ')'.
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    35
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    36
    classes := aCollection.
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    37
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    38
    "Modified: / 16-06-2009 / 20:56:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    39
!
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    40
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    41
package
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    42
    ^ package
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    43
!
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    44
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    45
package:aSymbol
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    46
    package := aSymbol.
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    47
!
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    48
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    49
repository
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    50
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    51
    ^self workingCopy repository
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    52
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    53
    "Created: / 23-03-2009 / 11:24:36 / Jan Vrany <vranyj1@fel.cvut.cz>"
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    54
!
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    55
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    56
workingCopy
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    57
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    58
    workingCopy ifNil:
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    59
        [workingCopy := 
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    60
            (SVN::RepositoryManager repositoryForPackage: self package)
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    61
                workingCopy].
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    62
    ^workingCopy
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    63
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    64
    "Created: / 23-03-2009 / 11:18:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    65
!
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    66
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    67
workingCopy:aWorkingCopy
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    68
    workingCopy := aWorkingCopy.
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    69
    package := aWorkingCopy package
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    70
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    71
    "Modified: / 23-03-2009 / 11:44:49 / Jan Vrany <vranyj1@fel.cvut.cz>"
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    72
! !
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    73
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    74
!Task methodsFor:'executing'!
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    75
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    76
do
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    77
    "
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    78
        Perform whole task
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    79
    "            
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    80
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    81
    ^ self subclassResponsibility
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    82
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    83
    "Modified: / 23-03-2009 / 11:16:11 / Jan Vrany <vranyj1@fel.cvut.cz>"
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    84
! !
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    85
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    86
!Task methodsFor:'executing - private'!
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    87
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    88
do: aBlock
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    89
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    90
    ^SVN::CompatModeQuery
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    91
        answer: false
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    92
        do: aBlock
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    93
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    94
    "Created: / 15-07-2009 / 20:07:14 / Jan Vrany <vranyj1@fel.cvut.cz>"
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    95
!
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    96
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    97
doCompileSvnRevisionNrMethod: compileRevision
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    98
    | pkgDef revNr |
7a99fc6767ef initial checkin
fm
parents:
diff changeset
    99
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   100
    SVN::ActivityNotification notify:'Compiling #svnRevisionNr method'.
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   101
    pkgDef := self workingCopy packageDefinition.
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   102
    revNr := compileRevision
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   103
                ifTrue:[pkgDef svnRevision number]
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   104
                ifFalse:[nil].
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   105
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   106
    (revNr notNil or:[(pkgDef theMetaclass includesSelector:#svnRevisionNr) not]) ifTrue:
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   107
        [pkgDef theMetaclass
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   108
            compile: (pkgDef svnRevisionNr_code: revNr)
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   109
            classified:'description - svn'.
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   110
        (pkgDef theMetaclass compiledMethodAt:#svnRevisionNr) 
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   111
            setPackage:self package asSymbol].
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   112
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   113
    "Created: / 16-06-2009 / 12:16:25 / Jan Vrany <vranyj1@fel.cvut.cz>"
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   114
! !
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   115
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   116
!Task methodsFor:'notification'!
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   117
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   118
notify: aString
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   119
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   120
    self notify: aString progress: nil
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   121
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   122
    "Created: / 29-05-2009 / 16:51:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   123
!
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   124
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   125
notify: aString progress: aNumberOrNil
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   126
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   127
    aNumberOrNil 
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   128
        ifNil:[ActivityNotification notify: aString]
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   129
        ifNotNil:[ProgressNotification notify: aString progress: aNumberOrNil]
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   130
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   131
    "Created: / 29-05-2009 / 16:51:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   132
! !
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   133
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   134
!Task class methodsFor:'documentation'!
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   135
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   136
version
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   137
    ^ '$Header$'
134
379185993ee9 changed: #version_SVN
fm
parents: 25
diff changeset
   138
!
379185993ee9 changed: #version_SVN
fm
parents: 25
diff changeset
   139
379185993ee9 changed: #version_SVN
fm
parents: 25
diff changeset
   140
version_CVS
379185993ee9 changed: #version_SVN
fm
parents: 25
diff changeset
   141
    ^ '$Header$'
379185993ee9 changed: #version_SVN
fm
parents: 25
diff changeset
   142
!
379185993ee9 changed: #version_SVN
fm
parents: 25
diff changeset
   143
379185993ee9 changed: #version_SVN
fm
parents: 25
diff changeset
   144
version_SVN
357
18ba210dfbf8 update #version_SVN with § as keyword expansion character
fm
parents: 134
diff changeset
   145
    ^'§Id: SVN__Task.st 100 2009-07-15 18:35:02Z vranyj1 §'
25
7a99fc6767ef initial checkin
fm
parents:
diff changeset
   146
! !