Mariano,

Which Test packages to load ... The real answer to that question will depend 
upon what other packages are loaded .... if you load 'Tests' you'll end up 
loading up most of the "optional packages," so if that's not a problem in the 
default PharoDev then 'Tests' is the right answer, otherwise I would think that 
the list should match the optional set of packages you are loading anyway...

OB-Metacello was ported to Pharo1.1 in version 1.0-beta.26.2, which I will be 
releasing very soon.

I agree that for the default environment it is a good idea to include the extra 
packages, since they provide a level of functionality/documentation that should 
be present ... I will mention that the Metacello tests can be slow to execute, 
since they do a lot of loading/unloading of packages (using dictionary-based 
repositories)...

Finally, you can use a valid version of Metacello .... it turns out that if you 
specify a version of a project that is _older_ than the currently loaded one, 
Metacello will use the current version and apply the load  list to the loaded 
version instead of the one listed ... if the loaded version is _older_ than the 
specified version then the newer version will be loaded ...

Sooo, all you have to do is specify a reasonable version of Metacello and if 
later versions are loaded the correct pacakges will be loaded  ... BTW, the bug 
that you noticed with Seaside3.0 was related to this mechanism not quite 
working correctly:) (oh and I've fixed this bug in 1.0-beta.26.2).

The only time that a downgrade of mcz files occurs is when you explicitly load 
a Configuration whose mcz files are older than the loaded versions. Only the 
packages associated directly with the configuration are downgraded ... the 
referenced projects follow the "standard rules".

Dale
 
________________________________________
From: [email protected] [[email protected]] On Behalf Of 
Mariano Martinez Peck [[email protected]]
Sent: Friday, May 21, 2010 2:25 AM
To: [email protected]; Pharo Development
Subject: [Metacello] What packages to load from Metacello in PharoDev?

Hi. For building PharoDev images, we take a PharoCore and just evaluate 
something like:

(ConfigurationOfPharo project version: '1.1-beta1.10517') load

So....Metacello would be boostraped from ConfigurationOfPharo>>ensureMetacello  
which does a     (Smalltalk at: #ConfigurationOfMetacello) perform: 
#loadLatestVersion
and ConfigurationOfMetacello>>loadLatestVersion   does a "self project 
latestVersion load" ...

and, the default of ConfigurationOfMetacello is Core....so, in summary, only 
core is loaded. Perfect.

Now I was thinking that we should load more packages in PharoDev image.

First, we want the Metacello tests. For all packages we include by default in 
PharoDev, we also include its tests (by default). This is cool because people 
test it, we can give you quick feedback, be sure all green tests, etc. They are 
cool as documentation, blah blah blah.

So, first question, which tests package should I load?

Metacello-Tests
Metacello-TestsCore
Metacello-TestsMC
Metacello-TestsPlatform.pharo
Metacello-TestsReference

Or, maybe even better, load the group 'Test'.  I guess this is the correct one.

Now, I also think we could include all the following packages:

- Tutorial: this is cool for newcomers. They want to do the Metacello tutorial, 
and having it already in the image is cool I think. I want to include also the 
tests for the tutorial

- HelpSystem for Metacello: we need to copy this package from the HelpSystem 
repo (see my other email)

- Metacello ProfStef

- Metacello OB: do you know if it is working in Pharo 1.1 and with OB 1.1.4  ?

What do you think about including these packages in PharoDev by default ? I 
think it is a good idea.

Regardless that, I am not sure how to load them. As I told you, when building 
PharoDev images, Metacello is boostraped from the #ensureMetacello of 
ConfigurationOfPharo. And this will load the Core. ANd this is correct because 
other people use COnfigurationOfPharo for their own stuff and they just want 
the core. But in the case of PharoDev, I want more packages. But modifying 
#ensureMetacello is not an alternative.

So...I can put a reference to ConfigurationOfMetacello in Conf of Pharo, just 
like any other dependency, and there I specify the loads:  with the array of 
things I want.  This seems better. But I still have a problem:   
#ensureMetacello will load the latestVersion of it. It will load core. So, 
which version of ConfigurationOfMetacello should I use in my version of 
ConfigurationOfPharo. If I put a specific version, I may hve problems because 
it will try to download different versions....So, I would like to load the same 
as the #ensureMetacello. But I cannot specify in version method lastVersion for 
metacello.

what can I do ?  don't specify the metacello version in the version method so 
that it takes the last one ?

Thanks and sorry for the long email

Mariano



_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to