14. Prerequisites should be mutually exclusive

Proposal:

Modules should only be listed once across all prerequisite categories.
E.g. a 'requires' module shouldn't be listed in 'test_requires'; a
'configure_requires' module shouldn't be listed in 'build_requires'.
Instead, the spec should define which combinations of categories should be
available at which stages of the install process.  (Dagolden)

The exception would be 'conflicts', which by its nature should be a
duplicate of a module listed elsewhere in the prerequisite structure.

Comments:

* This would be less work for users and less prone to stupid processing
  errors -- like generating a list of ''all'' requirements and then
  subtracting 'build_requires'  (Dagolden)

* I think this would remove a certain amount of useful flexibility,
  standard light weight "META Object" modules could easily automate the
  production of the merged list. This feels like sacrificing on a
  fundamental point to make life easier when you don't have tools that
  haven't been written yet --Adam K

Reply via email to