On 04/10/2015 05:35 AM, Tudor Girba wrote:
Hi,
The Gofer script does not solve the problem of triggering a special
loading selector in the ConfigurationOfXYZ.
Frankly I have been saying for years that things like this should not be
done and that folks should be prepared for the day when a configuration
is no longer a class .... not quite there yet, but I guess this is the
first shot across the bow ...
Sending messages to a configuration should no longer be used ... I will
eventually deprecate that style of loading in favor of the "scripting
api style" ... the new style of loading makes use of a registry that
records the actual version of projects that were loaded. The old style
relied upon a calculation of "currentVersion" and "currentVersion"
besides being excruciatingly slow, was often inaccurate ... there is a
whole class of bugs that are eliminated by the "scripting api" ... there
are also a whole slug of new features that are available when using the
"scripting api".
Configurations are SUPPOSED to be platform neutral, so including
magical, arbitrary Smalltalk expressions as part of the required load
sequence is just right out of bounds from the get go ...
I know that folks have done all kinds of "clever tricks" over the years
with configurations taking advantage of the fact that they are classes
and early on I did make noise whenever I saw someone doing that ... but
I could only warn folks that it was not a good idea and since "boys will
be boys" this practice has continued and my protests fell on deaf ears ...
With all of this said, I am curious as to is so special about these
class-side selectors that they cannot be accomplished through the
existing "scripting api" ... there are already facilities for execution
"arbitrary code" within the configuration framework that does respect
the platform boundaries, so I would imagine that most of the cases can
be converted ...
Sooo if there are problem areas I would be interested in understanding
the use cases ...
Dale