Depending on #bleedingEdge projects ?

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

Depending on #bleedingEdge projects ?

Damien Pollet
Hi, I'm confused with project dependencies in Metacello.

In ConfigurationOfCoral I currently have this as part of my baseline:

                spec project: 'PetitParser' with: [
                        spec repository: 'http://source.lukas-renggli.ch/petit';
                                className: 'ConfigurationOfPetitParser';
                                versionString: #bleedingEdge;
                                loads: #('Core' 'PetitTests' 'PetitSmalltalk') ].

Then I do "ConfigurationOfCoral project bleedingEdge load". I expect
that to load the latest of everything in Coral, and also the latest
commits of the three mentioned packages from PetitParser.
Instead, what's loaded from PetitParser are the versions specified in
ConfigurationOfPetitParser>>#version14:

Specifically, I get PetitTests-lr.34 rather than my more recent
PetitTests-DamienPollet.35, so I get red tests on Jenkins.

--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet
Reply | Threaded
Open this post in threaded view
|

Re: Depending on #bleedingEdge projects ?

Dale Henrichs
Damien,

It looks to me as if the versions in ConfigurationOfPetitParser>>#version14: _specify_ the latest packages in the repository, so what is specified in version 1.4 is the same as #bleedingEdge and that shouldn't be a problem (I'm looking at PetitParser (DamienPollet.23)).

With that said version 1.4 specifies PetitTests-DamienPollet.35 and that's also the latest version of the package in the repository so if PetitTests-lr.34 is being loaded, something is not working correctly ...

I'd like to see the Transcript output for the load ... that can give clues as to what is going on.

I've not spent time playing with Pharo1.4 so I can't comment on whether the behavior you are seeing is specific to Pharo1.4 or not ...

It would also help for me to look at the ConfigurationOfCoral and I'm not sure where to find that configuration.

Dale

----- Original Message -----
| From: "Damien Pollet" <[hidden email]>
| To: [hidden email]
| Sent: Thursday, August 11, 2011 11:12:03 AM
| Subject: [Metacello] Depending on #bleedingEdge projects ?
|
| Hi, I'm confused with project dependencies in Metacello.
|
| In ConfigurationOfCoral I currently have this as part of my baseline:
|
| spec project: 'PetitParser' with: [
| spec repository: 'http://source.lukas-renggli.ch/petit';
| className: 'ConfigurationOfPetitParser';
| versionString: #bleedingEdge;
| loads: #('Core' 'PetitTests' 'PetitSmalltalk') ].
|
| Then I do "ConfigurationOfCoral project bleedingEdge load". I expect
| that to load the latest of everything in Coral, and also the latest
| commits of the three mentioned packages from PetitParser.
| Instead, what's loaded from PetitParser are the versions specified in
| ConfigurationOfPetitParser>>#version14:
|
| Specifically, I get PetitTests-lr.34 rather than my more recent
| PetitTests-DamienPollet.35, so I get red tests on Jenkins.
|
| --
| Damien Pollet
| type less, do more [ | ] http://people.untyped.org/damien.pollet
|
Reply | Threaded
Open this post in threaded view
|

Re: Depending on #bleedingEdge projects ?

Damien Pollet
On 11 August 2011 22:44, Dale Henrichs <[hidden email]> wrote:
> It looks to me as if the versions in ConfigurationOfPetitParser>>#version14: _specify_ the latest packages in the repository, so what is specified in version 1.4 is the same as #bleedingEdge and that shouldn't be a problem (I'm looking at PetitParser (DamienPollet.23)).

Yes, I committed that to fix my build.

> With that said version 1.4 specifies PetitTests-DamienPollet.35 and that's also the latest version of the package in the repository so if PetitTests-lr.34 is being loaded, something is not working correctly ...

Same, I edited it to specify .35 since my previous mail. I tested by
editing that line alternatively with lr.34 and DamienPollet.35,
unloading PetitTests, and running the Metacello load. What gets loaded
is what is specified in the version, not the latest package available.

> I'd like to see the Transcript output for the load ... that can give clues as to what is going on.

I will get that later tonight.

> I've not spent time playing with Pharo1.4 so I can't comment on whether the behavior you are seeing is specific to Pharo1.4 or not ...

I don't think so. I've been switching between 1.3 and 1.4.

> It would also help for me to look at the ConfigurationOfCoral and I'm not sure where to find that configuration.

Gofer new squeaksource: 'Coral'; package: 'ConfigurationOfCoral'; load.

--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet
Reply | Threaded
Open this post in threaded view
|

Re: Depending on #bleedingEdge projects ?

Dale Henrichs
Damien,

What version of Metacello are you using?

  ConfigurationOfMetacello project currentVersion

Dale

----- Original Message -----
| From: "Damien Pollet" <[hidden email]>
| To: [hidden email]
| Sent: Thursday, August 11, 2011 1:54:40 PM
| Subject: Re: [Metacello] Depending on #bleedingEdge projects ?
|
| On 11 August 2011 22:44, Dale Henrichs <[hidden email]> wrote:
| > It looks to me as if the versions in
| > ConfigurationOfPetitParser>>#version14: _specify_ the latest
| > packages in the repository, so what is specified in version 1.4 is
| > the same as #bleedingEdge and that shouldn't be a problem (I'm
| > looking at PetitParser (DamienPollet.23)).
|
| Yes, I committed that to fix my build.
|
| > With that said version 1.4 specifies PetitTests-DamienPollet.35 and
| > that's also the latest version of the package in the repository so
| > if PetitTests-lr.34 is being loaded, something is not working
| > correctly ...
|
| Same, I edited it to specify .35 since my previous mail. I tested by
| editing that line alternatively with lr.34 and DamienPollet.35,
| unloading PetitTests, and running the Metacello load. What gets
| loaded
| is what is specified in the version, not the latest package
| available.
|
| > I'd like to see the Transcript output for the load ... that can
| > give clues as to what is going on.
|
| I will get that later tonight.
|
| > I've not spent time playing with Pharo1.4 so I can't comment on
| > whether the behavior you are seeing is specific to Pharo1.4 or not
| > ...
|
| I don't think so. I've been switching between 1.3 and 1.4.
|
| > It would also help for me to look at the ConfigurationOfCoral and
| > I'm not sure where to find that configuration.
|
| Gofer new squeaksource: 'Coral'; package: 'ConfigurationOfCoral';
| load.
|
| --
| Damien Pollet
| type less, do more [ | ] http://people.untyped.org/damien.pollet
|
Reply | Threaded
Open this post in threaded view
|

Re: Depending on #bleedingEdge projects ?

Dale Henrichs
In reply to this post by Damien Pollet
Damien,

I found the issue.

If you evaluate the following:

  ConfigurationOfCoral project bleedingEdge versionString

you get back '0.4', not '0.4-baseline' as you (and I) anticipated.

If you look at '0.4' then you see that PetitParser '1.4' is called for ... Metacello is doing what you asked it to do ...

You need to add the following line to all of your version*: methods:

  spec blessing: #development.

without that line all of the versions you have specified look like #baseline versions and #bleedingEdge is defined as the 'latest #baseline version' which in this case is '0.4'.

This is an easy mistake to make and I blame this on the lack of tool support for creating configurations.


----- Original Message -----
| From: "Damien Pollet" <[hidden email]>
| To: [hidden email]
| Sent: Thursday, August 11, 2011 1:54:40 PM
| Subject: Re: [Metacello] Depending on #bleedingEdge projects ?
|
| On 11 August 2011 22:44, Dale Henrichs <[hidden email]> wrote:
| > It looks to me as if the versions in
| > ConfigurationOfPetitParser>>#version14: _specify_ the latest
| > packages in the repository, so what is specified in version 1.4 is
| > the same as #bleedingEdge and that shouldn't be a problem (I'm
| > looking at PetitParser (DamienPollet.23)).
|
| Yes, I committed that to fix my build.
|
| > With that said version 1.4 specifies PetitTests-DamienPollet.35 and
| > that's also the latest version of the package in the repository so
| > if PetitTests-lr.34 is being loaded, something is not working
| > correctly ...
|
| Same, I edited it to specify .35 since my previous mail. I tested by
| editing that line alternatively with lr.34 and DamienPollet.35,
| unloading PetitTests, and running the Metacello load. What gets
| loaded
| is what is specified in the version, not the latest package
| available.
|
| > I'd like to see the Transcript output for the load ... that can
| > give clues as to what is going on.
|
| I will get that later tonight.
|
| > I've not spent time playing with Pharo1.4 so I can't comment on
| > whether the behavior you are seeing is specific to Pharo1.4 or not
| > ...
|
| I don't think so. I've been switching between 1.3 and 1.4.
|
| > It would also help for me to look at the ConfigurationOfCoral and
| > I'm not sure where to find that configuration.
|
| Gofer new squeaksource: 'Coral'; package: 'ConfigurationOfCoral';
| load.
|
| --
| Damien Pollet
| type less, do more [ | ] http://people.untyped.org/damien.pollet
|
Reply | Threaded
Open this post in threaded view
|

