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.

[image: Inline image 1]

Did I miss something?

regards,
Usman

On Fri, Dec 19, 2014 at 7:00 PM, Dale Henrichs <
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.
>
>  Usman[image: Inline image 1]
>
>
>
>
>

Reply via email to