Dale,
Thank you for the response. So the simple answer to my question is 'yes,
it is supported'. The longer answer is Yes, depending how you want to use
it.
On Wed, Apr 17, 2013 at 2:21 PM, Dale Henrichs <dhenrich(a)vmware.com> wrote:
----- Original Message -----
| From: "Chris Cunningham" <cunningham.cb(a)gmail.com>
| To: "Moose-related development" <moose-dev(a)iam.unibe.ch>
| Sent: Wednesday, April 17, 2013 10:36:38 AM
| Subject: [Moose-dev] #stable and Metacello (was Re:
ConfigurationOfGlamourSeaside)
|
| Interesting. Does Metacello allow us to associate #stable with a version
of a
| platform (for instance, #stable for Moose 4.7)? Because #stable isn't
always
| stable, as you have pointed out.
Chris,
A symbolic version is basically a tag for a given attribute (#common,
#squeak, #pharo2.x, etc.) and version (1.7, 3.5, 4.8, etc.).
#stable is a name that is used by convention to denote the version that
_should_ be used on a particular platform, i.e., we could have used another
name like #'recommended_version' or #'as_stable_as_it_gets'.
In practice, there is no guarantee that the release is actually stable on
the given platform. The platform itself may not be stable ... or in this
particular case it appears that the root cause was an instability in a
dependent project ...
Metacello "allows" developers to declare attribute/version pairs as
#stable in the same way that Squeak allows one to write code with bugs in
it:) and as with Squeak, the bug isn't always in your own code...
When it comes to platform and dependency management one can have tight
coupling and loose coupling ...
In systems that are under constant development tight coupling is
completely impractical, because one must change all of the project
configurations for projects that depend upon your project when you make a
bugfix release. With lots of projects undergoing constant bugfixing this
can quickly turn into a nightmare.
Using symbolic versions gives a bit of wiggle room. When you make a bugfix
release, you can declare that the new version is #stable and any projects
that depend upon your project will automatically pick up your bugfix ...
Unfortunately, the additional wiggle room means that I can make what I
consider a bugfix release and _introduce_ bugs in a project that depends
upon my project ....
The only defense against this is to use tight coupling which may hinder
progress ...
So in the end developers must make a decision as to which direction they
want to go ... and Metacello gives the developers the freedom to make that
choice...
Dale
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev