Metacello / metacello

Metacello is a package management system for Smalltalk
MIT License
87 stars 43 forks source link

Loading a baseline from a baseline doesn't seem to work #393

Closed zecke closed 8 years ago

zecke commented 8 years ago

I use smalltalkCI to load my image and my >>#baseline: starts with

baseline: spec
    <baseline>

    spec for: #'common' do: [
        spec project: 'VoyageMongo' with: [
                spec
                    baseline: 'VoyageMongo';
                    repository: 'github://zecke/voyage-stable:1.3.1-patch/mc'].

and this ends in a DNU on Pharo3.0: MetacelloMCProjectSpec>>#baseline:constructor: after using the routines to update Metacello DNU just changes on the object being called.

Now I assume somehow I should not end with a MetacelloMCProjectSpec but with something else? What else should I end up and why is that not the case? Do you have any idea?

dalehenrich commented 8 years ago

@zecke here's how you want to specify a reference to the VoyageMongo baseline:

baseline: spec
    <baseline>

    spec for: #'common' do: [
        spec baseline: 'VoyageMongo' with: [
                spec repository: 'github://zecke/voyage-stable:1.3.1-patch/mc' ] ].
zecke commented 8 years ago

@dalehenrich thanks a lot! I am still lost of the difference between 'project', 'package' and 'baseline'. I assumed the project would still be called "VoyageMongo" and instead of ConfigurationOf+version I would ask for a baseline to be used.

Anyway, thanks again. I will submit some minor doc fixes (hopefully).

dalehenrich commented 8 years ago

In the very beginning #project: was the only way to reference a project and there were a number of things that needed to be specified: class name, file name, etc.

When I implemented baselines, I realized that I could drastically reduce the number of things that needed to be specified by introducing #configuration: and #baseline: as "replacements" for #project: ...

This work was done about 4 years ago and it has taken that long for folks to begin to actively start using github and git, so the outstanding documentation for Metacello has not been updated ... it doesn't help that I am a poor writer :)