Metacello ConfigurationOfMagma

Miguel Enrique Cobá Martinez miguel.coba at gmail.com
Wed Jan 13 16:02:41 UTC 2010


El mié, 13-01-2010 a las 09:39 -0600, Chris Muller escribió:
> 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.

Ok, by the moment I am leaving the dependency on NewCompiler out of the
configuration. So Magma installs WriteBarrier without NewCompiler. Lets
see if someone reports a bug with this. Anyway this is how the
current .mcm works, only installs WriteBarrier but not NewCompiler.

And indeed, NewCompiler is currently being rewritten so it doesn't work
nor in Squeak nor Pharo. When stable I'll revisit this issue.

> 
> >> - 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) ... ].

Ok, should I make the change and send a patch to you or you're adding it
to the Magma code?
> 
> >> - Ma Armored Code depends on OSProcess but the mcm doesn't includes it.
> 
> The dependency on OSProcess should be removed in a similar manner.

Yes this dependency is only for when the user install Magma Tester, not
Magma Server or Magma Client.
> 
> >> 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.

Yes, this will be installed automatically when loading Magma Tester
only.
> 
> 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.

Ok, I will try to add a ConfigurationOfWriteBarrier that takes care of
its own dependencies. Meanwhile, I leave the WriteBarrier without
NewCompiler in the Magma installation.


> 
>  - Chris

-- 
Miguel Cobá
http://miguel.leugim.com.mx



More information about the Magma mailing list