metacello icon indicating copy to clipboard operation
metacello copied to clipboard

Metacello Feature: Baseline in a repository, packages in another repository

Open ThierryGoubier opened this issue 9 years ago • 1 comments

In Metacello, one can write a baseline for a project in, say, repository1, and have the packages of that project in repository2, and load that with the following code:

Metacello new
    baseline: 'AProject';
    repository: #('URI of repository1' 'URI of repository2')
    load

That is: #repository: accept an array of URIs.

ThierryGoubier avatar Mar 27 '15 08:03 ThierryGoubier

A more detailed example: the project is MonticelloFileTree, with the packages contained in 'http://smalltalkhub.com/mc/Pharo/Pharo40/main' and the BaselineOfMonticelloFileTree in 'http://smalltalkhub.com/mc/ThierryGoubier/MinimalBaselines40/main'.

Metacello new
    baseline: 'MonticelloFileTree';
    repository: #('http://smalltalkhub.com/mc/Pharo/Pharo40/main' 'http://smalltalkhub.com/mc/ThierryGoubier/MinimalBaselines40/main');
    load

And the baseline (in BaselineOfMonticelloFileTree) has no mention of the additional repository:

baseline: spec
        <baseline>
        spec
                for: #common
                do: [
                        spec blessing: #baseline.
                        spec
                                package: 'MonticelloFileTree-FileSystem-Utilities' with: [ spec requires: 'MonticelloFileTree-Core' ];
                                package: 'MonticelloFileTree-Core';
                                group: 'default' with: #('MonticelloFileTree-FileSystem-Utilities' 'MonticelloFileTree-Core') ]

ThierryGoubier avatar Mar 27 '15 08:03 ThierryGoubier