On 10/31/07, Jan Brauer <[EMAIL PROTECTED]> 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/