[squeak-dev] Re: [Pharo-project] Metacello questions
Mariano Martinez Peck
marianopeck at gmail.com
Sun May 9 21:40:58 UTC 2010
My advice is not to specify versions in a project reference.
If you have a baseline and in such baseline you reference a project, for
example:
"this piece of code is inside a baselind"
project: 'UI Support' with: [
"One or more of the following attributes may
be defined or changed"
spec
"Name of config class (i.e.,
ConfigurationOfXXX)"
className: 'ConfigurationOfUI';
"Version of project to be loaded. if
theversionString is not specified, then the latest version of the project is
used."
versionString: '1.0';
Then, DO NOT PUT versionString: there. So:
"this piece of code is inside a baselind"
project: 'UI Support' with: [
"One or more of the following attributes may
be defined or changed"
spec
"Name of config class (i.e.,
ConfigurationOfXXX)"
className: 'ConfigurationOfUI';
"Version of project to be loaded. if
theversionString is not specified, then the latest version of the project is
used."
file: 'XXX'.
And in a version method that has THAT basline, you write:
spec
project: 'UISupport' with: '1.0'.
In summary, don't put version information in baselines, only in version
methods. That's just my advice.
Cheers
Mariano
On Thu, May 6, 2010 at 10:13 PM, Torsten Bergmann <astares at gmx.de> wrote:
> >Does that mean the documentation is just wrong then?
>
> I would see/interpret it like this: With the baseline you describe a set of
> packages (structure/dependencies) that form your app/project (MyApp). Beside
> the usual loading of a version:
>
> (ConfigurationOfMyApp project version: '1.0') load
>
> it is possible to load also a baseline - this would load all the latest
> Monticello package versions of any package described in this baseline:
>
> (ConfigurationOfMyApp project version: '1.0-baseline') load
>
> Note that in the baseline you dont say anything about the Monticello
> package
> version to use/load.
>
> In a baseline you can also define a dependency on another project (that
> provides a config too, for instance ConfigurationOfMyFoo).
>
> Now you have two options:
>
> a) dont say anything about the version of "ConfigurationOfMyFoo" in the
> baseline
> => this should load the latest version of Foo's Metacello
> configuration then,
> so you get the latest version of "Foo" when loading the baseline
> of MyApp
>
> b) you note/give a default version for "ConfigurationOfMyFoo" in the
> baseline
> => then this specific version of "Foo" is loaded when you load the
> baseline for MyApp.
> I think you can override the version specified in the baseline in
> a #versionXXX of MyApp if required
>
> Loading baselines is usefull if you work in a team. If you work on the
> same baseline you can just load it to be up to date with the latest
> commits of the other team members.
>
> If your dependencies, load order, set of packages/pre-projects change then
> you typically create a new baseline.
>
> But it is more often the case that you just create new versions based on
> a baseline. In a versionXXX you pin/mark the Metacello version of all
> packages/projects version that fit/work together to form this version.
>
> Maybe Dale is able to correct me if I'm wrong.
>
> Thanks
> Torsten
>
>
>
> --
> GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
> Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project at lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20100509/8c23ae71/attachment.htm
More information about the Squeak-dev
mailing list
|