You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by mjparme <mj...@west.com> on 2010/05/04 18:54:10 UTC

conf mapping documentation contradicts itself

The documentation regarding the syntax of the -> operator for conf mapping is
unnecessarily confusing and in fact contradicts itself. IMHO, it needs to
better define what it means by the master configuration and what is the
dependency configuration.

Documentation is located here and the relevent section is Configuration
Mapping:

http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency.html

First sentence reads: "This mapping indicates which configurations of the
dependency are required in which configurations of the current module, also
called master configurations." 

This suggests that the master configuration is the "configuration of the
current module" which I assume is the ivy module file I am currently looking
at.

However, later it says: "A good way to remember which side is for the master
configuration (i.e. the configuration of the module defining the dependency)
and which side is for the dependency configuration is to read the '->' as
'depends on'."

Now this suggests that the master configuration is the configuration of the
module of the artifact I am declaring as a dependency.

This totally contradicts the first sentence of the section and this
documentation is totally ambiguous.

Could someone clarify this for me? Is it:

configuration of module file I am currently looking at -> (depends on)
configuration from artificat's module file

or

configuration from artifact's module file -> (depends on) configuration of
module file I am currently looking at

The first option makes more sense to me, so that is what I think it is. 

-- 
View this message in context: http://old.nabble.com/conf-mapping-documentation-contradicts-itself-tp28450261p28450261.html
Sent from the ivy-user mailing list archive at Nabble.com.


Re: conf mapping documentation contradicts itself

Posted by mjparme <mj...@west.com>.
After re-reading, looking at examples, and reading the second to last post on
this thread
http://stackoverflow.com/questions/652555/can-someone-explain-the-ivy-xml-dependencys-conf-attribute
I am am mostly convinced that it is:

my module's configuration -> other modules configuration


mjparme wrote:
> 
> The documentation regarding the syntax of the -> operator for conf mapping
> is unnecessarily confusing and in fact contradicts itself. IMHO, it needs
> to better define what it means by the master configuration and what is the
> dependency configuration.
> 
> Documentation is located here and the relevent section is Configuration
> Mapping:
> 
> http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency.html
> 
> First sentence reads: "This mapping indicates which configurations of the
> dependency are required in which configurations of the current module,
> also called master configurations." 
> 
> This suggests that the master configuration is the "configuration of the
> current module" which I assume is the ivy module file I am currently
> looking at.
> 
> However, later it says: "A good way to remember which side is for the
> master configuration (i.e. the configuration of the module defining the
> dependency) and which side is for the dependency configuration is to read
> the '->' as 'depends on'."
> 
> Now this suggests that the master configuration is the configuration of
> the module of the artifact I am declaring as a dependency.
> 
> This totally contradicts the first sentence of the section and this
> documentation is totally ambiguous.
> 
> Could someone clarify this for me? Is it:
> 
> configuration of module file I am currently looking at -> (depends on)
> configuration from artificat's module file
> 
> or
> 
> configuration from artifact's module file -> (depends on) configuration of
> module file I am currently looking at
> 
> The first option makes more sense to me, so that is what I think it is. 
> 
> 

-- 
View this message in context: http://old.nabble.com/conf-mapping-documentation-contradicts-itself-tp28450261p28450450.html
Sent from the ivy-user mailing list archive at Nabble.com.


Re: conf mapping documentation contradicts itself

Posted by Alan Chaney <al...@writingshow.com>.
Niklas Matthies wrote:
> The problem is that the word "dependency" is often used to mean
> "dependent module", i.e. the target of the dependency. For example
> just yesterday there was "build a dependency from source control",
> which of course was about building a dependent module, not building
> a dependency relationship.
>
> I always found this use of "dependency" to be confusing, although
> I've somewhat gotten used to it by now.
>
>   
I totally agree. In fact, in the end, I gave up trying to understand 
exactly what was meant in the docs, but simply copied things that worked!

I think that the documentation would probably be greatly improved by 
some examples - I'd offer to do it, but I'd need some help!

Regards

Alan



