Usman,

It is likely that Pharo3.0 is not using the latest version of Metacello. You should be able to upgrade to the latest versions following the install instructions for Pharo3.0[1].

Dale

[1] https://github.com/dalehenrich/metacello-work#pharo30

On 1/2/15 6:23 AM, Usman Bhatti wrote:
Dale,

Thanks for your detailed explanations.

Metacello class in my image does not seem to define the messages described in the documentation for handling downgrading and upgrading conflicts:
https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUserGuide.md#downgrade

I am using Pharo 3.0 with Moose.

Inline image 1

Did I miss something?

regards,
Usman

On Fri, Dec 19, 2014 at 7:00 PM, Dale Henrichs <dale.henri...@gemtalksystems.com <mailto:dale.henri...@gemtalksystems.com>> wrote:

    Usman,

    With classic Metacello (using the `(ConfigurationOfxxx project
    version: 'xxx') load` pattern) you can only downgrade via an
    explicit load of a particular version of the project. When loading
    projects indirectly via a project reference from another project
    Metacello is biased towards upgrade.

    With the Metacello Scripting API[1], you may include an
    #onDowngradeUseIncoming: clause to selectively permit downgrades:

      Metacello new
        configuration: 'DummyParser';
        version: '1.0';
        repository: '???';
        onDowngradeUseIncoming: #('PetitParser');
        load.

    For additional downgrade options see[2].

    Since you are interested in using a specific version of a project
    you may also be interested in locking the project[3][4]. With a
    `lock` Metacello will not upgrade or downgrade the project but
    always `honor` the lock unless an #onLock: clause is used ...

    Note that for `locking` to work, you must use the Metacello
    Scripting API to do all of your project loads ...

    Dale

    [1]
    
https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUserGuide.md#metacello-user-guide
    [2]
    
https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUserGuide.md#downgrade
    [3]
    
https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUserGuide.md#locking
    [4]
    
https://github.com/dalehenrich/metacello-work/blob/master/docs/LockCommandReference.md#lock-command-reference



    On 12/19/2014 07:44 AM, Usman Bhatti wrote:
    Hi all,

    I am trying to load a specific version of PetitParser in a Moose
    image. A Moose image comes with the latest development version of
    PetitParser. So, I am trying to downgrade to an older version.
    So, when I load the version manually, older versions of the
    packages are loaded:
    (ConfigurationOfPetitParser project version: '1.51') load

    But when I try to load the same version within my ConfigOf the
    expected packages are not loaded and list of the PetitParser
    packages loaded remains unchanged. Here is how my baseline looks
    like:

    ConfigurationOfDummyParser>>baseline01: spec
    <version: '0.1-baseline'>

    spec for: #'common' do: [
    spec blessing: #'baseline'.
    spec project: 'PetitParser' with: [
    spec
    className: #ConfigurationOfPetitParser;
    versionString: '1.51';
    repository: 'http://smalltalkhub.com/mc/Moose/PetitParser/main/'
    ]. ].

    I also tried creating a version but it didn't help.

    ConfigurationOfDummyParser>>version10: spec
    <version: '1.0' imports: #('0.1-baseline' )>

    spec for: #'common' do: [
    spec blessing: #'stable'.
    spec description: 'version 1.0'.
    spec author: 'usmanbhatti'.
    spec timestamp: '12/19/2014 16:35'.
    spec project: 'PetitParser' with: '1.51'. ].

    I also had a look at the package the configuration tries to load
    and the list shows correct packages to be loaded (see screenshot).

    Does anyone have an idea what may be problematic in my code or
    that of Metacello? I am attaching the code of my ConfigOf for a
    Moose image.

    Thanks in advance.

    UsmanInline image 1





Reply via email to