Hi,
There are a number of dirty packages in the Moose image. Most of these are due to us loading packages with extensions that are now present in Pharo 2.0.
I removed:
- BDDExtensions as a prerequisite to Glamour because it is already present in the image
- I removed an Morph extension from Glamour
- I removed a couple of methods from Mondrian that were extending Behavior and CompiledMethod
There are still a couple left:
- Moose-TestResources is dirty for some reason I do not understand, but I suspect it has to do with the latest CategoryImporter tests. Yuriy, could you take a look?
- Object>>asMorph comes from Magritte and should be renamed to asMagritteMorph
- some extensions from Grease were adopted by Pharo
Cheers,
Doru
--
www.tudorgirba.com
"Beauty is where we see it."
Hi,
Now that the continuous integration build is using the cool ZeroConf infrastructure, we needed a clean way to run all tests from Moose based on the information gathered from the ConfigurationOfMoose. More precisely we want to run all the tests from all packages that are in the 'Tests' group from all configurations referred from ConfigurationOfMoose (including itself) :).
It's sounds more complicated than it actually is:
packages
| packages |
packages := Set new.
(self mooseDevelopmentVersion packagesForSpecNamed: 'Tests') do: [ :spec | packages add: spec name ].
self mooseDevelopmentVersion projects do: [ :each |
(each version packagesForSpecNamed: 'Tests') do: [ :spec | packages add: spec name ] ].
^ packages
We used to have this logic in an .st file that was ran through the builder from Lukas.
But, now, I simply created the MooseTestRunnerCommandLineHandler as a subclass of TestRunnerCommandLineHandler, and provided the new packages. I gave it the commandName of 'moosetest' and now I can simply call from the command line:
Pharo ./Moose-latest-dev-4.8.image moosetest
In Moose, we have a little package named: Moose-Development-Tools that is loaded by the configuration. I added the new class to it, and I can easily integrate the whole test running in the ci job after loading the configuration.
I'd say it's pretty neat.
Cheers,
Doru
p.s. The VM still crashes when running the tests though (at least on Mac)
--
www.tudorgirba.com
"Beauty is where we see it."
Hi,
I spent a couple of hours cleaning configurations. It is better, but it is highly brittle. We need tools to reason about configurations. This should be a good Moose project.
Until now:
- I went through the configurations of Moose, Mondrian, Glamour, EyeSee, Fame and pointed repositories to STHub
- I cleaned the #baseline to point to #development version instead of hardcoded versions for Moose projects.
- I made #development versions point to the latest baseline. Like this we can always load #development and get the very latest of the Moose code.
- removed Shout from Glamour and Mondrian
- removed RB and RPackage from GToolkit
Still, it appears that the ConfigurationOfMondrian has some problems.
Cheers,
Doru
--
www.tudorgirba.com
"Not knowing how to do something is not an argument for how it cannot be done."
Hi,
Yesterday during the minisprint in Lille, we (Nicolas Anquetil) and me moved DSM to STHub.
We also changed the ConfigurationOfMoose and ConfigurationOfDSM.
Anne
Hi,
I moved HealthReportProducer to STHub.
I also changed the ConfigurationOfMoose and ConfigurationOfHealthReportProducer (which is used by Mondrian) to load XMLParser from STHub instead of XMLSupport.
Slowly, we are getting there, but the GTMetaceller is invaluable :).
Cheers,
Doru
--
www.tudorgirba.com
"If you interrupt the barber while he is cutting your hair,
you will end up with a messy haircut."
As stated in this bug:
"(Sorry) to be explicit, "Circles" should be constrained to remain a circle
when either dimension is changed."
That's probably right. However, I like the current behavior - I would like
an ellipse that fit around my text. Could we rename the current ROCircle
to be ROEllipse (and add related code to handle this), and create a new
ROCircle that maintained itself as a Circle for those who want that
behavior?
I'd be happy to take on doing this (or at least some of it) in the next few
days; I just need to understand how to submit the changes (and if you want
them).
-Chris
Hi,
Great.
In the meantime, I fixed Mondrian and EyeSee to not throw errors. The problem was that in Pharo 2.0 Morphs send announcements, and these got confused with the specific announcements for Mondrian and EyeSee.
Now Glamour has 7 errors but they are all due to the same problem of not being able to set the value of a port from outside when rendering a list. The issue comes from some internal modifications of MorphTreeMorph. It would be cool if someone could take a look at this.
There are also a couple of Mondrian tests failing, but they are due to Easel accessing a missing class MorphicTextEditor which was already deprecated in 1.4. Nevertheless, the Easel is no longer really needed because we have one in Glamour.
Cheers,
Doru
On Mar 7, 2013, at 4:26 PM, Usman Bhatti <usman.bhatti(a)gmail.com> wrote:
> For info.
>
> ---------- Forwarded message ----------
> From: Usman Bhatti <usman.bhatti(a)gmail.com>
> Date: Thu, Mar 7, 2013 at 4:15 PM
> Subject: mini-moose sprint tomorrow
> To: RMoD private list <lsehub-staff(a)lists.gforge.inria.fr>
>
>
> Now that Moose has moved to SThub and we loading it on Pharo 2.0, there are some failing tests in Moose: https://ci.inria.fr/moose/job/Moose-latest-dev-4.8/lastCompletedBuild/testR…
>
> Tomorrow, we will try to make green FAMIX/Moose related tests.
>
> The place will be decided at "runtime" according to the number of participants.
>
> usman
>
--
www.tudorgirba.com
"Every thing has its own flow."
I believe I already said here that I don't like very much the "default"
FAMIX metamodel in Moose because it is the union of Smalltalk and Java
specificities.
For 2 languages it works (more or less), but if we want to add C#, C++,
and whatever-else (not talking about non OO languages), it quickly
starts to be a huge mess.
It would be preferable to have a generic metamodel and specific ones for
each languages.
But then, we will run into cases where we want to have some kind of
multiple inheritance.
For example we could want to say that a Java method and a C function are
behaviouralEntities with return type and Java methods and Smalltalk
methods are behavioural entities with a received (when they are called)
and Java method now have two superclasses.
So the question arise why Fame does not have multiple inheritance?
- no specific reason?
- fundamental design decision?
- historical reason?
nicolas
--
Nicolas Anquetil -- RMod research team (Inria)