catkin / xylem

A tool for resolving dependencies in a platform agnostic way.
Apache License 2.0
1 stars 1 forks source link

Resolution rules for derivative OSs #12

Open NikolausDemmel opened 10 years ago

NikolausDemmel commented 10 years ago

Here is a proposal for how to realize this: http://xylem.readthedocs.org/en/latest/design.html#derivative-operating-systems

This considers the discussed tuples of name and version even for derivate OSs.

Feel free to comment / discuss in this issue.

NikolausDemmel commented 10 years ago

cc @wjwwood @tfoote @dirk-thomas @esteve

tfoote commented 10 years ago

Adding this support is reasonable. I'm worried we are going to need to make sure to have some good debugging/introspection tools to tell the user what's going on. And when maintaining the rules this makes it possible to write redundant data which is not detectable without a full parse including loading the OS detection modules with their derivative tuples.

wjwwood commented 10 years ago

I agree, @NikolausDemmel try to keep in mind good places to insert messages for "resolution tracing" where we can some how see the process by which rules are selected with a debugging option.

NikolausDemmel commented 10 years ago

Agreed. For resolution with debug enabled (-d flag) the we can output info at each point where decisions such as overwritten rules (different rules files), neglected installers (installer priority) or chosen OS name (derivative OSs) are made.

As for the rules files, we can extend the automatic tests to rosdistro (or a corresponding ros-independent default-sources repo) to loading the rules and resolving (without derivate OS logic) all keys for all (standard) os plugins. If the resolution matches the one for the 'parent' OS, the definition is redundant.