core/MetacelloVersionMethodSection.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 18 Sep 2012 13:10:10 +0000
changeset 14 f01fe37493e9
parent 11 d354ac2af7ec
child 16 25ac697dc747
permissions -rw-r--r--
- MetacelloProjectSpecForLoad added: #version_SVN - MetacelloRemoveMemberSpec added: #version_SVN - MetacelloValueHolderSpec added: #version_SVN - MetacelloProjectSpecGenerator added: #version_SVN - MetacelloPackagesSpec added: #version_SVN - MetacelloSemanticVersionNumber added: #version_SVN - MetacelloProjectSpecLoadError added: #version_SVN - MetacelloAddMemberSpec added: #version_SVN - MetacelloCannotUpdateReleasedVersionError added: #version_SVN - MetacelloMergeMemberSpec added: #version_SVN - MetacelloValidationFailure added: #version_SVN - MetacelloAllowProjectDowngrade added: #version_SVN - MetacelloVersion added: #version_SVN - MetacelloScriptApiExecutor added: #version_SVN - MetacelloScriptProjectSpecNotification added: #version_SVN - MetacelloAllowConflictingProjectUpgrade added: #version_SVN - MetacelloBaseConfiguration added: #version_SVN - MetacelloConflictingProjectError added: #version_SVN - MetacelloProjectRegistration added: #version_SVN - MetacelloValidationIssue added: #version_SVN - MetacelloSymbolicVersionDoesNotExistError added: #version_SVN - MetacelloClearStackCacheNotification added: #version_SVN - MetacelloVersionMethodSpec added: #version_SVN - MetacelloLookupProjectSpecForLoad added: #version_SVN - MetacelloSymbolicVersionNotDefinedError added: #version_SVN - MetacelloPackageSpecResolutionError added: #version_SVN - stx_goodies_metacello_core changed: #classNamesAndAttributes #extensionMethodNames #preRequisites - MetacelloValidationCriticalWarning added: #version_SVN - MetacelloStackCacheNotification added: #version_SVN - MetacelloVersionMethodSection added: #version_SVN - MetacelloProject added: #version_SVN - MetacelloErrorInProjectConstructionNotification added: #version_SVN - MetacelloGroupSpec added: #version_SVN - MetacelloAbstractConstructor added: #version_SVN - MetacelloConfigurationSpecGenerator added: #version_SVN - MetacelloVersionValidator added: #version_SVN - MetacelloSymbolicVersionMethodSpec added: #version_SVN - MetacelloScriptImageExecutor added: #version_SVN - MetacelloLockedProjectError added: #version_SVN - MetacelloProjectReferenceSpec added: #version_SVN - MetacelloLookupBaselineSpecForEnsureLoad added: #version_SVN - MetacelloToolBoxConstructor added: #version_SVN - MetacelloValidationError added: #version_SVN - MetacelloValidationWarning added: #version_SVN - MetacelloScriptGitHubDownloadNotification added: #version_SVN - MetacelloProjectSpecLoadedNotification added: #version_SVN - MetacelloScriptNotification added: #version_SVN - MetacelloScriptingError added: #version_SVN - MetacelloCopyMemberSpec added: #version_SVN - MetacelloScriptRegistryExecutor added: #version_SVN - MetacelloCleanNotification added: #version_SVN - MetacelloSpecLoader added: #version_SVN - MetacelloAllowProjectUpgrade added: #version_SVN - MetacelloValidationNotification added: #version_SVN - MetacelloScriptEnsureProjectLoadedForDevelopment added: #version_SVN - MetacelloScriptExecutor added: #version_SVN - MetacelloSpec added: #version_SVN - MetacelloCleanLoadAndTestsNotification added: #version_SVN - MetacelloMemberSpec added: #version_SVN - MetacelloProjectSpecLoadConflict added: #version_SVN - MetacelloResolveProjectUpgrade added: #version_SVN - MetacelloGenericProjectSpec added: #version_SVN - MetacelloMethodSpec added: #version_SVN - MetacelloVersionConstructor added: #version_SVN - MetacelloVersionDefinitionError added: #version_SVN - MetacelloBaselineConstructor added: #version_SVN - MetacelloScriptEngine added: #version_SVN - MetacelloUseUpgradeError added: #version_SVN - MetacelloSymbolicVersionSpec added: #version_SVN - MetacelloProjectSpec added: #version_SVN - MetacelloVersionDoesNotExistError added: #version_SVN - MetacelloMethodSectionPath added: #version_SVN - MetacelloCleanLoadNotification added: #version_SVN - MetacelloSkipDirtyPackageLoad added: #version_SVN - MetacelloPlatform added: #version_SVN changed: #createRepository: - MetacelloLookupProjectSpec added: #version_SVN - MetacelloMethodSection added: #version_SVN - MetacelloProjectRegistry added: #version_SVN - MetacelloMemberListSpec added: #version_SVN - MetacelloVersionSpec added: #version_SVN - MetacelloAbstractVersionConstructor added: #version_SVN - MetacelloVersionNumber added: #version_SVN - MetacelloAbstractPackageSpec added: #version_SVN - MetacelloBaselineSpecGenerator added: #version_SVN - extensions ...
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11
d354ac2af7ec Metacello package refactoring - phase 2~
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
     1