> -- Niklas Matthies
>
> On Tue 2010-05-04 at 16:46h, Archie Cobbs wrote on ivy-user:
>   
>> Cool... if someone read it wrong then by definition it's confusing and can
>> be improved.
>>
>> -Archie
>>
>> On Tue, May 4, 2010 at 4:33 PM, mjparme <mj...@west.com> wrote:
>>
>>     
>>> Yeah, I think I am just reading it oddly. When you say "The ivy file
>>> defining
>>> the dependency" you are meaning the ivy file where  the relationship to the
>>> dependency is defined whereas I was reading it as the ivy file defining the
>>> artifact of the dependency (i.e. the other ivy.xml file).
>>>
>>> I think that is where my disconnect was.
>>>
>>> I am probably just being a dumb ass, it happens on occasion.
>>>
>>>
>>>
>>> Archie Cobbs-3 wrote:
>>>       
>>>> On Tue, May 4, 2010 at 4:01 PM, mjparme <mj...@west.com> wrote:
>>>>
>>>>         
>>>>> The reason the current verbiage of "master configuration (i.e. the
>>>>> configuration of the module defining the dependency)" is confusing
>>>>> because
>>>>> it reads like it is talking about the ivy file that defines the
>>>>> dependency.
>>>>> Whereas the first sentence defines master configuration as the ivy file
>>>>> of
>>>>> the current module.
>>>>>
>>>>>           
>>>> Seems like there's still confusion about what the docs intended to
>>>>         
>>> mean...
>>>       
>>>> The ivy file defining the dependency *is* the ivy file of the current
>>>> module. Here the word "dependency" is referring to a relationship between
>>>> two modules. So there are three things being defined here: two modules
>>>>         
>>> and
>>>       
>>>> a
>>>> dependency.
>>>>
>>>> The dependency is defined inside the "master" module's ivy.xml file. The
>>>> module being depended on is of course defined by it's ivy.xml file (i.e.,
>>>> the other ivy.xml file). So modules "know" what they depend on, but
>>>> modules
>>>> don't "know" who depends on them.
>>>>
>>>> -Archie
>>>>
>>>> --
>>>> Archie L. Cobbs
>>>>
>>>>
>>>>         
>>> --
>>> View this message in context:
>>> http://old.nabble.com/conf-mapping-documentation-contradicts-itself-tp28450261p28453344.html
>>> Sent from the ivy-user mailing list archive at Nabble.com.
>>>
>>>
>>>       
>> -- 
>> Archie L. Cobbs
>>     
>
>
>
> !DSPAM:4be0a343282454221013052!
>
>   


Re: conf mapping documentation contradicts itself

Posted by Niklas Matthies <ml...@nmhq.net>.
The problem is that the word "dependency" is often used to mean
"dependent module", i.e. the target of the dependency. For example
just yesterday there was "build a dependency from source control",
which of course was about building a dependent module, not building
a dependency relationship.

I always found this use of "dependency" to be confusing, although
I've somewhat gotten used to it by now.

-- Niklas Matthies

On Tue 2010-05-04 at 16:46h, Archie Cobbs wrote on ivy-user:
> Cool... if someone read it wrong then by definition it's confusing and can
> be improved.
> 
> -Archie
> 
> On Tue, May 4, 2010 at 4:33 PM, mjparme <mj...@west.com> wrote:
> 
> >
> > Yeah, I think I am just reading it oddly. When you say "The ivy file
> > defining
> > the dependency" you are meaning the ivy file where  the relationship to the
> > dependency is defined whereas I was reading it as the ivy file defining the
> > artifact of the dependency (i.e. the other ivy.xml file).
> >
> > I think that is where my disconnect was.
> >
> > I am probably just being a dumb ass, it happens on occasion.
> >
> >
> >
> > Archie Cobbs-3 wrote:
> > >
> > > On Tue, May 4, 2010 at 4:01 PM, mjparme <mj...@west.com> wrote:
> > >
> > >> The reason the current verbiage of "master configuration (i.e. the
> > >> configuration of the module defining the dependency)" is confusing
> > >> because
> > >> it reads like it is talking about the ivy file that defines the
> > >> dependency.
> > >> Whereas the first sentence defines master configuration as the ivy file
> > >> of
> > >> the current module.
> > >>
> > >
> > > Seems like there's still confusion about what the docs intended to
> > mean...
> > >
> > > The ivy file defining the dependency *is* the ivy file of the current
> > > module. Here the word "dependency" is referring to a relationship between
> > > two modules. So there are three things being defined here: two modules
> > and
> > > a
> > > dependency.
> > >
> > > The dependency is defined inside the "master" module's ivy.xml file. The
> > > module being depended on is of course defined by it's ivy.xml file (i.e.,
> > > the other ivy.xml file). So modules "know" what they depend on, but
> > > modules
> > > don't "know" who depends on them.
> > >
> > > -Archie
> > >
> > > --
> > > Archie L. Cobbs
> > >
> > >
> >
> > --
> > View this message in context:
> > http://old.nabble.com/conf-mapping-documentation-contradicts-itself-tp28450261p28453344.html
> > Sent from the ivy-user mailing list archive at Nabble.com.
> >
> >
> 
> 
> -- 
> Archie L. Cobbs


