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 Xavier Hanin <xa...@gmail.com> on 2007/11/01 09:10:44 UTC

Re: Having a hard time with publications and their configurations

On 10/31/07, Jan Brauer <ja...@coremedia.com> wrote:
>
> I'm trying to figure out how the configurations mechanism works combined
> with the publications feature.
>
> I'm using these configurations in every module i defined.
>
> <configurations defaultconfmapping="compile->default"
> confmappingoverride="false">
>   <conf name="compile" visibility="private"/>
>   <conf name="test" extends="compile" visibility="private"/>
>   <conf name="master"/>
>   <conf name="runtime" extends="compile"/>
>   <conf name="default" extends="master,runtime"/>
> </configurations>
>
> This is my module ivy.xml:
>
> <ivy-module version="1.3">
>   <info organisation="firma" module="firma-webapp"/>
>
>   <configurations>
>     <include file="${basedir}/../tools/etc/ivy/configurations.xml"/>
>   </configurations>
>
>   <publications>
>     <artifact conf="master"/>
>   </publications>
>
>   <dependencies>
>     <!-- original jars -->
>     <dependency org="commons-logging" name="commons-logging" rev="1.0.4"/>
>     <dependency org="javax.activation" name="activation" rev="1.0.2"/>
>     <dependency org="javax.servlet" name="servlet-api" rev="2.3"/>
>     <dependency org="org.springframework" name="spring"
> rev="${version.spring}" conf=""/>
>     <dependency org="tomcat" name="jsp-api" rev="5.0.16"/>
>
>     <!-- Strange constructs -->
>     <dependency org="javadoc" name="javadoc" rev="1.3"/>
>     <!-- firma modules -->
>     <dependency org="firma" name="spring" rev="latest.integration"
> changing="true" transitive="false"
> conf="compile->default;runtime->master"/>
>     <dependency org="firma" name="common" rev="latest.integration"
> changing="true" transitive="false"
> conf="compile->default;runtime->master"/>
>     <dependency org="firma" name="firma-base" rev="latest.integration"
> changing="true" transitive="false"
> conf="compile->default;runtime->master"/>
>     <dependency org="firma" name="firma-client" rev="latest.integration"
> changing="true" transitive="false"
> conf="compile->default;runtime->master"/>
>     <dependency org="firma" name="firma-api" rev="latest.integration"
> changing="true" transitive="false"
> conf="compile->default;runtime->master"/>
>     <dependency org="firma" name="firma-server" rev="latest.integration"
> changing="true" transitive="false"
> conf="compile->default;runtime->master"/>
>   </dependencies>
> </ivy-module>
>
> This is the ivy.xml for the module I'm depending on:
>
> <ivy-module version="1.3">
>   <info organisation="firma" module="firma-base"/>
>   <!--
>   <library vendor="sun" name="javawebstart" includes="*"/>
>   -->
>
>   <configurations>
>     <include file="${basedir}/../tools/etc/ivy/configurations.xml"/>
>   </configurations>
>
>   <publications>
>     <artifact conf="master,default" name="firma-base"/>
>     <artifact conf="default" name="firma-services"/>
>     <artifact conf="default" name="firma-version"/>
>     <artifact conf="default" name="EventLog" type="dll"/>
>   </publications>
>
>   <dependencies>
>     ...
>   </dependencies>
> </ivy-module>
>
> When I do a <ivy:retrieve conf="runtime"/> after resolving the
> dependencies for the firma-webapp, I always get four files instead of
> one, as I would have expected by explicitly defining:
> <dependency org="firma" name="firma-base" rev="latest.integration"
> changing="true" transitive="false"
> conf="compile->default;runtime->master"/>
>
> Whats wrong here or what am I missing?


