"{ Package: 'cvut:stx/goodies/libsvn' }"
"{ NameSpace: SVN }"
Object subclass:#Task
instanceVariableNames:'package classes workingCopy'
classVariableNames:''
poolDictionaries:''
category:'SVN-Tasks'
!
!Task class methodsFor:'documentation'!
version_SVN
^'$Id$'
! !
!Task methodsFor:'accessing'!
branch
^self workingCopy branch
"Created: / 23-03-2009 / 17:16:14 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
classes
^ classes
!
classes:aCollection"<Collection[Class]>"
self
assert: (aCollection allSatisfy: [:e|e isBehavior])
message: 'All elements should be classes'.
self
assert: (aCollection allSatisfy: [:e|e package = package])
message: 'All classes should belongs to my package (' , package , ')'.
classes := aCollection.
"Modified: / 16-06-2009 / 20:56:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
package
^ package
!
package:aSymbol
package := aSymbol.
!
repository
^self workingCopy repository
"Created: / 23-03-2009 / 11:24:36 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
workingCopy
workingCopy ifNil:
[workingCopy :=
(SVN::RepositoryManager repositoryForPackage: self package)
workingCopy].
^workingCopy
"Created: / 23-03-2009 / 11:18:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
workingCopy:aWorkingCopy
workingCopy := aWorkingCopy.
package := aWorkingCopy package
"Modified: / 23-03-2009 / 11:44:49 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!Task methodsFor:'executing'!
do
"
Perform whole task
"
^ self subclassResponsibility
"Modified: / 23-03-2009 / 11:16:11 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!Task methodsFor:'executing - private'!
do: aBlock
^SVN::CompatModeQuery
answer: false
do: aBlock
"Created: / 15-07-2009 / 20:07:14 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
doCompileSvnRevisionNrMethod: compileRevision
| pkgDef revNr |
SVN::ActivityNotification notify:'Compiling #svnRevisionNr method'.
pkgDef := self workingCopy packageDefinition.
revNr := compileRevision
ifTrue:[pkgDef svnRevision number]
ifFalse:[nil].
(revNr notNil or:[(pkgDef theMetaclass includesSelector:#svnRevisionNr) not]) ifTrue:
[pkgDef theMetaclass
compile: (pkgDef svnRevisionNr_code: revNr)
classified:'description - svn'.
(pkgDef theMetaclass compiledMethodAt:#svnRevisionNr)
setPackage:self package asSymbol].
"Created: / 16-06-2009 / 12:16:25 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!Task methodsFor:'notification'!
notify: aString
self notify: aString progress: nil
"Created: / 29-05-2009 / 16:51:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
notify: aString progress: aNumberOrNil
aNumberOrNil
ifNil:[ActivityNotification notify: aString]
ifNotNil:[ProgressNotification notify: aString progress: aNumberOrNil]
"Created: / 29-05-2009 / 16:51:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!Task class methodsFor:'documentation'!
version
^ '$Header$'
! !