+ 100
The reason is that any package* should be self described. Your configuration describes your project. If you use another piece of software, it should also be self-described.
Let's take the following example:

  * for now, it's easy for you to add a direct dependency
    to Roassal2Spec, just as if it was a part of your project ... =>
    no problem
  * ... but it is not. Maybe tomorrow, Alex will need to add a
    dependency to one or more packages for Roassal2Spec => you will
    have problems because you will not get these dependencies. Of
    course, you can still add them to your configuration but you can
    easily see that you will end with a configuration including all
    flatten dependencies, and with a lot of dependencies not directly
    related to your project (transitive dependencies). Flatten
    dependencies is really something that we should avoid, else
    maintenance of dependencies will be a hell.

That's why I'm really in favor of having configurations, even for one single MC package inside the configuration.

* I mean, not a Monticello package but a piece of software that you want to deliver independently. It may be a whole project or part of it. It may also refers to one or many Monticello packages

Reply via email to