I don't really know if this is an issue with Metacello, or Winter project, or the dependency PharoSound.
MetacelloCypressBaselineProject(Object)>>doesNotUnderstand: #versionString
MetacelloMCConfigurationOfProjectSpec(MetacelloProjectSpec)>>version
[ self version ] in MetacelloMCConfigurationOfProjectSpec(MetacelloProjectSpec)>>versionOrNil in Block: [ self version ]
FullBlockClosure(BlockClosure)>>on:do:
MetacelloMCConfigurationOfProjectSpec(MetacelloProjectSpec)>>versionOrNil
MetacelloMCConfigurationOfProjectSpec(MetacelloProjectSpec)>>compareVersionsEqual:
MetacelloMCConfigurationOfProjectSpec(MetacelloProjectSpec)>>compareEqual:
MetacelloRecordTarget>>visitProjectReference:
MetacelloProjectReferenceSpec>>acceptVisitor:
[ :pkg | pkg acceptVisitor: self ] in [
self specBuilder currentLoadDirective spec: spec.
packages do: [ :pkg | pkg acceptVisitor: self ] ] in MetacelloRecordTarget>>linearLoadPackages:ofSpec: in Block: [ :pkg | pkg acceptVisitor: self ]
OrderedCollection>>do:
[
self specBuilder currentLoadDirective spec: spec.
packages do: [ :pkg | pkg acceptVisitor: self ] ] in MetacelloRecordTarget>>linearLoadPackages:ofSpec: in Block: [...
FullBlockClosure(BlockClosure)>>ensure:
MetacelloSpecBuilder>>pushLoadDirective:during:
MetacelloSpecBuilder>>pushLinearLoadDirectivesDuring:for:
MetacelloRecordTarget>>linearLoadPackages:ofSpec:
["Iterate the internals of the version spec"
aSpec project loadType == #atomic ifTrue: [
^ self atomicLoadPackages: packages ofSpec: aSpec ].
aSpec project loadType == #linear ifTrue: [
^ self linearLoadPackages: packages ofSpec: aSpec ].
MetacelloError signal:
'Unknown loadType: ' , aSpec project loadType printString] in MetacelloRecordTarget>>visitVersionSpecChildren: in Block: ["Iterate the internals of the version spec"...
FullBlockClosure(BlockClosure)>>ensure:
MetacelloRecordTarget>>visitVersionSpecChildren:
MetacelloRecordTarget>>visitVersionSpec:
MetacelloVersionSpec>>acceptVisitor:
MetacelloVersion>>recordRequiredFromArray:withEngine:
MetacelloVersion>>fetchRequiredFromArray:withEngine:
MetacelloVersion>>loadRequiredFromArray:withEngine:
[
self loadRequiredFromArray: anArray withEngine: anEngine ] in MetacelloVersion>>doLoadRequiredFromArray:withEngine: in Block: [...
[
| result |
result := aBlock value.
MetacelloNotification signal:
'...finished ' , self versionNumber printString.
^ result ] in [
MetacelloPlatform current
do: [
| result |
result := aBlock value.
MetacelloNotification signal:
'...finished ' , self versionNumber printString.
^ result ]
displaying: aLabel , displayString ] in MetacelloVersion>>doWithProgress:label:silently: in Block: [...
[ :bar |
bar value: 1.
aBlock value.
bar value: 2 ] in IceMetacelloPharoPlatform(MetacelloPlatform)>>do:displaying: in Block: [ :bar |...
FullBlockClosure(BlockClosure)>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob
value: self
during: [ ^ block cull: self ] ] in Job>>run in Block: [ ^ block cull: self ]
[ activeProcess
psValueAt: index
put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [ activeProcess...
FullBlockClosure(BlockClosure)>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
CurrentJob
value: self
during: [ ^ block cull: self ] ] in Job>>run in Block: [ self prepareForRunning....
FullBlockClosure(BlockClosure)>>ensure:
Job>>run
ByteString(String)>>displayProgressFrom:to:during:
IceMetacelloPharoPlatform(MetacelloPlatform)>>do:displaying:
[
MetacelloPlatform current
do: [
| result |
result := aBlock value.
MetacelloNotification signal:
'...finished ' , self versionNumber printString.
^ result ]
displaying: aLabel , displayString ] in MetacelloVersion>>doWithProgress:label:silently: in Block: [...
FullBlockClosure(BlockClosure)>>ensure:
MetacelloVersion>>doWithProgress:label:silently:
MetacelloVersion>>doLoadRequiredFromArray:withEngine:
[ :versionSpec :requiredArray :projectSpec |
| result |
result := versionSpec
doLoadRequiredFromArray: requiredArray
withEngine: self.
self root: result.
MetacelloProjectRegistration
registrationForProjectSpec: projectSpec
ifAbsent: [ :new |
new
loadedInImage: true;
registerProject ]
ifPresent: [ :existing :new |
existing copyOnWrite: [ :existingCopy |
existingCopy
loadedInImage: true;
merge: new ] ] ] in MetacelloScriptEngine>>load:onProjectDownGrade:onProjectUpgrade: in Block: [ :versionSpec :requiredArray :projectSpec |...
[
| versionSpec projectSpec requiredArray |
self setDefaultsAndValidateProjectSpec.
[
projectSpec := (self lookupProjectSpecFor:
self projectReferenceSpec) copy ]
on: MetacelloAllowProjectDowngrade , MetacelloAllowProjectUpgrade
do: [ :notification |
notification
handleOnDownGrade: onDownGradeBlock
onUpgrade: onUpgradeBlock ].
projectSpec loads: required.
projectSpec ensureProjectLoadedWithEngine: self.
versionSpec := projectSpec project version:
projectSpec versionString.
requiredArray := projectSpec loadListForVersion: versionSpec.
self root:
(aBlock
value: versionSpec
value: requiredArray
value: projectSpec) ] in [
self handleNotificationsForAction: [
| versionSpec projectSpec requiredArray |
self setDefaultsAndValidateProjectSpec.
[
projectSpec := (self lookupProjectSpecFor:
self projectReferenceSpec) copy ]
on: MetacelloAllowProjectDowngrade , MetacelloAllowProjectUpgrade
do: [ :notification |
notification
handleOnDownGrade: onDownGradeBlock
onUpgrade: onUpgradeBlock ].
projectSpec loads: required.
projectSpec ensureProjectLoadedWithEngine: self.
versionSpec := projectSpec project version:
projectSpec versionString.
requiredArray := projectSpec loadListForVersion: versionSpec.
self root:
(aBlock
value: versionSpec
value: requiredArray
value: projectSpec) ] ] in MetacelloScriptEngine>>do:required:onProjectDownGrade:onProjectUpgrade:commitIfSuccess: in Block: [...
FullBlockClosure(BlockClosure)>>on:do:
[
actionBlock
on: MetacelloAllowProjectDowngrade , MetacelloAllowProjectUpgrade
, MetacelloAllowConflictingProjectUpgrade
do: [ :ex | "option handlers need to be outermost set of handlers ... last line of defense before users are involved"
ex handleResolutionFor: self ] ] in [
[
actionBlock
on: MetacelloAllowProjectDowngrade , MetacelloAllowProjectUpgrade
, MetacelloAllowConflictingProjectUpgrade
do: [ :ex | "option handlers need to be outermost set of handlers ... last line of defense before users are involved"
ex handleResolutionFor: self ] ]
on: MetacelloAllowLockedProjectChange
do: [ :ex | "MetacelloAllowLockedProjectChange need to be outermost handler ... since it is signaled from second line of handlers"
ex handleResolutionFor: self ] ] in MetacelloScriptEngine>>handleNotificationsForAction: in Block: [...
FullBlockClosure(BlockClosure)>>on:do:
[
[
actionBlock
on: MetacelloAllowProjectDowngrade , MetacelloAllowProjectUpgrade
, MetacelloAllowConflictingProjectUpgrade
do: [ :ex | "option handlers need to be outermost set of handlers ... last line of defense before users are involved"
ex handleResolutionFor: self ] ]
on: MetacelloAllowLockedProjectChange
do: [ :ex | "MetacelloAllowLockedProjectChange need to be outermost handler ... since it is signaled from second line of handlers"
ex handleResolutionFor: self ] ] in MetacelloScriptEngine>>handleNotificationsForAction: in Block: [...
FullBlockClosure(BlockClosure)>>on:do:
MetacelloScriptEngine>>handleNotificationsForAction:
[
self handleNotificationsForAction: [
| versionSpec projectSpec requiredArray |
self setDefaultsAndValidateProjectSpec.
[
projectSpec := (self lookupProjectSpecFor:
self projectReferenceSpec) copy ]
on: MetacelloAllowProjectDowngrade , MetacelloAllowProjectUpgrade
do: [ :notification |
notification
handleOnDownGrade: onDownGradeBlock
onUpgrade: onUpgradeBlock ].
projectSpec loads: required.
projectSpec ensureProjectLoadedWithEngine: self.
versionSpec := projectSpec project version:
projectSpec versionString.
requiredArray := projectSpec loadListForVersion: versionSpec.
self root:
(aBlock
value: versionSpec
value: requiredArray
value: projectSpec) ] ] in MetacelloScriptEngine>>do:required:onProjectDownGrade:onProjectUpgrade:commitIfSuccess: in Block: [...
FullBlockClosure(BlockClosure)>>ensure:
MetacelloProjectRegistration class>>copyRegistryDuring:commitIfSuccess:
MetacelloScriptEngine>>do:required:onProjectDownGrade:onProjectUpgrade:commitIfSuccess:
MetacelloScriptEngine>>load:onProjectDownGrade:onProjectUpgrade:
MetacelloScriptEngine>>load:
[ :projectReferenceSpec |
| engine |
engine := MetacelloScriptEngine new
options: self options copy;
projectReferenceSpec: projectReferenceSpec;
yourself.
engine perform: actionArg key withArguments: actionArg value.
engine root ifNotNil: [ :root | self roots add: root ] ] in MetacelloScriptApiExecutor(MetacelloScriptExecutor)>>execute: in Block: [ :projectReferenceSpec |...
[ :projectSpec |
projectSpec
ifNotNil: [ projectSpecBlock value: (self applyArgsToProjectSpec: projectSpec copy) ] ] in MetacelloScriptApiExecutor>>executeString:do: in Block: [ :projectSpec | ...
Array(SequenceableCollection)>>do:
MetacelloScriptApiExecutor>>executeString:do:
MetacelloScriptApiExecutor(MetacelloScriptExecutor)>>execute:
[
^ super execute: statements ] in MetacelloScriptApiExecutor>>execute: in Block: [ ...
[ activeProcess
psValueAt: index
put: anObject.
aBlock value ] in IceMetacelloLoadSessionContext(DynamicVariable)>>value:during: in Block: [ activeProcess...
FullBlockClosure(BlockClosure)>>ensure:
IceMetacelloLoadSessionContext(DynamicVariable)>>value:during:
IceMetacelloLoadSessionContext class(DynamicVariable class)>>value:during:
IceMetacelloPharoPlatform>>withMetacelloLoadSessionDo:
MetacelloScriptApiExecutor>>execute:
Metacello>>execute:args:
Metacello>>load:
IceTipMetacelloInstallBaselineDefaultCommand(IceTipMetacelloInstallBaselineCommand)>>basicInstallBaseline:groups:
[ self basicInstallBaseline: icePackage groups: anArray ] in [
Iceberg announcer
suspendAllForRepository: self repository
while: [ self basicInstallBaseline: icePackage groups: anArray ] ] in IceTipMetacelloInstallBaselineDefaultCommand(IceTipMetacelloInstallBaselineCommand)>>installBaseline:groups: in Block: [ self basicInstallBaseline: icePackage groups[..]
FullBlockClosure(BlockClosure)>>ensure:
IceAnnouncer>>suspendAllMatching:while:
IceAnnouncer>>suspendAllForRepository:while:
[
Iceberg announcer
suspendAllForRepository: self repository
while: [ self basicInstallBaseline: icePackage groups: anArray ] ] in IceTipMetacelloInstallBaselineDefaultCommand(IceTipMetacelloInstallBaselineCommand)>>installBaseline:groups: in Block: [ ...
FullBlockClosure(BlockClosure)>>cull:
FullBlockClosure(BlockClosure)>>cull:cull:
[ :aJob | result := actionBlock cull: self context cull: aJob ] in IceTipStandardAction>>basicExecute in Block: [ :aJob | result := actionBlock cull: self con[..]
FullBlockClosure(BlockClosure)>>cull:
[ :job |
"job min: 0; max: 100."
result := aBlock cull: job ] in StPharoApplication(SpApplication)>>informUser:during: in Block: [ :job | ...
FullBlockClosure(BlockClosure)>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob
value: self
during: [ ^ block cull: self ] ] in Job>>run in Block: [ ^ block cull: self ]
[ activeProcess
psValueAt: index
put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [ activeProcess...
FullBlockClosure(BlockClosure)>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
CurrentJob
value: self
during: [ ^ block cull: self ] ] in Job>>run in Block: [ self prepareForRunning....
FullBlockClosure(BlockClosure)>>ensure:
Job>>run
StPharoApplication(SpApplication)>>informUser:during:
IceTipStandardAction>>basicExecute
[
result := self basicExecute.
self finishSuccess ] in IceTipStandardAction(IceTipAction)>>execute in Block: [ ...
FullBlockClosure(BlockClosure)>>on:do:
IceTipStandardAction(IceTipAction)>>withErrorHandlingDo:
IceTipStandardAction(IceTipAction)>>execute
IceTipStandardAction(IceTipAction)>>executeWithContext:
IceTipMetacelloInstallBaselineDefaultCommand(IceTipMetacelloInstallBaselineCommand)>>installBaseline:groups:
IceTipMetacelloInstallBaselineDefaultCommand(IceTipMetacelloInstallBaselineCommand)>>installBaseline:
IceTipMetacelloInstallBaselineDefaultCommand>>execute
IceTipSpCommand(CmCommandDecorator)>>execute
[ aCommand execute ] in SpMenuPresenterBuilder>>fillItem:with: in Block: [ aCommand execute ]
FullBlockClosure(BlockClosure)>>cull:
SpMenuItemPresenter>>performMenuActionWith:
SpMorphicMenuItemAdapter>>performMenuActionWith:
[ | selArgCount | "show cursor in case item opens a new MVC window"
(selArgCount := selector numArgs) = 0
ifTrue:
[target perform: selector]
ifFalse:
[selArgCount = arguments size
ifTrue: [target perform: selector withArguments: arguments]
ifFalse: [target perform: selector withArguments: (arguments copyWith: evt)]].
self showShortcut.
self changed] in SpToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent: in Block: [ | selArgCount | "show cursor in case item o[..]
FullBlockClosure(BlockClosure)>>ensure:
CursorWithMask(Cursor)>>showWhile:
SpToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
SpToggleMenuItemMorph(MenuItemMorph)>>mouseUp:
SpToggleMenuItemMorph(MenuItemMorph)>>handleMouseUp:
MouseButtonEvent>>sentTo:
SpToggleMenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>handleMouseUp:
MouseButtonEvent>>sentTo:
[ ^ anEvent sentTo: self ] in MorphicEventDispatcher>>dispatchEvent:with: in Block: [ ^ anEvent sentTo: self ]
FullBlockClosure(BlockClosure)>>ensure:
MorphicEventDispatcher>>dispatchEvent:with:
SpToggleMenuItemMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>handleMouseUp:
MouseButtonEvent>>sentTo:
[ ^ anEvent sentTo: self ] in MorphicEventDispatcher>>dispatchEvent:with: in Block: [ ^ anEvent sentTo: self ]
FullBlockClosure(BlockClosure)>>ensure:
MorphicEventDispatcher>>dispatchEvent:with:
MenuMorph(Morph)>>processEvent:using:
MenuMorph(Morph)>>processEvent:
MenuMorph>>handleFocusEvent:
[
result := focusHolder handleFocusEvent: transformedEvent.
] in HandMorph>>sendFocusEvent:to:clear: in Block: [...
FullBlockClosure(BlockClosure)>>on:do:
WorldMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
[
(morphicWorld activeHand isNotNil and: [ anEvent hand isNotNil ]) ifTrue: [
morphicWorld activeHand handleEvent: anEvent
]
] in OSWindowMorphicEventHandler>>dispatchMorphicEvent: in Block: [...
WorldState>>runStepMethodsIn:
WorldMorph>>runStepMethods
WorldState>>doOneCycleFor:
WorldMorph>>doOneCycleNow
WorldMorph>>doOneCycle
[
| extraWorldsToDraw |
extraWorldsToDraw := ExtraWorldListMutex critical: [
self extraWorldList ].
extraWorldsToDraw do: [ :world | world doOneCycle ].
(self currentWorld isNotNil and: [
(extraWorldsToDraw includes: self currentWorld) not ]) ifTrue: [
self currentWorld doOneCycle ] ] in WorldMorph class>>doOneCycle in Block: [...
FullBlockClosure(BlockClosure)>>ensure:
WorldState class>>doDrawCycleWith:
WorldMorph class>>doOneCycle
MorphicRenderLoop>>doOneCycle
MorphicRenderLoop>>doOneCycleWhile:
[ MorphicRenderLoop new doOneCycleWhile: [ true ] ] in MorphicUIManager>>spawnNewProcess in Block: [ MorphicRenderLoop new doOneCycleWhile: [ tru[..]
[self value.
"IMPORTANT: Do not step over next line of code. See method comments for details"
Processor terminateRealActive] in FullBlockClosure(BlockClosure)>>newProcess in Block: [self value....
Hi!
I'm trying to load Winter project into Pharo 12, and got
Instance of MetacelloCypressBaselineProject did not understand #versionString.I don't really know if this is an issue with Metacello, or Winter project, or the dependency PharoSound.
Any idea?