On Wed, Jan 13, 2010 at 5:43 PM, Fernando olivero <oliverof@lu.unisi.ch> wrote:
Hi, just added ConfigurationOfAlien to the MetacelloRepository.


To load Alien using Metacello configurations evaluate

� � � �Gofer new
� � � � � � � �url: 'http://www.squeaksource.com/MetacelloRepository' ;
� � � � � � � �package: 'ConfigurationOfAlien';
� � � � � � � �load.
� � � �(ConfigurationOfAlien project version:'1.0') load.


( John please update the ALIEN squeaksource page with the previous text )



Excellent!!!!

Hi Fernando: I checked the Conf, I hope you don't bother if I give you some feedback.

In version1:�� try to put mostly only versions. Static information like ��� ��� spec package: 'Alien-Core'� with: [ spec requires: #( 'Alien-Prereqs'� ) ].
would be better to put them in the baseline. All static and structure information (groups, requieres, etc) should go in baseline. And in version, only versions, author, date, description, blessing, etc.� Post and preload for exaple, it depends. Is they are likely to be always the same, put them in baseline. If they are particular for a version, put them in version. In your case I think they should go on baseline.

You didn't put the dependency from Alien-CoreTest� to Alien. Think that every package should be perfectly loaded.� So, if Alien-CoreTest depends on Alien-Core, then, you have to put it. The same with the examples.
Note:
� � � �Using the available �MAC VM i the pharo page, you should be able to run the test correctly.
� � � �( the alien plugin 'IA32ABI 7 May 2009 (e)', is compiled inside that vm, there's no need for the external one)


Metacello question:

If i want load Alien Examples, the package Alien-MacOSExamples, but don't want to add them to the above configuration , should i create a new #versionXXX method ?

Or provide a class side method like for example

ConfigurationOfAlien>>loadWithMaxOsExamples
� � � �(ConfigurationOfAlien project version:'1.0') load:#('Alien-MacOsExamples')


In my opinion, neither. I would use groups for this. Something like this in baseline mehtod:

��� spec
��� ��� ��� group: 'default' with: #('Core' );
��� ��� ��� group: 'Core' with: #( 'Alien-Core' );
��� ��� ��� group: 'Tests' with: #( 'Alien-CoreTest' );
��� ��� ��� group: 'Examples' with: #('Alien-MacOSExamples' );

Then to load the project, you can evaluate:


(ConfigurationOfAlien project version: 'xxxx') load��

(this will install the default, which is core)

(ConfigurationOfAlien project version: 'xxxx') load: 'Tests'

will load that group

or:

(ConfigurationOfAlien project version: 'xxxx') load: #('Core' 'Tests' 'Examples' )� �

and will load everything.

��
For more information you can look in MetacelloRepository, there are a lot of examples.

Cheers

Mariano



Saludos,
Fernando
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project