If I understand correctly you're surprised about getting the four artifacts
from firma-base while you'd expect to have only one: the only one belonging
to the master conf in your firma-base module. Is that right? If that's what
you expect I think your expectation are right (according to what I see from
the files except you provide). So what's going wrong? The first thing I
would do is clean the Ivy cache to make sure you don't get a bad module
metadata in the way. If you still have the problem I would try with
something more simple, like for example make your firma-webapp depend only
on firma-base and not all other dependencies. Then if you still have the
problem open a JIRA issue providing your Ivy version, ivy files involved
(should be only two, firma-webapp and firma-base), your ivy settings, and
the debug log of your resolution process.

HTH,

Xavier

Jan.
>
>
>
>


-- 
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/

Re: Having a hard time with publications and their configurations

Posted by Xavier Hanin <xa...@gmail.com>.
On 11/1/07, Jan Brauer <ja...@coremedia.com> wrote:
>
> Xavier Hanin wrote:
> > On 11/1/07, Jan Brauer <ja...@coremedia.com> wrote:
> >> Xavier Hanin wrote:
> >>> On 10/31/07, Jan Brauer <ja...@coremedia.com> wrote:
> >>>> I'm trying to figure out how the configurations mechanism works
> >> combined
> >>>> with the publications feature.
> >>>>
> >>>> I'm using these configurations in every module i defined.
> >>>>
> >>>> <configurations defaultconfmapping="compile->default"
> >>>> confmappingoverride="false">
> >>>>   <conf name="compile" visibility="private"/>
> >>>>   <conf name="test" extends="compile" visibility="private"/>
> >>>>   <conf name="master"/>
> >>>>   <conf name="runtime" extends="compile"/>
> >>>>   <conf name="default" extends="master,runtime"/>
> >>>> </configurations>
> >>>>
> >>>> This is my module ivy.xml:
> >>>>
> >>>> <ivy-module version="1.3">
> >>>>   <info organisation="firma" module="firma-webapp"/>
> >>>>
> >>>>   <configurations>
> >>>>     <include file="${basedir}/../tools/etc/ivy/configurations.xml"/>
> >>>>   </configurations>
> >>>>
> >>>>   <publications>
> >>>>     <artifact conf="master"/>
> >>>>   </publications>
> >>>>
> >>>>   <dependencies>
> >>>>     <!-- original jars -->
> >>>>     <dependency org="commons-logging" name="commons-logging" rev="
> 1.0.4
> >> "/>
> >>>>     <dependency org="javax.activation" name="activation" rev="1.0.2
> "/>
> >>>>     <dependency org="javax.servlet" name="servlet-api" rev="2.3"/>
> >>>>     <dependency org="org.springframework" name="spring"
> >>>> rev="${version.spring}" conf=""/>
> >>>>     <dependency org="tomcat" name="jsp-api" rev="5.0.16"/>
> >>>>
> >>>>     <!-- Strange constructs -->
> >>>>     <dependency org="javadoc" name="javadoc" rev="1.3"/>
> >>>>     <!-- firma modules -->
> >>>>     <dependency org="firma" name="spring" rev="latest.integration"
> >>>> changing="true" transitive="false"
> >>>> conf="compile->default;runtime->master"/>
> >>>>     <dependency org="firma" name="common" rev="latest.integration"
> >>>> changing="true" transitive="false"
> >>>> conf="compile->default;runtime->master"/>
> >>>>     <dependency org="firma" name="firma-base" rev="latest.integration
> "
> >>>> changing="true" transitive="false"
> >>>> conf="compile->default;runtime->master"/>
> >>>>     <dependency org="firma" name="firma-client" rev="
> latest.integration
> >> "
> >>>> changing="true" transitive="false"
> >>>> conf="compile->default;runtime->master"/>
> >>>>     <dependency org="firma" name="firma-api" rev="latest.integration"
> >>>> changing="true" transitive="false"
> >>>> conf="compile->default;runtime->master"/>
> >>>>     <dependency org="firma" name="firma-server" rev="
> latest.integration
> >> "
> >>>> changing="true" transitive="false"
> >>>> conf="compile->default;runtime->master"/>
> >>>>   </dependencies>
> >>>> </ivy-module>
> >>>>
> >>>> This is the ivy.xml for the module I'm depending on:
> >>>>
> >>>> <ivy-module version="1.3">
> >>>>   <info organisation="firma" module="firma-base"/>
> >>>>   <!--
> >>>>   <library vendor="sun" name="javawebstart" includes="*"/>
> >>>>   -->
> >>>>
> >>>>   <configurations>
> >>>>     <include file="${basedir}/../tools/etc/ivy/configurations.xml"/>
> >>>>   </configurations>
> >>>>
> >>>>   <publications>
> >>>>     <artifact conf="master,default" name="firma-base"/>
> >>>>     <artifact conf="default" name="firma-services"/>
> >>>>     <artifact conf="default" name="firma-version"/>
> >>>>     <artifact conf="default" name="EventLog" type="dll"/>
> >>>>   </publications>
> >>>>
> >>>>   <dependencies>
> >>>>     ...
> >>>>   </dependencies>
> >>>> </ivy-module>
> >>>>
> >>>> When I do a <ivy:retrieve conf="runtime"/> after resolving the
> >>>> dependencies for the firma-webapp, I always get four files instead of
> >>>> one, as I would have expected by explicitly defining:
> >>>> <dependency org="firma" name="firma-base" rev="latest.integration"
> >>>> changing="true" transitive="false"
> >>>> conf="compile->default;runtime->master"/>
> >>>>
> >>>> Whats wrong here or what am I missing?
> >>>
> >>> If I understand correctly you're surprised about getting the four
> >> artifacts
> >>> from firma-base while you'd expect to have only one: the only one
> >> belonging
> >>> to the master conf in your firma-base module. Is that right? If that's
> >> what
> >>> you expect I think your expectation are right (according to what I see
> >> from
> >>> the files except you provide). So what's going wrong? The first thing
> I
> >>> would do is clean the Ivy cache to make sure you don't get a bad
> module
> >>> metadata in the way. If you still have the problem I would try with
> >>> something more simple, like for example make your firma-webapp depend
> >> only
> >>> on firma-base and not all other dependencies. Then if you still have
> the
> >>> problem open a JIRA issue providing your Ivy version, ivy files
> involved
> >>> (should be only two, firma-webapp and firma-base), your ivy settings,
> >> and
> >>> the debug log of your resolution process.
> >> Exactly. I don't know what I did, but I have it working now. I think it
> >> was a circular dependency in combination with the defaultmappig.
> >> A next thing that doesn't seem to work is setting a <dependencies
> >> defaultconf="webapp->master">. The defaultconf is always ignored. Is
> >> this because I have a defaultconfmapping in my configurations?
> >
> >
> > Indeed defaultconfmapping takes precedence over defaultconf.
> >
> > Xavier
> >
> > Jan
> >>
> >
> >
>
> So there's no way to define a "top level" defaultconfmapping and
> override/add defaultconfs on module level? Not being able to use
> defaultconf leads to very explicit dependencies.


