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
| >
| >
|
|
|