The message was held until approvement by attachment size.
I have exported png to gif with very bad quality and zip the files.
They are attached now
Cheers
El mar, 12-01-2010 a las 12:08 -0600, Miguel Enrique Cobá Martinez escribió:
Hi Chris,
I'm creating the Metacello configuration for Magma. I have almost all done but I need your feedback for the correct dependencies of the packages that compose Magma.
First, I used a clean PharoCore 10505 image. Using monticello browser I loaded
1.0r43 mcm -> 1.0r43 (tester).mcm
that installed:
Ma exception handling-cmm.32 Ma base additions-cmm.149 Ma proxy support-cmm.40 Ma traverse object graphs-cmm.29 MaFixedWidthReport-cmm.7 Ma Statistics-cmm.21 Ma object serialization-cmm.220 Collections-BTree-lr.68 Ma special collections-cmm.101 Ma client server-cmm.214 WriteBarrier-pmm.26 Magma client-cmm.446 Ma contextual search-cmm.29 Magma server-cmm.382 Ma Armored Code-cmm.144 Ma Squeak domain-cmm.28 Ma special collections tester-cmm.12 Ma object serialization tester-cmm.27 Magma tester-cmm.352
Then, using the instructions from Lukas Renggli:
http://lists.gforge.inria.fr/pipermail/pharo-project/2010-January/019678.htm...
and using the DependencyBrowser from Hernán Morales:
http://cs.hernanmorales.com.ar/projects/dependencyBrowser/DBrowser-en.php
I created the attached .dot file with the dependencies for all the packages for Magma (tester, server and client). The code to generate it was:
(PDPackageAnalyzer onPackagesNamed: #( 'Magma tester' 'Ma special collections tester' 'Ma Squeak domain' 'Ma Armored Code' 'Magma server' 'Ma contextual search' 'Magma client' 'WriteBarrier' 'Ma client server' 'Ma special collections' 'Collections-BTree' 'Ma object serialization' 'Ma Statistics' 'MaFixedWidthReport' 'Ma traverse object graphs' 'Ma proxy support' 'Ma base additions' 'Ma exception handling' )) save: 'magma.dot'
Then using graphviz from linux (installed in Debian Linux as aptitude install graphviz) I generated the attached png graph of the dependencies with:
$ cat magma.dot | dot -Tpng > magma.png
I have checked dependency browser vs. PDPackageAnalyzer and both of them agree on the dependencies so I am almost sure that is ok. But your review will be very welcome.
Couple of things I found in this process:
- 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.
- 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.
- Ma Armored Code depends on OSProcess but the mcm doesn't includes it.
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.
Any comment on this?
Thanks