You can override it by defining defaultconfmapping on your dependencies
element. To add to existing defaultconfmapping, you should better use a
property and refer to it, since there's no way to do it with only
defaultconfmapping support.

Xavier


-- 
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/

Re: Having a hard time with publications and their configurations

Posted by Jan Brauer <ja...@coremedia.com>.
Xavier Hanin wrote:
> On 11/1/07, Jan Brauer <ja...@coremedia.com> wrote:
>> Xavier Hanin wrote:
>>> On 10/31/07, Jan Brauer <ja...@coremedia.com> wrote:
>>>> I'm trying to figure out how the configurations mechanism works
>> combined
>>>> with the publications feature.
>>>>
>>>> I'm using these configurations in every module i defined.
>>>>
>>>> <configurations defaultconfmapping="compile->default"
>>>> confmappingoverride="false">
>>>>   <conf name="compile" visibility="private"/>
>>>>   <conf name="test" extends="compile" visibility="private"/>
>>>>   <conf name="master"/>
>>>>   <conf name="runtime" extends="compile"/>
>>>>   <conf name="default" extends="master,runtime"/>
>>>> </configurations>
>>>>
>>>> This is my module ivy.xml:
>>>>
>>>> <ivy-module version="1.3">
>>>>   <info organisation="firma" module="firma-webapp"/>
>>>>
>>>>   <configurations>
>>>>     <include file="${basedir}/../tools/etc/ivy/configurations.xml"/>
>>>>   </configurations>
>>>>
>>>>   <publications>
>>>>     <artifact conf="master"/>
>>>>   </publications>
>>>>
>>>>   <dependencies>
>>>>     <!-- original jars -->
>>>>     <dependency org="commons-logging" name="commons-logging" rev="1.0.4
>> "/>
>>>>     <dependency org="javax.activation" name="activation" rev="1.0.2"/>
>>>>     <dependency org="javax.servlet" name="servlet-api" rev="2.3"/>
>>>>     <dependency org="org.springframework" name="spring"
>>>> rev="${version.spring}" conf=""/>
>>>>     <dependency org="tomcat" name="jsp-api" rev="5.0.16"/>
>>>>
>>>>     <!-- Strange constructs -->
>>>>     <dependency org="javadoc" name="javadoc" rev="1.3"/>
>>>>     <!-- firma modules -->
>>>>     <dependency org="firma" name="spring" rev="latest.integration"
>>>> changing="true" transitive="false"
>>>> conf="compile->default;runtime->master"/>
>>>>     <dependency org="firma" name="common" rev="latest.integration"
>>>> changing="true" transitive="false"
>>>> conf="compile->default;runtime->master"/>
>>>>     <dependency org="firma" name="firma-base" rev="latest.integration"
>>>> changing="true" transitive="false"
>>>> conf="compile->default;runtime->master"/>
>>>>     <dependency org="firma" name="firma-client" rev="latest.integration
>> "
>>>> changing="true" transitive="false"
>>>> conf="compile->default;runtime->master"/>
>>>>     <dependency org="firma" name="firma-api" rev="latest.integration"
>>>> changing="true" transitive="false"
>>>> conf="compile->default;runtime->master"/>
>>>>     <dependency org="firma" name="firma-server" rev="latest.integration
>> "
>>>> changing="true" transitive="false"
>>>> conf="compile->default;runtime->master"/>
>>>>   </dependencies>
>>>> </ivy-module>
>>>>
>>>> This is the ivy.xml for the module I'm depending on:
>>>>
>>>> <ivy-module version="1.3">
>>>>   <info organisation="firma" module="firma-base"/>
>>>>   <!--
>>>>   <library vendor="sun" name="javawebstart" includes="*"/>
>>>>   -->
>>>>
>>>>   <configurations>
>>>>     <include file="${basedir}/../tools/etc/ivy/configurations.xml"/>
>>>>   </configurations>
>>>>
>>>>   <publications>
>>>>     <artifact conf="master,default" name="firma-base"/>
>>>>     <artifact conf="default" name="firma-services"/>
>>>>     <artifact conf="default" name="firma-version"/>
>>>>     <artifact conf="default" name="EventLog" type="dll"/>
>>>>   </publications>
>>>>
>>>>   <dependencies>
>>>>     ...
>>>>   </dependencies>
>>>> </ivy-module>
>>>>
>>>> When I do a <ivy:retrieve conf="runtime"/> after resolving the
>>>> dependencies for the firma-webapp, I always get four files instead of
>>>> one, as I would have expected by explicitly defining:
>>>> <dependency org="firma" name="firma-base" rev="latest.integration"
>>>> changing="true" transitive="false"
>>>> conf="compile->default;runtime->master"/>
>>>>
>>>> Whats wrong here or what am I missing?
>>>
>>> If I understand correctly you're surprised about getting the four
>> artifacts
>>> from firma-base while you'd expect to have only one: the only one
>> belonging
>>> to the master conf in your firma-base module. Is that right? If that's
>> what
>>> you expect I think your expectation are right (according to what I see
>> from
>>> the files except you provide). So what's going wrong? The first thing I
>>> would do is clean the Ivy cache to make sure you don't get a bad module
>>> metadata in the way. If you still have the problem I would try with
>>> something more simple, like for example make your firma-webapp depend
>> only
>>> on firma-base and not all other dependencies. Then if you still have the
>>> problem open a JIRA issue providing your Ivy version, ivy files involved
>>> (should be only two, firma-webapp and firma-base), your ivy settings,
>> and
>>> the debug log of your resolution process.
>> Exactly. I don't know what I did, but I have it working now. I think it
>> was a circular dependency in combination with the defaultmappig.
>> A next thing that doesn't seem to work is setting a <dependencies
>> defaultconf="webapp->master">. The defaultconf is always ignored. Is
>> this because I have a defaultconfmapping in my configurations?
> 
> 
> Indeed defaultconfmapping takes precedence over defaultconf.
> 
> Xavier
> 
> Jan
>>
> 
> 