Re: conf mapping documentation contradicts itself

Posted by Archie Cobbs <ar...@gmail.com>.
Cool... if someone read it wrong then by definition it's confusing and can
be improved.

-Archie

On Tue, May 4, 2010 at 4:33 PM, mjparme <mj...@west.com> wrote:

>
> Yeah, I think I am just reading it oddly. When you say "The ivy file
> defining
> the dependency" you are meaning the ivy file where  the relationship to the
> dependency is defined whereas I was reading it as the ivy file defining the
> artifact of the dependency (i.e. the other ivy.xml file).
>
> I think that is where my disconnect was.
>
> I am probably just being a dumb ass, it happens on occasion.
>
>
>
> Archie Cobbs-3 wrote:
> >
> > On Tue, May 4, 2010 at 4:01 PM, mjparme <mj...@west.com> wrote:
> >
> >> The reason the current verbiage of "master configuration (i.e. the
> >> configuration of the module defining the dependency)" is confusing
> >> because
> >> it reads like it is talking about the ivy file that defines the
> >> dependency.
> >> Whereas the first sentence defines master configuration as the ivy file
> >> of
> >> the current module.
> >>
> >
> > Seems like there's still confusion about what the docs intended to
> mean...
> >
> > The ivy file defining the dependency *is* the ivy file of the current
> > module. Here the word "dependency" is referring to a relationship between
> > two modules. So there are three things being defined here: two modules
> and
> > a
> > dependency.
> >
> > The dependency is defined inside the "master" module's ivy.xml file. The
> > module being depended on is of course defined by it's ivy.xml file (i.e.,
> > the other ivy.xml file). So modules "know" what they depend on, but
> > modules
> > don't "know" who depends on them.
> >
> > -Archie
> >
> > --
> > Archie L. Cobbs
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/conf-mapping-documentation-contradicts-itself-tp28450261p28453344.html
> Sent from the ivy-user mailing list archive at Nabble.com.
>
>


-- 
Archie L. Cobbs

Re: conf mapping documentation contradicts itself

Posted by mjparme <mj...@west.com>.
Yeah, I think I am just reading it oddly. When you say "The ivy file defining
the dependency" you are meaning the ivy file where  the relationship to the
dependency is defined whereas I was reading it as the ivy file defining the
artifact of the dependency (i.e. the other ivy.xml file).

I think that is where my disconnect was.

I am probably just being a dumb ass, it happens on occasion.



Archie Cobbs-3 wrote:
> 
> On Tue, May 4, 2010 at 4:01 PM, mjparme <mj...@west.com> wrote:
> 
>> The reason the current verbiage of "master configuration (i.e. the
>> configuration of the module defining the dependency)" is confusing
>> because
>> it reads like it is talking about the ivy file that defines the
>> dependency.
>> Whereas the first sentence defines master configuration as the ivy file
>> of
>> the current module.
>>
> 
> Seems like there's still confusion about what the docs intended to mean...
> 
> The ivy file defining the dependency *is* the ivy file of the current
> module. Here the word "dependency" is referring to a relationship between
> two modules. So there are three things being defined here: two modules and
> a
> dependency.
> 
> The dependency is defined inside the "master" module's ivy.xml file. The
> module being depended on is of course defined by it's ivy.xml file (i.e.,
> the other ivy.xml file). So modules "know" what they depend on, but
> modules
> don't "know" who depends on them.
> 
> -Archie
> 
> -- 
> Archie L. Cobbs
> 
> 

-- 
View this message in context: http://old.nabble.com/conf-mapping-documentation-contradicts-itself-tp28450261p28453344.html
Sent from the ivy-user mailing list archive at Nabble.com.


Re: conf mapping documentation contradicts itself

Posted by Archie Cobbs <ar...@gmail.com>.
On Tue, May 4, 2010 at 4:01 PM, mjparme <mj...@west.com> wrote:

> The reason the current verbiage of "master configuration (i.e. the
> configuration of the module defining the dependency)" is confusing because
> it reads like it is talking about the ivy file that defines the dependency.
> Whereas the first sentence defines master configuration as the ivy file of
> the current module.
>

Seems like there's still confusion about what the docs intended to mean...