"{ Package: 'stx:goodies/metacello/core' }"
1
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     2
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     3
MetacelloMethodSection subclass:#MetacelloVersionMethodSection
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     4
	instanceVariableNames:'block versionSpec parent methodSections'
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     5
	classVariableNames:''
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     6
	poolDictionaries:''
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     7
	category:'Metacello-Core-Constructors'
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     8
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     9
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    10
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    11
!MetacelloVersionMethodSection methodsFor:'accessing'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    12
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    13
addMethodSection: methodSection
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    14
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    15
	methodSection parent: self.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    16
	self methodSections add: methodSection
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    17
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    18
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    19
attributeOrPath
14
f01fe37493e9 - MetacelloProjectSpecForLoad
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    20
    ^ self parent == nil
f01fe37493e9 - MetacelloProjectSpecForLoad
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    21
        ifTrue: [ 
f01fe37493e9 - MetacelloProjectSpecForLoad
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    22
            self attributes size == 1
f01fe37493e9 - MetacelloProjectSpecForLoad
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    23
                ifTrue: [ self attributes first ]
f01fe37493e9 - MetacelloProjectSpecForLoad
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    24
                ifFalse: [ self attributes ] ]
f01fe37493e9 - MetacelloProjectSpecForLoad
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    25
        ifFalse: [ self attributePath ]
1
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    26
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    27
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    28
attributePath
14
f01fe37493e9 - MetacelloProjectSpecForLoad
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    29
    | path |
f01fe37493e9 - MetacelloProjectSpecForLoad
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    30
    path := MetacelloMethodSectionPath with: self attributes.
f01fe37493e9 - MetacelloProjectSpecForLoad
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    31
    ^ self parent == nil
f01fe37493e9 - MetacelloProjectSpecForLoad
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    32
        ifTrue: [ path ]
f01fe37493e9 - MetacelloProjectSpecForLoad
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    33
        ifFalse: [ self parent attributePath , path ]
1
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    34
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    35
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    36
block
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    37
	^ block
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    38
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    39
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    40
block: anObject
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    41
	block := anObject
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    42
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    43
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    44
methodSections
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    45
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    46
	methodSections ifNil: [ methodSections := OrderedCollection new ].
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    47
	^methodSections
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    48
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    49
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    50
parent
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    51
	^ parent
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    52
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    53
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    54
parent: anObject
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    55
	parent := anObject
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    56
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    57
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    58
topParent
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    59
	self parent == nil
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    60
		ifTrue: [ ^ self ].
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    61
	^ self parent topParent
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    62
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    63
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    64
versionSpec
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    65
	^ versionSpec
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    66
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    67
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    68
versionSpec: anObject
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    69
	versionSpec := anObject
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    70
! !
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    71
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    72
!MetacelloVersionMethodSection class methodsFor:'documentation'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    73
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    74
version_SVN
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    75
    ^ '$Id::                                                                                                                        $'
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    76
! !