Ivy is resolving private dependencies as well
---------------------------------------------

                 Key: IVY-674
                 URL: https://issues.apache.org/jira/browse/IVY-674
             Project: Ivy
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.0.0-beta-1
            Reporter: Maarten Coene
            Priority: Critical


I don't know exactly what the problem is, but it seems that Ivy is resolving 
the dependencies from private configurations as well.

I have the following output on my console when resolving my project.
{code}
[ivy:resolve] :: resolving dependencies :: LCMB#fao;[EMAIL PROTECTED]
[ivy:resolve]   confs: [default, client, impl, testapi, compile, client-compile,
 test, runtest]
[ivy:resolve]   [2.8.4] LCMT#commons;2.+
[ivy:resolve]   [1.3.1] LCMT#daohelper;1.+
[ivy:resolve]   [3.2.1] LCMT#parametermanager;3.+
[ivy:resolve]   [1.0.3] LCMB#sparadmwebservice;1.+
[ivy:resolve]   [1.2.0] LCMT#commons-webservice;1.+
[ivy:resolve]   [2.0.10] LCMT#openutm;2.+
[ivy:resolve]   [1.1.0] LCMT#profilemanager;1.+
[ivy:resolve]   [4.4.0] LCMT#logmanager;4.+
[ivy:resolve]   [3.4.0] LCMT#openutm;3.+
[ivy:resolve]   [4.3.1] LCMT#papyrus;4.+
[ivy:resolve]   [10.1.3.3] J2EE#ejb30;10.1.3.+
[ivy:resolve]   [10.1.3.3] J2EE#persistence;10.1.3.+
[ivy:resolve]   [10.1.3.3] J2EE#mail;10.1.3.+
[ivy:resolve]   [2.1.0] OTHER#commons-lang;2.+
[ivy:resolve]   [2.0.0] LCMT#commons-test;2.+
[ivy:resolve]   [10.1.3.3] J2EE#toplink-essentials;10.1.3.+
[ivy:resolve]   [10.1.3.3] J2EE#ejb;10.1.3.+
[ivy:resolve]   [10.1.3.3] J2EE#jta;10.1.3.+
[ivy:resolve]   [10.1.3.3] J2EE#jaxrpc-api;10.1.3.+
{code}

As you can see, the "openutm" dependency is resolved twice: once for the 2.x 
branch, and another time for the 3.x branch.
However, the only place where I have defined a dependency on the openutm 2.x 
branch is in the commons dependency. And as you can see, this is defined in a 
private configuration!!

{code}
<ivy-module version="1.0">
    <info organisation="LCMT" module="commons" revision="2.8.4" 
status="release" publication="20070313105450"/>
    <configurations>
        <conf name="default" description="For default usage."/>
                <conf name="j2ee" extends="default" description="For usage 
inside an application server."/>
                <conf name="standalone" extends="default" description="For 
usage in a standalone application (e.g. batch)."/>
                <conf name="compile" extends="*(public)" visibility="private" 
transitive="false"/>
                <conf name="test" visibility="private" transitive="false"/>
                <conf name="runtest" extends="test,compile" 
visibility="private"/>
        <conf name="minimal" extends="default" description="For minimal usage, 
e.g. in the client API of a system."/>
    </configurations>
    <dependencies 
defaultconfmapping="runtest->standalone(default);default,compile,test->default;standalone->[org=LCMB]client(default),[org!=LCMB]standalone(default);%->#(default);"
 confmappingoverride="true">
        <!-- J2EE dependencies -->
        <dependency org="J2EE" name="ejb" rev="" conf="compile"/>
        <dependency org="J2EE" name="jms" rev="" conf="standalone"/>
        <dependency org="J2EE" name="jta" rev="" conf="test"/>

        <!-- technical dependencies -->
        <dependency org="LCMT" name="daohelper" rev="1.+" 
conf="j2ee;standalone"/>
        <dependency org="LCMT" name="openutm" rev="2.+" conf="compile"/>
        <dependency org="LCMT" name="parametermanager" rev="3.+" conf="j2ee"/>
        <dependency org="OTHER" name="commons-beanutils" rev="1.7.0" 
conf="compile"/>
        <dependency org="OTHER" name="commons-discovery" rev="0.2" 
conf="j2ee;standalone"/>
        <dependency org="OTHER" name="commons-logging" rev="1.0.3" 
conf="default"/>
        <dependency org="OTHER" name="commons-lang" rev="2.0.0" conf="default"/>
        <dependency org="OTHER" name="commons-validator" rev="1.1.4" 
conf="j2ee;standalone"/>
        <dependency org="OTHER" name="jakarta-regexp" rev="1.4" conf="default"/>

        <!-- Test dependencies -->
        <dependency org="LCMT" name="commons-test" rev="1.+" conf="test">
            <exclude module="commons"/>
        </dependency>
        <dependency org="OTHER" name="junit" rev="3.8.1" conf="test"/>
        <dependency org="OTHER" name="mockejb" rev="0.5" conf="test"/>
        <dependency org="OTHER" name="mockobjects" rev="0.09" conf="test"/>
        <dependency org="OTHER" name="dbunit" rev="2.1.0" conf="test"/>
        <dependency org="OTHER" name="ojdbc" rev="9.2.0.5" conf="test"/>
    </dependencies>
</ivy-module>
{code}

It seems to me that for some reason, Ivy forgets the exact configuration for 
the openutm dependency, because the resolve report contains this:

{code}
                <module organisation="LCMT" name="openutm" 
resolver="tcomp-repository">
                        <revision name="2.0.10" status="release" 
pubdate="20060519103452" resolver="tcomp-repository" 
artresolver="tcomp-repository" evicted="latest-revision" evicted-reason="" 
downloaded="false" searched="true" default="false" conf="default" position="-1">
                                <evicted-by rev="3.4.0"/>
                                <caller organisation="LCMT" name="commons" 
conf="default" rev="2.+" callerrev="2.8.4"/>
                                <artifacts>
                                </artifacts>
                        </revision>
                        <revision name="3.4.0" status="release" 
pubdate="20071003093128" resolver="tcomp-repository" 
artresolver="tcomp-repository" downloaded="false" searched="true" 
default="false" conf="default" position="23">
                                <caller organisation="LCMT" name="commons" 
conf="default" rev="2.+" callerrev="2.8.4"/>
                                <caller organisation="LCMB" name="fao" 
conf="impl" rev="3.+" callerrev="[EMAIL PROTECTED]"/>
                                <artifacts>
                                        <artifact name="openutm" type="lib" 
ext="jar" status="no" size="131176">
                                                <origin-location 
is-local="true" 
location="C:\working\repository\commons\lcm\openutm\openutm-3.4.0\lib\openutm-3.4.0.jar"/>
                                        </artifact>
                                        <artifact name="openutm" type="src" 
ext="zip" status="no" size="116680">
                                                <origin-location 
is-local="true" 
location="C:\working\repository\commons\lcm\openutm\openutm-3.4.0\src\openutm-3.4.0-src.zip"/>
                                        </artifact>
                                </artifacts>
                        </revision>
                </module>
{code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to