The ivy file defining the dependency *is* the ivy file of the current
module. Here the word "dependency" is referring to a relationship between
two modules. So there are three things being defined here: two modules and a
dependency.

The dependency is defined inside the "master" module's ivy.xml file. The
module being depended on is of course defined by it's ivy.xml file (i.e.,
the other ivy.xml file). So modules "know" what they depend on, but modules
don't "know" who depends on them.

-Archie

-- 
Archie L. Cobbs

Re: conf mapping documentation contradicts itself

Posted by mjparme <mj...@west.com>.
Ok, after looking at it some more I think what that section needs is just a
subtle change to this sentence:

"A good way to remember which side is for the master configuration (i.e. the
configuration of the module defining the dependency) and which side is for
the dependency configuration is to read the '->' as 'depends on'."

Most of the changes should be to the "i.e." in parenthesis which is what
makes it contradict the first sentence of the section. IMHO, it should read
like this:

"A good way to remember which side is for the master configuration (i.e. the
configurations of the current module) and which side is for the dependency's
configurations is to read the '->' as 'depends on'."


I think "depends on" and "requires" is equally clear.

The reason the current verbiage of "master configuration (i.e. the
configuration of the module defining the dependency)" is confusing because
it reads like it is talking about the ivy file that defines the dependency.
Whereas the first sentence defines master configuration as the ivy file of
the current module.




Archie Cobbs-3 wrote:
> 
> On Tue, May 4, 2010 at 11:54 AM, mjparme <mj...@west.com> wrote:
> 
>>
>> The documentation regarding the syntax of the -> operator for conf
>> mapping
>> is
>> unnecessarily confusing and in fact contradicts itself. IMHO, it needs to
>> better define what it means by the master configuration and what is the
>> dependency configuration.
>>
>> Documentation is located here and the relevent section is Configuration
>> Mapping:
>>
>> http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency.html
>>
>> First sentence reads: "This mapping indicates which configurations of the
>> dependency are required in which configurations of the current module,
>> also
>> called master configurations."
>>
>> This suggests that the master configuration is the "configuration of the
>> current module" which I assume is the ivy module file I am currently
>> looking
>> at.
>>
>> However, later it says: "A good way to remember which side is for the
>> master
>> configuration (i.e. the configuration of the module defining the
>> dependency)
>> and which side is for the dependency configuration is to read the '->' as
>> 'depends on'."
>>
>> Now this suggests that the master configuration is the configuration of
>> the
>> module of the artifact I am declaring as a dependency.
>>
> 
> Not sure how you're reading it that way. It was not confusing to me, but
> so
> what? If it's confusing to you (i.e., anyone) then it needs to be
> clarified.
> Can you explain your thought process?
> 
> Perhaps the "depends on" phrase is problematic. Would "requires" be
> better?
> 
> -Archie
> 
> -- 
> Archie L. Cobbs
> 
> 

-- 
View this message in context: http://old.nabble.com/conf-mapping-documentation-contradicts-itself-tp28450261p28453055.html
Sent from the ivy-user mailing list archive at Nabble.com.


Re: conf mapping documentation contradicts itself

Posted by Archie Cobbs <ar...@gmail.com>.
On Tue, May 4, 2010 at 11:54 AM, mjparme <mj...@west.com> wrote:

>
> The documentation regarding the syntax of the -> operator for conf mapping
> is
> unnecessarily confusing and in fact contradicts itself. IMHO, it needs to
> better define what it means by the master configuration and what is the
> dependency configuration.
>
> Documentation is located here and the relevent section is Configuration
> Mapping:
>
> http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency.html
>
> First sentence reads: "This mapping indicates which configurations of the
> dependency are required in which configurations of the current module, also
> called master configurations."
>
> This suggests that the master configuration is the "configuration of the
> current module" which I assume is the ivy module file I am currently
> looking
> at.
>
> However, later it says: "A good way to remember which side is for the
> master
> configuration (i.e. the configuration of the module defining the
> dependency)
> and which side is for the dependency configuration is to read the '->' as
> 'depends on'."
>
> Now this suggests that the master configuration is the configuration of the
> module of the artifact I am declaring as a dependency.
>

Not sure how you're reading it that way. It was not confusing to me, but so
what? If it's confusing to you (i.e., anyone) then it needs to be clarified.
Can you explain your thought process?

Perhaps the "depends on" phrase is problematic. Would "requires" be better?

-Archie

-- 
Archie L. Cobbs