So there's no way to define a "top level" defaultconfmapping and
override/add defaultconfs on module level? Not being able to use
defaultconf leads to very explicit dependencies.

Re: Having a hard time with publications and their configurations

Posted by Xavier Hanin <xa...@gmail.com>.
On 11/1/07, Jan Brauer <ja...@coremedia.com> wrote:
>
> Xavier Hanin wrote:
> > On 10/31/07, Jan Brauer <ja...@coremedia.com> wrote:
> >> I'm trying to figure out how the configurations mechanism works
> combined
> >> with the publications feature.
> >>
> >> I'm using these configurations in every module i defined.
> >>
> >> <configurations defaultconfmapping="compile->default"
> >> confmappingoverride="false">
> >>   <conf name="compile" visibility="private"/>
> >>   <conf name="test" extends="compile" visibility="private"/>
> >>   <conf name="master"/>
> >>   <conf name="runtime" extends="compile"/>
> >>   <conf name="default" extends="master,runtime"/>
> >> </configurations>
> >>
> >> This is my module ivy.xml:
> >>
> >> <ivy-module version="1.3">
> >>   <info organisation="firma" module="firma-webapp"/>
> >>
> >>   <configurations>
> >>     <include file="${basedir}/../tools/etc/ivy/configurations.xml"/>
> >>   </configurations>
> >>
> >>   <publications>
> >>     <artifact conf="master"/>
> >>   </publications>
> >>
> >>   <dependencies>
> >>     <!-- original jars -->
> >>     <dependency org="commons-logging" name="commons-logging" rev="1.0.4
> "/>
> >>     <dependency org="javax.activation" name="activation" rev="1.0.2"/>
> >>     <dependency org="javax.servlet" name="servlet-api" rev="2.3"/>
> >>     <dependency org="org.springframework" name="spring"
> >> rev="${version.spring}" conf=""/>
> >>     <dependency org="tomcat" name="jsp-api" rev="5.0.16"/>
> >>
> >>     <!-- Strange constructs -->
> >>     <dependency org="javadoc" name="javadoc" rev="1.3"/>
> >>     <!-- firma modules -->
> >>     <dependency org="firma" name="spring" rev="latest.integration"
> >> changing="true" transitive="false"
> >> conf="compile->default;runtime->master"/>
> >>     <dependency org="firma" name="common" rev="latest.integration"
> >> changing="true" transitive="false"
> >> conf="compile->default;runtime->master"/>
> >>     <dependency org="firma" name="firma-base" rev="latest.integration"
> >> changing="true" transitive="false"
> >> conf="compile->default;runtime->master"/>
> >>     <dependency org="firma" name="firma-client" rev="latest.integration
> "
> >> changing="true" transitive="false"
> >> conf="compile->default;runtime->master"/>
> >>     <dependency org="firma" name="firma-api" rev="latest.integration"
> >> changing="true" transitive="false"
> >> conf="compile->default;runtime->master"/>
> >>     <dependency org="firma" name="firma-server" rev="latest.integration
> "
> >> changing="true" transitive="false"
> >> conf="compile->default;runtime->master"/>
> >>   </dependencies>
> >> </ivy-module>
> >>
> >> This is the ivy.xml for the module I'm depending on:
> >>
> >> <ivy-module version="1.3">
> >>   <info organisation="firma" module="firma-base"/>
> >>   <!--
> >>   <library vendor="sun" name="javawebstart" includes="*"/>
> >>   -->
> >>
> >>   <configurations>
> >>     <include file="${basedir}/../tools/etc/ivy/configurations.xml"/>
> >>   </configurations>
> >>
> >>   <publications>
> >>     <artifact conf="master,default" name="firma-base"/>
> >>     <artifact conf="default" name="firma-services"/>
> >>     <artifact conf="default" name="firma-version"/>
> >>     <artifact conf="default" name="EventLog" type="dll"/>
> >>   </publications>
> >>
> >>   <dependencies>
> >>     ...
> >>   </dependencies>
> >> </ivy-module>
> >>
> >> When I do a <ivy:retrieve conf="runtime"/> after resolving the
> >> dependencies for the firma-webapp, I always get four files instead of
> >> one, as I would have expected by explicitly defining:
> >> <dependency org="firma" name="firma-base" rev="latest.integration"
> >> changing="true" transitive="false"
> >> conf="compile->default;runtime->master"/>
> >>
> >> Whats wrong here or what am I missing?
> >
> >
> > If I understand correctly you're surprised about getting the four
> artifacts
> > from firma-base while you'd expect to have only one: the only one
> belonging
> > to the master conf in your firma-base module. Is that right? If that's
> what
> > you expect I think your expectation are right (according to what I see
> from
> > the files except you provide). So what's going wrong? The first thing I
> > would do is clean the Ivy cache to make sure you don't get a bad module
> > metadata in the way. If you still have the problem I would try with
> > something more simple, like for example make your firma-webapp depend
> only
> > on firma-base and not all other dependencies. Then if you still have the
> > problem open a JIRA issue providing your Ivy version, ivy files involved
> > (should be only two, firma-webapp and firma-base), your ivy settings,
> and
> > the debug log of your resolution process.
>
> Exactly. I don't know what I did, but I have it working now. I think it
> was a circular dependency in combination with the defaultmappig.
> A next thing that doesn't seem to work is setting a <dependencies
> defaultconf="webapp->master">. The defaultconf is always ignored. Is
> this because I have a defaultconfmapping in my configurations?


