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 Jan Brauer <ja...@coremedia.com> on 2007/10/31 11:58:06 UTC

Having a hard time with publications and their configurations

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?
Jan.