Metacello ConfigurationOfMagma

Chris Muller asqueaker at gmail.com
Wed Jan 13 15:39:21 UTC 2010


Hi Miguel, thanks for doing this!  I, unfortunately, have not had time
to look into Metacello; does it *finally* (after all these years) now
address the issues of package-dependencies?  Great!

>> - The WriteBarrier depends on class ByteCodeGenerator that isn't
>> included in Pharo. It appears to be on NewCompiler. Should I add
>> NewCompiler as a dependency for Magma, or is writebarrier useful without
>> NewCompiler.

I believe WriteBarrier needs NewCompiler to generate the overriding
methods.  However, I wouldn't add it as a dependency because it is an
optional feature that some folks may not wish to have.  I'm not even
sure that NewCompiler / WriteBarrier even work at all in Pharo, so I
would not have it as a dependency.

>> - The Magma tester project depends on ProjectHistory that doesn't exist
>> anymore in Pharo. Maybe this should be a conditional in Magma or the
>> test modified to not use this class, at least in Pharo.

This reference to ProjectHistory should be converted to a Symbol
(e.g., (Smalltalk hasClassNamed: #ProjectHistory) ifTrue: [ (Smalltalk
classNamed: #ProjectHistory) ... ].

>> - Ma Armored Code depends on OSProcess but the mcm doesn't includes it.

The dependency on OSProcess should be removed in a similar manner.

>> Now, as I said, I am doing the Metacello configuration for loading Magma
>> in Pharo (and maybe also in Squeak) and this will permit to load Tester,
>> Server and Client, WITH ALL the dependencies needed. This means that
>> when loading tester will load OSProcess and when loading WriteBarrier
>> will load also NewCompiler.

I think the OSProcess for MagmaTester sounds pretty good; I just can't
imagine testing without it.

I'm almost inclined, however, to want to even remove WriteBarrier from
the standard installation, make it optional.  The user can then load
it separately, if they wish.  In that case, NewCompiler a dependency
of WriteBarrier, permitting a one-click install of the WriteBarrier
option, sounds good.  However, I do not have time to support the
WriteBarrier package for Pharo.

 - Chris


More information about the Magma mailing list