On 04/17/2017 12:47 PM, Thierry Goubier wrote:
Hi Dale,
Le 17/04/2017 à 21:05, Dale Henrichs a écrit :
I would think that a `project list` view that made the Metacello project
registration visible would help developers keep things straight.
It seems that the issue here is that developers can't tell what projects
are already loaded in the current image and also cannot tell what
version of the project is loaded ... if you are using the `Metacello
new` to load projects, then Metacello knows what projects and what
versions are loaded in the image .... and that informatation really
needs to be exposed to the developers ...
If you have a `project list` then you can do things like automatically
do a get on a configuration/baseline when a project is loaded via the
`project list tool` ... there are additional details that need to be
tracked and managed, but without the a basic `project list` the
developer is responsible for "knowing what to do" and the first step is
to let the developer know exactly which versions of which projects are
loaded in the base image ...
I wrote some code to that effect in the AltBrowser (gives access to
the project, and all packages loaded via that project, via a Metacello
registry tag).
It didn't work as well as I expected, in part due to the interaction
between the Metacello registry and package loading into the image.
Nothing undoable, but due to the total lack of Metacello state in the
default Pharo image (nothing is loaded via Metacello in there) and the
Catalog browser not using Metacello as well, it was a bit too early to
invest into that.
In short, the Metacello registry provides a nice entry point for a
system browser view of loaded projects and versions, but the Pharo
image building process is not yet there.
If someone is interested, one need to look into the GT extensions for
Metacello objects ... those extensions are a nice source of knowledge
about extracting information from the loaded projects.
This is unfortunate ... I'm willing to help anyone who wants to tackle
this problem as well --- I know a thing or two about Metacello myself
and I've had a working `project list` in tODE for 3-4 years now ... oh
well ...
Dale