Indeed defaultconfmapping takes precedence over defaultconf.

Xavier

Jan
>
>


-- 
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/

Re: Having a hard time with publications and their configurations

Posted by Jan Brauer <ja...@coremedia.com>.
Xavier Hanin wrote:
> On 10/31/07, Jan Brauer <ja...@coremedia.com> wrote:
>> I'm trying to figure out how the configurations mechanism works combined
>> with the publications feature.
>>
>> I'm using these configurations in every module i defined.
>>
>> <configurations defaultconfmapping="compile->default"
>> confmappingoverride="false">
>>   <conf name="compile" visibility="private"/>
>>   <conf name="test" extends="compile" visibility="private"/>
>>   <conf name="master"/>
>>   <conf name="runtime" extends="compile"/>
>>   <conf name="default" extends="master,runtime"/>
>> </configurations>
>>
>> This is my module ivy.xml:
>>
>> <ivy-module version="1.3">
>>   <info organisation="firma" module="firma-webapp"/>
>>
>>   <configurations>
>>     <include file="${basedir}/../tools/etc/ivy/configurations.xml"/>
>>   </configurations>
>>
>>   <publications>
>>     <artifact conf="master"/>
>>   </publications>
>>
>>   <dependencies>
>>     <!-- original jars -->
>>     <dependency org="commons-logging" name="commons-logging" rev="1.0.4"/>
>>     <dependency org="javax.activation" name="activation" rev="1.0.2"/>
>>     <dependency org="javax.servlet" name="servlet-api" rev="2.3"/>
>>     <dependency org="org.springframework" name="spring"
>> rev="${version.spring}" conf=""/>
>>     <dependency org="tomcat" name="jsp-api" rev="5.0.16"/>
>>
>>     <!-- Strange constructs -->
>>     <dependency org="javadoc" name="javadoc" rev="1.3"/>
>>     <!-- firma modules -->
>>     <dependency org="firma" name="spring" rev="latest.integration"
>> changing="true" transitive="false"
>> conf="compile->default;runtime->master"/>
>>     <dependency org="firma" name="common" rev="latest.integration"
>> changing="true" transitive="false"
>> conf="compile->default;runtime->master"/>
>>     <dependency org="firma" name="firma-base" rev="latest.integration"
>> changing="true" transitive="false"
>> conf="compile->default;runtime->master"/>
>>     <dependency org="firma" name="firma-client" rev="latest.integration"
>> changing="true" transitive="false"
>> conf="compile->default;runtime->master"/>
>>     <dependency org="firma" name="firma-api" rev="latest.integration"
>> changing="true" transitive="false"
>> conf="compile->default;runtime->master"/>
>>     <dependency org="firma" name="firma-server" rev="latest.integration"
>> changing="true" transitive="false"
>> conf="compile->default;runtime->master"/>
>>   </dependencies>
>> </ivy-module>
>>
>> This is the ivy.xml for the module I'm depending on:
>>
>> <ivy-module version="1.3">
>>   <info organisation="firma" module="firma-base"/>
>>   <!--
>>   <library vendor="sun" name="javawebstart" includes="*"/>
>>   -->
>>
>>   <configurations>
>>     <include file="${basedir}/../tools/etc/ivy/configurations.xml"/>
>>   </configurations>
>>
>>   <publications>
>>     <artifact conf="master,default" name="firma-base"/>
>>     <artifact conf="default" name="firma-services"/>
>>     <artifact conf="default" name="firma-version"/>
>>     <artifact conf="default" name="EventLog" type="dll"/>
>>   </publications>
>>
>>   <dependencies>
>>     ...
>>   </dependencies>
>> </ivy-module>
>>
>> When I do a <ivy:retrieve conf="runtime"/> after resolving the
>> dependencies for the firma-webapp, I always get four files instead of
>> one, as I would have expected by explicitly defining:
>> <dependency org="firma" name="firma-base" rev="latest.integration"
>> changing="true" transitive="false"
>> conf="compile->default;runtime->master"/>
>>
>> Whats wrong here or what am I missing?
> 
> 
> If I understand correctly you're surprised about getting the four artifacts
> from firma-base while you'd expect to have only one: the only one belonging
> to the master conf in your firma-base module. Is that right? If that's what
> you expect I think your expectation are right (according to what I see from
> the files except you provide). So what's going wrong? The first thing I
> would do is clean the Ivy cache to make sure you don't get a bad module
> metadata in the way. If you still have the problem I would try with
> something more simple, like for example make your firma-webapp depend only
> on firma-base and not all other dependencies. Then if you still have the
> problem open a JIRA issue providing your Ivy version, ivy files involved
> (should be only two, firma-webapp and firma-base), your ivy settings, and
> the debug log of your resolution process.

Exactly. I don't know what I did, but I have it working now. I think it
was a circular dependency in combination with the defaultmappig.
A next thing that doesn't seem to work is setting a <dependencies
defaultconf="webapp->master">. The defaultconf is always ignored. Is
this because I have a defaultconfmapping in my configurations?

Jan