I have published the Metacello configuration of Magma in the MetacelloRepository of squeaksource.com.
Take a PharoCore 10506 and evaluate in a workspace:
Gofer it squeaksource: 'MetacelloRepository'; package: 'ConfigurationOfMagma'; load.
Then load the default group that loads the Magma Client:
((Smalltalk at: #ConfigurationOfMagma) project version: '1.0r43') load
this is equivalent to:
((Smalltalk at: #ConfigurationOfMagma) project version: '1.0r43') load: 'Client'.
To load the Magma Server evaluate:
((Smalltalk at: #ConfigurationOfMagma) project version: '1.0r43') load: 'Server'.
And to load the Magma Tester evaluate:
((Smalltalk at: #ConfigurationOfMagma) project version: '1.0r43') load: 'Tester'.
This last one will load also OSProcess that is used by the Magma Tester to do the stress testing of Magma.
Notes: - WriteBarrier is a package loaded by Magma. This requires NewCompiler as dependency but as NewCompiler is being rewritten currently, isn't loaded as a dependency. - Magma makes use of ProjectHistory that doesn't exist anymore in Pharo. Magma will fix this by conditionally testing for ProjectHistory by means of Smalltalk at: #ProjectHistory. - This is the first configuration for Magma and will be modified in response to the feedback you give me. - Currently the blessing is #development. Maybe this should be marked as #stable in order to load with: ((Smalltalk at: #ConfigurationOfMagma) project latestVersion) load. This way it will install the latest non-development version available in MetacelloRepository without having to specify a version number. - This configuration executes a preLoadDoIt with the following code:
Smalltalk at: #EventSensor put: InputEventSensor
because EventSensor was removed from Pharo, but Magma add some methods to EventSensor class. I *really* need feedback about the risks of doing this.
Any feedback is welcome.
Enjoy!
I ran the Magma test suite following:
MagmaTestCase allowWriteBarrier: false
save the image, and evaluate:
MagmaTestCase fullSuite maDebug
in a PharoCore 10506.
After a while I got the following stack trace:
AdditionalMethodState(Object)>>doesNotUnderstand: #maCopyWithDisconnectedPragmas [] in MaCompiledMethodStorage>>cleanLiterals: Array(SequenceableCollection)>>withIndexDo: MaCompiledMethodStorage>>cleanLiterals: MaCompiledMethodStorage>>initializeFrom: MaCompiledMethodStorage class>>newFor: CompiledMethod>>maAsStorageObject MaObjectSerializer>>append: [] in MaObjectSerializer>>appendGraph:do: Array(ProtoObject)>>maValueGraphNode:index:using:with:path:with: Array(ProtoObject)>>maGraphDo:using:path:with: OrderedCollection(ProtoObject)>>maValueGraphNode:index:using:with:path:with: OrderedCollection(ProtoObject)>>maGraphDo:using:path:with: Dictionary(ProtoObject)>>maValueGraphNode:index:using:with:path:with: [] in [] in Dictionary>>maGraphDo:using:path:with: [] in Dictionary>>maGraphDo:using:path:with: [] in Dictionary>>keysAndValuesDo: Dictionary(Set)>>do: Dictionary>>associationsDo: Dictionary>>keysAndValuesDo: Dictionary>>maGraphDo:using:path:with: Array(ProtoObject)>>maValueGraphNode:index:using:with:path:with: Array(ProtoObject)>>maGraphDo:using:path:with: Dictionary(ProtoObject)>>maValueGraphNode:index:using:with:path:with: [] in [] in Dictionary>>maGraphDo:using:path:with:
Any idea?
Remove MaFixtureFactory>>#compiledMethodSamples and #blockSamples. When Pharo gets settled with these types of objects, we can re-evaluate support for them in Pharo.
2010/1/13 Miguel Enrique Cobá Martinez miguel.coba@gmail.com:
I ran the Magma test suite following:
MagmaTestCase allowWriteBarrier: false
save the image, and evaluate:
MagmaTestCase fullSuite maDebug
in a PharoCore 10506.
After a while I got the following stack trace:
AdditionalMethodState(Object)>>doesNotUnderstand: #maCopyWithDisconnectedPragmas [] in MaCompiledMethodStorage>>cleanLiterals: Array(SequenceableCollection)>>withIndexDo: MaCompiledMethodStorage>>cleanLiterals: MaCompiledMethodStorage>>initializeFrom: MaCompiledMethodStorage class>>newFor: CompiledMethod>>maAsStorageObject MaObjectSerializer>>append: [] in MaObjectSerializer>>appendGraph:do: Array(ProtoObject)>>maValueGraphNode:index:using:with:path:with: Array(ProtoObject)>>maGraphDo:using:path:with: OrderedCollection(ProtoObject)>>maValueGraphNode:index:using:with:path:with: OrderedCollection(ProtoObject)>>maGraphDo:using:path:with: Dictionary(ProtoObject)>>maValueGraphNode:index:using:with:path:with: [] in [] in Dictionary>>maGraphDo:using:path:with: [] in Dictionary>>maGraphDo:using:path:with: [] in Dictionary>>keysAndValuesDo: Dictionary(Set)>>do: Dictionary>>associationsDo: Dictionary>>keysAndValuesDo: Dictionary>>maGraphDo:using:path:with: Array(ProtoObject)>>maValueGraphNode:index:using:with:path:with: Array(ProtoObject)>>maGraphDo:using:path:with: Dictionary(ProtoObject)>>maValueGraphNode:index:using:with:path:with: [] in [] in Dictionary>>maGraphDo:using:path:with:
Any idea?
-- Miguel Cobá http://miguel.leugim.com.mx
Magma mailing list Magma@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/magma
magma@lists.squeakfoundation.org