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 Dave Brosius <db...@mebigfatguy.com> on 2010/04/18 23:44:12 UTC

Question about transitive="false"

Greetings,
   
    I'm trying to introduce Ivy into a mature product where 3rdparty 
jars are checked in to the scm. My first step is just to have ivy yank 
down all these files, and then copy them into the locations where they 
currently exist, that way the mult-project ant build won't need to know 
anything about ivy (except for the first build step of pulling the files 
down). Once this is working, I'll remove the jars from the scm, and then 
work on making the build more ivy-like.

So to start, i've created an ivy.xml that specifies a transitive="false" 
configuration, and have listed all the jars that are currently in my scm.

Many of the jars work fine, but a few have the following problem. For 
instance here is a snippet from my ivy.xml

.....

<configurations>
	<conf name="default" transitive="false"/>
</configurations>
<dependencies>
	<dependency org="org.apache.ant" name="ant" rev="${ant.version}" conf="*->*,!sources,!javadoc"/>
	....
....
...


When run with ant -v

I get

[ivy:retrieve] == resolving dependencies
acme#3rdparty;working@dbrosius->org.apache.ant#ant;1.7.1
....
<skip some stuff>
....
http://repo1.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.pom
[ivy:retrieve] 	public: found md file for org.apache.ant#ant;1.7.1
[ivy:retrieve] 		=>
http://repo1.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.pom
(1.7.1)
[ivy:retrieve] downloading
http://repo1.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.pom ...
[ivy:retrieve] 	public: downloading
http://repo1.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.pom
[ivy:retrieve] 	public: downloading
http://repo1.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.pom.sha1
[ivy:retrieve] sha1 OK for
http://repo1.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.pom
[ivy:retrieve] 	[SUCCESSFUL ]
org.apache.ant#ant;1.7.1!ant.pom(pom.original) (606ms)
[ivy:retrieve] default: Checking cache for: dependency:
org.apache.ant#ant-parent;1.7.1 {}
[ivy:retrieve] 		tried
/usr/share/apache-ivy-2.1.0/local/org.apache.ant/ant-parent/1.7.1/ivys/ivy.xml
[ivy:retrieve] 		tried
/usr/share/apache-ivy-2.1.0/local/org.apache.ant/ant-parent/1.7.1/jars/ant-parent.jar
[ivy:retrieve] 	local: no ivy file nor artifact found for
org.apache.ant#ant-parent;1.7.1
....
<skip some stuff>
....

[ivy:retrieve] 		tried
http://repo1.maven.org/maven2/org/apache/ant/ant-parent/1.7.1/ant-parent-1.7.1.pom
[ivy:retrieve] 	public: found md file for org.apache.ant#ant-parent;1.7.1
[ivy:retrieve] 		=>
http://repo1.maven.org/maven2/org/apache/ant/ant-parent/1.7.1/ant-parent-1.7.1.pom
(1.7.1)
[ivy:retrieve] downloading
http://repo1.maven.org/maven2/org/apache/ant/ant-parent/1.7.1/ant-parent-1.7.1.pom
...
[ivy:retrieve] 	public: downloading
http://repo1.maven.org/maven2/org/apache/ant/ant-parent/1.7.1/ant-parent-1.7.1.pom
[ivy:retrieve] 	public: downloading
http://repo1.maven.org/maven2/org/apache/ant/ant-parent/1.7.1/ant-parent-1.7.1.pom.sha1
[ivy:retrieve] sha1 OK for
http://repo1.maven.org/maven2/org/apache/ant/ant-parent/1.7.1/ant-parent-1.7.1.pom
[ivy:retrieve] 	[SUCCESSFUL ]
....
<skip some stuff>
....
http://repo1.maven.org/maven2/org/apache/ant/ant-parent/1.7.1/ant-parent-1.7.1.jar
[ivy:retrieve] CLIENT ERROR: Not Found


So ivy can't find ant-parent in the repo1.maven.org repo. Now I suppose that is a problem with that repository, but why is ivy trying to download that file, since i specified no dependencies? I don't want or need that file.

How do i get around this?
dave


Re: Question about transitive="false"

Posted by Maarten Coene <ma...@yahoo.com>.
ok, I took a closer look at it and it's perfectly normal.
This error logged in verbose mode isn't a real error: it's just an indication the this ant-parent.jar doesn't exist in which case Ivy will ignore it. It won't cause the retrieve to fail.

Do you get any resolve errors when not running in verbose mode? If not, the resolve was successfull.

Maarten



----- Original Message ----
From: Dave Brosius <db...@mebigfatguy.com>
To: ivy-user@ant.apache.org
Sent: Sun, April 18, 2010 11:44:12 PM
Subject: Question about transitive="false"

Greetings,
     I'm trying to introduce Ivy into a mature product where 3rdparty jars are checked in to the scm. My first step is just to have ivy yank down all these files, and then copy them into the locations where they currently exist, that way the mult-project ant build won't need to know anything about ivy (except for the first build step of pulling the files down). Once this is working, I'll remove the jars from the scm, and then work on making the build more ivy-like.

So to start, i've created an ivy.xml that specifies a transitive="false" configuration, and have listed all the jars that are currently in my scm.

Many of the jars work fine, but a few have the following problem. For instance here is a snippet from my ivy.xml

.....

<configurations>
    <conf name="default" transitive="false"/>
</configurations>
<dependencies>
    <dependency org="org.apache.ant" name="ant" rev="${ant.version}" conf="*->*,!sources,!javadoc"/>
    ....
....
...


When run with ant -v

I get

[ivy:retrieve] == resolving dependencies
acme#3rdparty;working@dbrosius->org.apache.ant#ant;1.7.1
....
<skip some stuff>
....
http://repo1.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.pom
[ivy:retrieve]     public: found md file for org.apache.ant#ant;1.7.1
[ivy:retrieve]         =>
http://repo1.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.pom
(1.7.1)
[ivy:retrieve] downloading
http://repo1.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.pom ...
[ivy:retrieve]     public: downloading
http://repo1.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.pom
[ivy:retrieve]     public: downloading
http://repo1.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.pom.sha1
[ivy:retrieve] sha1 OK for
http://repo1.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.pom
[ivy:retrieve]     [SUCCESSFUL ]
org.apache.ant#ant;1.7.1!ant.pom(pom.original) (606ms)
[ivy:retrieve] default: Checking cache for: dependency:
org.apache.ant#ant-parent;1.7.1 {}
[ivy:retrieve]         tried
/usr/share/apache-ivy-2.1.0/local/org.apache.ant/ant-parent/1.7.1/ivys/ivy.xml
[ivy:retrieve]         tried
/usr/share/apache-ivy-2.1.0/local/org.apache.ant/ant-parent/1.7.1/jars/ant-parent.jar
[ivy:retrieve]     local: no ivy file nor artifact found for
org.apache.ant#ant-parent;1.7.1
....
<skip some stuff>
....

[ivy:retrieve]         tried
http://repo1.maven.org/maven2/org/apache/ant/ant-parent/1.7.1/ant-parent-1.7.1.pom
[ivy:retrieve]     public: found md file for org.apache.ant#ant-parent;1.7.1
[ivy:retrieve]         =>
http://repo1.maven.org/maven2/org/apache/ant/ant-parent/1.7.1/ant-parent-1.7.1.pom
(1.7.1)
[ivy:retrieve] downloading
http://repo1.maven.org/maven2/org/apache/ant/ant-parent/1.7.1/ant-parent-1.7.1.pom
...
[ivy:retrieve]     public: downloading
http://repo1.maven.org/maven2/org/apache/ant/ant-parent/1.7.1/ant-parent-1.7.1.pom
[ivy:retrieve]     public: downloading
http://repo1.maven.org/maven2/org/apache/ant/ant-parent/1.7.1/ant-parent-1.7.1.pom.sha1
[ivy:retrieve] sha1 OK for
http://repo1.maven.org/maven2/org/apache/ant/ant-parent/1.7.1/ant-parent-1.7.1.pom
[ivy:retrieve]     [SUCCESSFUL ]
....
<skip some stuff>
....
http://repo1.maven.org/maven2/org/apache/ant/ant-parent/1.7.1/ant-parent-1.7.1.jar
[ivy:retrieve] CLIENT ERROR: Not Found


So ivy can't find ant-parent in the repo1.maven.org repo. Now I suppose that is a problem with that repository, but why is ivy trying to download that file, since i specified no dependencies? I don't want or need that file.

How do i get around this?
dave