You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "Maarten Coene (JIRA)" <ji...@apache.org> on 2007/12/17 17:18:42 UTC

[jira] Created: (IVY-674) Ivy is resolving private dependencies as well

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;working@N51F2D5
[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="working@N51F2D5"/>
				<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.


[jira] Resolved: (IVY-674) Ivy is resolving private dependencies as well

Posted by "Maarten Coene (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/IVY-674?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Maarten Coene resolved IVY-674.
-------------------------------

    Resolution: Invalid
      Assignee: Maarten Coene

I've found what caused this problem, it is something completely different so I'll create a new JIRA issue for it...

> 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
>            Assignee: 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;working@N51F2D5
> [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="working@N51F2D5"/>
> 				<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.