I will add that to the metacello chapter!

Le 19/12/14 19:00, Dale Henrichs a écrit :
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


Reply via email to