Re: Depending on #bleedingEdge projects ?

Damien Pollet
On 11 August 2011 23:24, Dale Henrichs <[hidden email]> wrote:
> You need to add the following line to all of your version*: methods:
>
>  spec blessing: #development.
>
> without that line all of the versions you have specified look like #baseline versions and #bleedingEdge is defined as the 'latest #baseline version' which in this case is '0.4'.
>
> This is an easy mistake to make and I blame this on the lack of tool support for creating configurations.

Oh I see, many thanks :)

I've started going through the Metacello chapter and the toolbox and
friends look good. They should help a lot with following proper
conventions.

--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet
Reply | Threaded
Open this post in threaded view
|

Re: Depending on #bleedingEdge projects ?

stephane ducasse-2
damien can you add a small description of your problem solution in the chapter.

Stef


On Aug 11, 2011, at 11:54 PM, Damien Pollet wrote:

> On 11 August 2011 23:24, Dale Henrichs <[hidden email]> wrote:
>> You need to add the following line to all of your version*: methods:
>>
>>  spec blessing: #development.
>>
>> without that line all of the versions you have specified look like #baseline versions and #bleedingEdge is defined as the 'latest #baseline version' which in this case is '0.4'.
>>
>> This is an easy mistake to make and I blame this on the lack of tool support for creating configurations.
>
> Oh I see, many thanks :)
>
> I've started going through the Metacello chapter and the toolbox and
> friends look good. They should help a lot with following proper
> conventions.
>
> --
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet