Cami,

As Patrik has mentioned the Metacello scripting api is headed in this direction 
... for example the following expression provides a list of the Pier 
configurations in the squeaksource MetacelloRepository:

  Metacello new
    configuration: [:spec | spec name beginsWith: 'Pier'];
    squeaksource: 'MetacelloRepository';
    list.

You can download all of the Pier configurations to your image with this 
expression:

  Metacello new
    configuration: [:spec | spec name beginsWith: 'Pier'];
    squeaksource: 'MetacelloRepository';
    get.

Then you can load a particular configuration like this:

  Metacello new
    configuration: 'Pier2';
    version: #stable;
    squeaksource: 'MetacelloRepository';
    load.

So the Configuration itself is not the focus of the API ... the class Metacello 
implements the api, but the api is intended for the manipulation of 
configurations ... There's a User Guider[1] for the API that covers most of the 
commands and a Reference Manual with more details (and more work to be done).

I've just announced a preview release on the Metacello list where I'm looking 
for feedback on the api, so now is the perfect time for you to chime in. I am 
interested in providing support along the lines of `publish` and `update`, but 
I have to have more details of what those commands will do... I've built into 
the framework some capabilities for extensions ... for example the 
pharo-specific commands might look something like this:

  Metallo pharo
    configuration: 'Pier2';
    publish.

The preview is functional and I expect some folks to actually start using it in 
their day to day work with the caveat that the api will change as I get 
feedback.

Finally the Metacello class is very small and intended to be included in the 
base images for both Squeak and Pharo. Metacello is bootstrapped when you 
execute one of the commands ...

I expect the preview period to run through ESUG, so we can talk in person 
then...

Dale

[1] 
https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUserGuide.md
[2] 
https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloScriptingAPI.md
----- Original Message -----
| From: "Camillo Bruni" <[email protected]>
| To: [email protected]
| Sent: Wednesday, August 1, 2012 4:32:11 AM
| Subject: Re: [Pharo-project] how can we commit the configuration of rb to     
the refactoring browser repository
| 
| exactly!
| 
| http://guides.rubygems.org/
| 
| We should have a services where you can do:
| 
|       ConfigurationOfFoo publish.
| 
| which will upload it to a central Metacello repository as well.
| So you always find the bleeding edge config in the project's repos
| and
| the more stable ones in the main metacello repository.
| 
|       ConfigurationOfFoo update.
|       
| 
| Now I would like to have a more 'gem' like interface for metacello.
| Simply do a `gem help commands` in your terminal and you'll see a
| handy
| list of commands available.
| 
| 
| Even if there are plans for nice UIs for Metacello at some time, we
| should
| take care that we create a nice programming interface :)
| 
| On 2012-08-01, at 12:01, Stéphane Ducasse <[email protected]>
| wrote:
| 
| > Hi guys
| > 
| > Configuration should not be only in metacello repository. Think
| > objects!
| > Now how can we commit the configuration of rb to the refactoring
| > browser repository?
| > should we fork it for real. I think that we should migrate from
| > squeak source really soon now.
| > 
| > Stef
| > 
| > 
| 
| 
|

Reply via email to