Hi, In the world of dependency management we often need to speak about modules involved in a dependency relationship. If A depends on B, we sometimes need to talk about A not as A, but as "the module depending on B", or more generally "the module having a dependency on another module". Same for B, we sometimes need to refer to it as "the module on which A depends" or "the module on which another module depends. As being a non native English speaker, I often wonder if there are words to talk about these idioms clearly and concisely. According to what I found recently over the web, some are talking about: A: depender, or dependent B: dependee, or dependency
I think it would be fine if we could agree on some words, and reference them in the documentation (on the terminology page for instance), and use them when necessary. For instance the dependency documentation [1] talks about master configuration, using depender or dependent (or whatever we agree on) would probably make sense. This lead me to other questions about conciseness when speaking about modules and dependencies. Having a good and uniform text representation of concepts involved in Ivy would be helpful when discussing them in the mailing lists and documentation (or in console output). We often use '->' (dash greater than) as a text representation for a dependency; and it's already used for configuration dependencies (aka configuration mapping). Maybe we could agree on that, and maybe also on text representation of: 1) a module without revision 2) a module with revision 3) a module with (some) configurations 4) a module with revision and (some) configurations 5) a module's artifact 6) a module's artifact with revision Maybe taking an example will make things easier to understand: Let's talk about Ant: org=org.apache.ant name=ant rev=1.7 (some) configurations=master,compile,runtime artifact= name=ant type=source (I take an example where type and ext are different) ext=jar ATM in Ivy (according to #toString() on org.apache.ivy.core.module.idclasses): #1 [ org.apache.ant | ant ] #2 [ org.apache.ant | ant | 1.7 ] #3 ? #4 ? #5 [ org.apache.ant | ant ] ant.source #6 [ org.apache.ant | ant | 1.7 :: ant . jar ( source ) ] #6 used to be much more confusing in 1.4 (something like [ org.apache.ant | ant ]/ant.jar if I remember well), this is already an improvement. #5 is very bad. And overall the representations are not very concise. So, could we discuss about options and see if we can agree on something clear and concise enough to be used both in Ivy itself and in the documentation and mailing list? I don't have time right now to cast some ideas, but go ahead! Xavier [1] http://ant.apache.org/ivy/history/trunk/ivyfile/dependency.html -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://ant.apache.org/ivy/ http://www.xoocode.org/
