thanks.

On Tue, Jun 19, 2018 at 10:59 AM, Guillermo Polito <
guillermopol...@gmail.com> wrote:

> Hi,
>
> On Tue, Jun 19, 2018 at 3:16 PM Vitor Medina Cruz <vitormc...@gmail.com>
> wrote:
>
>> Hello,
>>
>> How do I do project dependency management with Iceberg?
>>
>
> This is still Metacello.
>
>
>> I tried sometime ago but I was unable to understand how it work together
>> with Metacello, is there some tutorial available?
>>
>
> Well, there is a chapter in the Deep Into Pharo book
>
> http://files.pharo.org/books-pdfs/deep-into-pharo/2013-
> DeepIntoPharo-EN.pdf
>
> But that covers ConfigurationOf only. The technical part on how you define
> a dependency does not change too much between Configurations and Baselines.
> The main difference is that
> - a ConfigurationOf will store inside it several baselines (in baseline
> methods) and several versions (in version methods)
> - a BaselineOf defines a single baseline in a baseline method. And
> versions are declared in the VCS using whatever you like the most, most
> commonly being tags.
>
> Then, inside a BaselineOf, if you want to define a dependency to a project
> in github for example, you can specify it like this:
>
> spec
> baseline: 'Tonel'
> with: [ spec repository: 'github://pharo-vcs/tonel:v1.0.9/src' ]
>
> Where Tonel is the name of the project and the strangish url is then used
> to construct a github url. So it's something like
>
> [provider]://[owner-name]/[project-name][:version][/subdirectory]
>
> - provider can be (so far) any of github, bitbucket, gitorious
> - If version is ommited then it will just download the main branch
> (usually master)
> - Otherwise you can specify any commitish (commit hash, tag name, branch
> name)
> - If your source code is stored in a subdirectory of the repository, you
> can specify it after the version.
>
> Then, to load project you can either
> - use the Metacello plugin from Iceberg (right click -> Metacello ->
> Install baseline)
> - evaluate a Metacello expression in the playground
>
> Metacello new
>     baseline: 'Tonel';
>     repository: 'github://pharo-vcs/tonel:v1.0.9/src' ;
>     load
>
> Of course you can then just look for senders of #baseline:with: to see
> other examples in the image.
>
> Cheers,
> Guille
>

Reply via email to