MetacelloToolKit

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

MetacelloToolKit

Alexandre Bergel-5
hi!

I would like to create the version '4.2' of Moose.
For this, I updated Metacello:
ConfigurationOfMetacello project updateProject.
(ConfigurationOfMetacello project version: '1.0-beta.28') load.

Did a:
toolkit := (MetacelloToolKit configurationNamed: #ConfigurationOfMoose).

Apparently, the expression "toolkit createVersion: '4.2'" returns a MetacelloMCVersion. It does not create a method version42: or something?

I also tried "toolkit validateVersion: '4.2'.", but it triggers an error.

Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.





Reply | Threaded
Open this post in threaded view
|

Re: MetacelloToolKit

Dale Henrichs
Alexandre,

Take a look on the class-side to see how scripts are written to use the
toolbox instance-side methods.

If you look at the HelpBrowser under Metacello>API
Documentation>Metacello-ToolBox>MetacelloToolBox>Class side you will see
the methods that are intended for public consumption and method comments
that should help you decide which methods you want to use

For creating baseline and version methods there are 6 methods to choose
from:

   - MetacelloToolBox class>>createBaseline:for:from:description:
       Create a new baseline version based on the specification in an
       existing baseline
   - MetacelloToolBox
class>>createBaseline:for:repository:requiredProjects:packages:dependencies:groups:
       Create a new baseline version based on the specified project
       structure.
   - MetacelloToolBox class>>createDevelopment:for:from:description:
       Create a new development version based on the specifications in
       an existing development version. Modify the #development
       symbolic version to reference the new version.
   - MetacelloToolBox class>>createDevelopment:for:from:imports:description:
       Create a new development version based on the specifications in
       an existing version, but override the imports for the new
       version. Modify the #development symbolic version to reference
       the new version.
   - MetacelloToolBox
class>>createDevelopment:for:importFromBaseline:description:
       Create a new development version based on the specifications in
       an existing baseline version. Modify the #development symbolic
       version to reference the new version.
   - MetacelloToolBox class>>createVersion:for:from:description:
       Create a new version based on the specifications in the given
       version.
         If the new version string contains 'baseline', then create a
            new baseline version.
         If the given version is a baseline, then create a new version
            based on the given baseline.
         If the given version is a non-baseline version, then create a
            new version based on the given version.

I also suggest that you look at the class-side 'development support'
methods in MetacelloConfigTemplate ... The idea is that a set of
standard 'development support' methods are provided which would be
customized for a particular project...

So far I have gone through a release cycle for Grease/Seaside30 to fine
tune the 'development support' methods/concept ... Right now I am going
through a development/release cycle for GLASS and am continuing to tweak
the API and 'development support' idea.

So I will appreciate feedback as you get familiar with the api...

Dale
On 12/06/2010 06:40 AM, Alexandre Bergel wrote:

> hi!
>
> I would like to create the version '4.2' of Moose.
> For this, I updated Metacello:
> ConfigurationOfMetacello project updateProject.
> (ConfigurationOfMetacello project version: '1.0-beta.28') load.
>
> Did a:
> toolkit := (MetacelloToolKit configurationNamed: #ConfigurationOfMoose).
>
> Apparently, the expression "toolkit createVersion: '4.2'" returns a MetacelloMCVersion. It does not create a method version42: or something?
>
> I also tried "toolkit validateVersion: '4.2'.", but it triggers an error.
>
> Cheers,
> Alexandre

Reply | Threaded
Open this post in threaded view
|

Re: MetacelloToolKit

EstebanLM
Hi,
what's the "MetacelloToolkit"?

Cheers,
Esteban

El 06/12/2010, a las 2:19p.m., Dale Henrichs escribió:

> Alexandre,
>
> Take a look on the class-side to see how scripts are written to use the toolbox instance-side methods.
>
> If you look at the HelpBrowser under Metacello>API Documentation>Metacello-ToolBox>MetacelloToolBox>Class side you will see the methods that are intended for public consumption and method comments that should help you decide which methods you want to use
>
> For creating baseline and version methods there are 6 methods to choose from:
>
>  - MetacelloToolBox class>>createBaseline:for:from:description:
>      Create a new baseline version based on the specification in an
>      existing baseline
>  - MetacelloToolBox class>>createBaseline:for:repository:requiredProjects:packages:dependencies:groups:
>      Create a new baseline version based on the specified project
>      structure.
>  - MetacelloToolBox class>>createDevelopment:for:from:description:
>      Create a new development version based on the specifications in
>      an existing development version. Modify the #development
>      symbolic version to reference the new version.
>  - MetacelloToolBox class>>createDevelopment:for:from:imports:description:
>      Create a new development version based on the specifications in
>      an existing version, but override the imports for the new
>      version. Modify the #development symbolic version to reference
>      the new version.
>  - MetacelloToolBox class>>createDevelopment:for:importFromBaseline:description:
>      Create a new development version based on the specifications in
>      an existing baseline version. Modify the #development symbolic
>      version to reference the new version.
>  - MetacelloToolBox class>>createVersion:for:from:description:
>      Create a new version based on the specifications in the given
>      version.
> If the new version string contains 'baseline', then create a
>           new baseline version.
> If the given version is a baseline, then create a new version
>           based on the given baseline.
> If the given version is a non-baseline version, then create a
>           new version based on the given version.
>
> I also suggest that you look at the class-side 'development support' methods in MetacelloConfigTemplate ... The idea is that a set of standard 'development support' methods are provided which would be customized for a particular project...
>
> So far I have gone through a release cycle for Grease/Seaside30 to fine tune the 'development support' methods/concept ... Right now I am going through a development/release cycle for GLASS and am continuing to tweak the API and 'development support' idea.
>
> So I will appreciate feedback as you get familiar with the api...
>
> Dale
> On 12/06/2010 06:40 AM, Alexandre Bergel wrote:
>> hi!
>>
>> I would like to create the version '4.2' of Moose.
>> For this, I updated Metacello:
>> ConfigurationOfMetacello project updateProject.
>> (ConfigurationOfMetacello project version: '1.0-beta.28') load.
>>
>> Did a:
>> toolkit := (MetacelloToolKit configurationNamed: #ConfigurationOfMoose).
>>
>> Apparently, the expression "toolkit createVersion: '4.2'" returns a MetacelloMCVersion. It does not create a method version42: or something?
>>
>> I also tried "toolkit validateVersion: '4.2'.", but it triggers an error.
>>
>> Cheers,
>> Alexandre
>

Reply | Threaded
Open this post in threaded view
|

Re: MetacelloToolKit

Dale Henrichs
Esteban,

It's actually a toolbox:)

For 1.0-beta.28 I have decided to take some steps to make building tools
for Metacello a little bit easier.

In past versions of Metacello it is safe to say that attempting to write
tools for Metacello took a lot of black magic, especially if you wanted
to depart from what was already supported by OB-Metacello.

When Alexandre wrote the Metacello extensions for the MonticelloGUI, I
realized (sometimes I have to be hit with a 2x4 upside my head multiple
times:) that the programming API was a little bit too scattered and in
many cases non-existent.

MetacelloToolBox (class-side especially) is intended to be the API for
tool builders (managing configurations). I am hoping that tool builders
will use the tool box algorithms (and ask for additional support) so
that standard operations will be done the standard way while still
allowing for customization...

Dale

On 12/06/2010 09:35 AM, Esteban Lorenzano wrote:

> Hi,
> what's the "MetacelloToolkit"?
>
> Cheers,
> Esteban
>
> El 06/12/2010, a las 2:19p.m., Dale Henrichs escribió:
>
>> Alexandre,
>>
>> Take a look on the class-side to see how scripts are written to use the toolbox instance-side methods.
>>
>> If you look at the HelpBrowser under Metacello>API Documentation>Metacello-ToolBox>MetacelloToolBox>Class side you will see the methods that are intended for public consumption and method comments that should help you decide which methods you want to use
>>
>> For creating baseline and version methods there are 6 methods to choose from:
>>
>>   - MetacelloToolBox class>>createBaseline:for:from:description:
>>       Create a new baseline version based on the specification in an
>>       existing baseline
>>   - MetacelloToolBox class>>createBaseline:for:repository:requiredProjects:packages:dependencies:groups:
>>       Create a new baseline version based on the specified project
>>       structure.
>>   - MetacelloToolBox class>>createDevelopment:for:from:description:
>>       Create a new development version based on the specifications in
>>       an existing development version. Modify the #development
>>       symbolic version to reference the new version.
>>   - MetacelloToolBox class>>createDevelopment:for:from:imports:description:
>>       Create a new development version based on the specifications in
>>       an existing version, but override the imports for the new
>>       version. Modify the #development symbolic version to reference
>>       the new version.
>>   - MetacelloToolBox class>>createDevelopment:for:importFromBaseline:description:
>>       Create a new development version based on the specifications in
>>       an existing baseline version. Modify the #development symbolic
>>       version to reference the new version.
>>   - MetacelloToolBox class>>createVersion:for:from:description:
>>       Create a new version based on the specifications in the given
>>       version.
>> If the new version string contains 'baseline', then create a
>>            new baseline version.
>> If the given version is a baseline, then create a new version
>>            based on the given baseline.
>> If the given version is a non-baseline version, then create a
>>            new version based on the given version.
>>
>> I also suggest that you look at the class-side 'development support' methods in MetacelloConfigTemplate ... The idea is that a set of standard 'development support' methods are provided which would be customized for a particular project...
>>
>> So far I have gone through a release cycle for Grease/Seaside30 to fine tune the 'development support' methods/concept ... Right now I am going through a development/release cycle for GLASS and am continuing to tweak the API and 'development support' idea.
>>
>> So I will appreciate feedback as you get familiar with the api...
>>
>> Dale
>> On 12/06/2010 06:40 AM, Alexandre Bergel wrote:
>>> hi!
>>>
>>> I would like to create the version '4.2' of Moose.
>>> For this, I updated Metacello:
>>> ConfigurationOfMetacello project updateProject.
>>> (ConfigurationOfMetacello project version: '1.0-beta.28') load.
>>>
>>> Did a:
>>> toolkit := (MetacelloToolKit configurationNamed: #ConfigurationOfMoose).
>>>
>>> Apparently, the expression "toolkit createVersion: '4.2'" returns a MetacelloMCVersion. It does not create a method version42: or something?
>>>
>>> I also tried "toolkit validateVersion: '4.2'.", but it triggers an error.
>>>
>>> Cheers,
>>> Alexandre
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: MetacelloToolKit

Alexandre Bergel-5
In reply to this post by Dale Henrichs
Oh! I looked for the implementation provided in http://www.squeaksource.com/metacello, which does not have such class methods. The version from seaside.gemstone.com gives me the class methods.

I am trying...

Cheers,
Alexandre

On 6 Dec 2010, at 14:19, Dale Henrichs wrote:

> Alexandre,
>
> Take a look on the class-side to see how scripts are written to use the toolbox instance-side methods.
>
> If you look at the HelpBrowser under Metacello>API Documentation>Metacello-ToolBox>MetacelloToolBox>Class side you will see the methods that are intended for public consumption and method comments that should help you decide which methods you want to use
>
> For creating baseline and version methods there are 6 methods to choose from:
>
>  - MetacelloToolBox class>>createBaseline:for:from:description:
>      Create a new baseline version based on the specification in an
>      existing baseline
>  - MetacelloToolBox class>>createBaseline:for:repository:requiredProjects:packages:dependencies:groups:
>      Create a new baseline version based on the specified project
>      structure.
>  - MetacelloToolBox class>>createDevelopment:for:from:description:
>      Create a new development version based on the specifications in
>      an existing development version. Modify the #development
>      symbolic version to reference the new version.
>  - MetacelloToolBox class>>createDevelopment:for:from:imports:description:
>      Create a new development version based on the specifications in
>      an existing version, but override the imports for the new
>      version. Modify the #development symbolic version to reference
>      the new version.
>  - MetacelloToolBox class>>createDevelopment:for:importFromBaseline:description:
>      Create a new development version based on the specifications in
>      an existing baseline version. Modify the #development symbolic
>      version to reference the new version.
>  - MetacelloToolBox class>>createVersion:for:from:description:
>      Create a new version based on the specifications in the given
>      version.
> If the new version string contains 'baseline', then create a
>           new baseline version.
> If the given version is a baseline, then create a new version
>           based on the given baseline.
> If the given version is a non-baseline version, then create a
>           new version based on the given version.
>
> I also suggest that you look at the class-side 'development support' methods in MetacelloConfigTemplate ... The idea is that a set of standard 'development support' methods are provided which would be customized for a particular project...
>
> So far I have gone through a release cycle for Grease/Seaside30 to fine tune the 'development support' methods/concept ... Right now I am going through a development/release cycle for GLASS and am continuing to tweak the API and 'development support' idea.
>
> So I will appreciate feedback as you get familiar with the api...
>
> Dale
> On 12/06/2010 06:40 AM, Alexandre Bergel wrote:
>> hi!
>>
>> I would like to create the version '4.2' of Moose.
>> For this, I updated Metacello:
>> ConfigurationOfMetacello project updateProject.
>> (ConfigurationOfMetacello project version: '1.0-beta.28') load.
>>
>> Did a:
>> toolkit := (MetacelloToolKit configurationNamed: #ConfigurationOfMoose).
>>
>> Apparently, the expression "toolkit createVersion: '4.2'" returns a MetacelloMCVersion. It does not create a method version42: or something?
>>
>> I also tried "toolkit validateVersion: '4.2'.", but it triggers an error.
>>
>> Cheers,
>> Alexandre
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.





Reply | Threaded
Open this post in threaded view
|

Re: MetacelloToolKit

Dale Henrichs
On 12/06/2010 11:15 AM, Alexandre Bergel wrote:
> Oh! I looked for the implementation provided in http://www.squeaksource.com/metacello, which does not have such class methods. The version from seaside.gemstone.com gives me the class methods.
>
> I am trying...

I've just checked in another set of changes as I'm still refining the
implementation, so I appreciate your patience ...

Dale
Reply | Threaded
Open this post in threaded view
|

Re: MetacelloToolKit

Alexandre Bergel-5
Generating the version resulted in an error, but this is because some version were missing in the dependent configuration.

I am now trying the version of moose that I generated... Will ping you soon

Cheers,
Alexandre


On 6 Dec 2010, at 16:21, Dale Henrichs wrote:

> On 12/06/2010 11:15 AM, Alexandre Bergel wrote:
>> Oh! I looked for the implementation provided in http://www.squeaksource.com/metacello, which does not have such class methods. The version from seaside.gemstone.com gives me the class methods.
>>
>> I am trying...
>
> I've just checked in another set of changes as I'm still refining the implementation, so I appreciate your patience ...
>
> Dale

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.





Reply | Threaded
Open this post in threaded view
|

Re: MetacelloToolKit

Alexandre Bergel-5
In reply to this post by Dale Henrichs
Hi Dale

I generated the Version 4.2 of Moose. When we load Moose from the baseline 4.2, then it loads perfectly. When I load Moose from Version 4.2 ((ConfigurationOfMoose project version: '4.2') load), then I get a dependency issue.

Humm... Any idea on how to track this down?

Cheers,
Alexandre


On 6 Dec 2010, at 16:21, Dale Henrichs wrote:

> On 12/06/2010 11:15 AM, Alexandre Bergel wrote:
>> Oh! I looked for the implementation provided in http://www.squeaksource.com/metacello, which does not have such class methods. The version from seaside.gemstone.com gives me the class methods.
>>
>> I am trying...
>
> I've just checked in another set of changes as I'm still refining the implementation, so I appreciate your patience ...
>
> Dale

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.