I did not have enough time to follow in details the conversation. I will try again in a couple of days, so in the meantime, please take my reply as a draft :).
I like the distinction between "Project" and "Dependencies". Also, any Project configuration should be seen as a convenience. In these terms, the ConfigurationOfMoose has to become a Project configuration.
Every engine we have, except for Moose Core, has its own configuration, and most of them are pretty much a Project configuration. So, from this point of view, anyone can easily build his own Project using them.
When I mentioned the MooseEngines configuration, I referred to a Project configuration to be included in the ConfigurationOfMoose that we support as a whole. At this moment, this should include the following:
- Roassal2 & co
- MooseAlgos
- PetitParser
- Fame + Metanool
- Glamour
- MooseCore (this does not exist yet)
- XMLReader
The term engine comes from this diagram:
Then, we should have a ConfigurationOfFAMIX that includes FAMIX entities + extensions, importers. I see it as a Dependencies configuration.
Then, we should have ConfigurationOfMooseFinder which includes some basic tools like the MooseFinder and the MetaBrowser. This is a Dependency configuration. On top of that we should also have a ConfigurationOfFAMIXFinder that depends on ConfigurationOfFAMIX and ConfigurationOfMooseFinder and that includes all the visualizations and the ui extensions. This will be a bit hairy to do but I think it would be worth it.
If we move in this direction, the ConfigurationOfMoose will finally become empty of explicit Monticello packages.
Cheers,
Doru