On Tue, Oct 21, 2014 at 12:04 PM, kilon alios <[email protected]> wrote:

> Thank you Dale, this is more simple than I expected.
>
> From what you linked it looks like by [:comitish] you mean the git branch
> .Which in my case is master so it should be
>
>   Metacello new
>     baseline: 'BaselineOfXXX';
>     repository: 'github://kilon/phEphestos:master/'
>     get;
>     load.
>
> https://github.com/kilon/phEphestos
>

>From looking at your repo on githug, the expression would be:

   Metacello new
      baseline: 'Ephestos';
      repository: 'github://kilon/phEphestos:master'
    get;
    load.

A commitish is a branch, SHA or tag. Note also, that my example was wrong
... the 'BaselineOf' shouldn't  be used in the baseline: argument, just the
base name of the project.

You also need to create a BaselineOfEphestos which specifies package load
order. BaselineOfEphestos would be created as a subclass of BaselineOf and
have a single method:

  baseline: spec
    <baseline>
    spec
      for: #pharo
      do: [
        spec package: 'Ephestos' ].

Then the above expression would load the Epestos package.

If you were to add another package, say EphestosTests, then you'd update
the baseline to declare that EphestosTests requires Ephestos to be loaded
first you'd edit the baseline: method:

baseline: spec
    <baseline>
    spec
      for: #pharo
      do: [
        spec
          package: 'Ephestos';
          package: 'EphestosTests' with: [ spec requires: #( 'Ephestos' ) ]
].

You commit the BaselineOf along with the rest of the packages for your
project ...

For more information see the Metacello chapter in Pharo by Example...

Dale

Reply via email to