"{ Package: 'stx:goodies/metacello' }"
Object subclass:#MetacelloAbstractConstructor
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'Metacello-Core-Constructors'
!
!MetacelloAbstractConstructor methodsFor:'accessing'!
configurationClass
^self subclassResponsibility
! !
!MetacelloAbstractConstructor methodsFor:'pragma extraction'!
extractAllVersionPragmas
| aDict |
aDict := Dictionary new.
self extractPragmas: #version: into: aDict.
self extractPragmas: #version:imports: into: aDict.
^aDict
!
extractCommonDefaultSymbolicVersionPragmas
| aDict |
aDict := Dictionary new.
self extractPragmas: #defaultSymbolicVersion: for: ConfigurationOf into: aDict.
^aDict
!
extractDefaultSymbolicVersionPragmas
| aDict |
aDict := Dictionary new.
self extractPragmas: #defaultSymbolicVersion: into: aDict.
^aDict
!
extractSymbolicVersionPragmas
| aDict |
aDict := Dictionary new.
self extractPragmas: #symbolicVersion: into: aDict.
^aDict
!
extractVersionImportPragmas
| aDict |
aDict := Dictionary new.
self extractPragmas: #version:imports: into: aDict.
^aDict
!
extractVersionPragmas
| aDict |
aDict := Dictionary new.
self extractPragmas: #version: into: aDict.
^aDict
! !
!MetacelloAbstractConstructor methodsFor:'private'!
extractPragmas: pragmaKeyword for: aClass into: versionDict
| versionString pragmas |
(Pragma
allNamed: pragmaKeyword
in: aClass) do: [:pragma |
versionString := pragma argumentAt: 1.
pragmas := versionDict
at: versionString
ifAbsent: [ | list |
list := OrderedCollection new.
versionDict at: versionString put: list.
list ].
pragmas add: pragma ].
!
extractPragmas: pragmaKeyword into: versionDict
^self extractPragmas: pragmaKeyword for: self configurationClass into: versionDict
! !
!MetacelloAbstractConstructor class methodsFor:'documentation'!
version_SVN
^ '$Id:: $'
! !