[Pharo-project] [Metacello] Best strategy for ConfigurationOfPharo using #stable

Stéphane Ducasse stephane.ducasse at inria.fr
Fri Apr 29 19:10:27 CEST 2011


dale

>> My rule of thumb for a literal version spec is that you should use the #stable symbolic version if the project is loosely coupled to your project and a specific version otherwise. OmniBrowser tends to be loosely coupled as you are interested in getting any old version of OmniBrowser as long as it functions on the platform.
> 
> The rule of thumb for a baseline version spec is to use #stable for all projects (as long as the #stable version is defined), even "tightly coupled" projects. When the baseline version is loaded, you normally don't want to load the "latest code" or all of the projects that you depend upon.
> 
> The #bleedingEdge symbolic version should be used only when the referenced project is part of your project family.
> 
> When I load the baseline version for Seaside30,

when you say that "load the baseline": do you mean that you will get all the latest versions of the seaside packages?


> I want to load the #bleedingEdge versions of Grease, Kom, and Swazoo, because they are part of the project family. I absolutely don't want to load the latest OmniBrowser code, because who knows what you'd get...
> 
> So for the ConfigurationOfPharo, if you followed my rule of thumb, you would create a baseline version and use the #stable version for all of the projects in the baseline. In the literal version you would use the explicit version, so that you'd have an explicit repeatable specification for a set of projects that were known to work together.

ok you mean that 
	if people want the latest they load the baseline
	else they can just use a literal version and access it via #stable
?

> 
> Developers interested in getting the "latest released version for all projects" in ConfigurationOfPharo would load the baseline version and then get the #stable version of all the projects for their platform ... each of the projects was know to work by itself in an image (that's what the #stable designation means), but the unknown is whether all of the projects work together in image ... When you know that, you create a literal version of ConfigurationOfPharo to commemorate that set of versions....
> 
> Without looking at the list of projects, it might still make sense to use #stable in the literal version, but it would be the exception to the rule ...
> 
> Does this make sense to you?
> 
> Dale
> 
> 




More information about the Pharo-project mailing list