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 rednix <ze...@gmx.de> on 2008/08/06 15:12:30 UTC

can't use gotoNode with a node which has not been visited yet

While using the latest version of Ivy built from the trunk
(2.0.0-rc1-local-20080805174033) I can't resolve hibernate 3.2.6 GA and
commons-collection 3.2.1 together. Hibernate 3.2.6ga has a dependency on
commons-collection 2.1.1 - but I want to include the latest revision 3.2.1
in my project. Using the fairly old ivy-2.0.0-alpha2-incubating.jar there is
not such a problem. 

The configuration and error logs are as follows:

ivy.xml:

<ivy-module version="1.0">
    <info organisation="Test" module="test"/>
    <configurations>
    <conf name="default" visibility="public" description="runtime
dependencies and master artifact can be used with this conf"
extends="runtime,master"/>
		<conf name="master" visibility="public" description="contains only the
artifact published by this module itself, with no transitive dependencies"/>
		<conf name="compile" visibility="public" description="this is the default
scope, used if none is specified. Compile dependencies are available in all
classpaths."/>
		<conf name="provided" visibility="public" description="this is much like
compile, but indicates you expect the JDK or a container to provide it. It
is only available on the compilation classpath, and is not transitive."/>
		<conf name="runtime" visibility="public" description="this scope indicates
that the dependency is not required for compilation, but is for execution.
It is in the runtime and test classpaths, but not the compile classpath."
extends="compile"/>
		<conf name="test" visibility="private" description="this scope indicates
that the dependency is not required for normal use of the application, and
is only available for the test compilation and execution phases."/>
		<conf name="system" visibility="public" description="this scope is similar
to provided except that you have to provide the JAR which contains it
explicitly. The artifact is always available and is not looked up in a
repository."/>
		<conf name="optional" visibility="public" description="contains all
optional dependencies" />
    </configurations>

    <dependencies>
        <dependency org="commons-collections" name="commons-collections"
rev="3.2.1" conf="default" />
        <dependency org="org.hibernate" name="hibernate" rev="3.2.6.ga"
conf="runtime->runtime,master" />
    </dependencies>
</ivy-module>

ivysettings.xml:

<ivysettings>
<settings defaultResolver="shared" />
  <property name="ivy.shared.default.root"            
value="https://[removed]" override="false"/>
  <property name="ivy.shared.default.ivy.pattern"     
value="[organisation]/[module]/[revision]/[module]-ivy.xml"
override="false"/>
  <property name="ivy.shared.default.artifact.pattern"
value="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"
override="false"/>
  <resolvers>    
    <url name="shared">
      <ivy
pattern="${ivy.shared.default.root}/${ivy.shared.default.ivy.pattern}" />
      <artifact
pattern="${ivy.shared.default.root}/${ivy.shared.default.artifact.pattern}"
/>  
    </url>
  </resolvers> 
</ivysettings>

Error-Log:

...
[ivy:retrieve] == resolving dependencies
org.hibernate#hibernate;3.2.6.ga->commons-collections#commons-collections;2.1.1
[compile->compile(*)]
[ivy:retrieve] ERROR: You can't use gotoNode with a node which has not been
visited yet.
[ivy:retrieve] Given node id=commons-collections#commons-collections;3.2.1
[ivy:retrieve] :: problems summary ::
[ivy:retrieve] :::: WARNINGS
[ivy:retrieve] 	Error while parsing configuration resolve report
C:\Documents and Settings\[removed]\.ivy2\cache\Test-test-default.xml
[ivy:retrieve] :::: ERRORS
[ivy:retrieve] 	You can't use gotoNode with a node which has not been
visited yet.
[ivy:retrieve] Given node id=commons-collections#commons-collections;3.2.1
[ivy:retrieve] 
[ivy:retrieve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS

BUILD FAILED
C:\workspaces\eclipseEuropa\Test\build.xml:433: impossible to resolve
dependencies:
	java.lang.IllegalArgumentException: You can't use gotoNode with a node
which has not been visited yet.
Given node id=commons-collections#commons-collections;3.2.1
	at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:319)
	at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:277)
	at
org.apache.ivy.ant.IvyPostResolveTask.ensureResolved(IvyPostResolveTask.java:206)
	at
org.apache.ivy.ant.IvyPostResolveTask.prepareAndCheck(IvyPostResolveTask.java:153)
	at org.apache.ivy.ant.IvyRetrieve.doExecute(IvyRetrieve.java:49)
	at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:277)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:357)
	at org.apache.tools.ant.Target.performTasks(Target.java:385)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
	at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at
org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
	at
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
	at
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
	
	
The other error/warning concerning the report is not that critical but
annoying.
The log prints out:

[ivy:retrieve] resolving dependencies for configuration 'default'
[ivy:retrieve] WARN: Error while parsing configuration resolve report
C:\Documents and Settings\[removed]\.ivy2\cache\Test-test-default.xml
[ivy:retrieve] java.text.ParseException: failed to parse report:
C:\Documents and Settings\[removed]\.ivy2\cache\Test-test-default.xml: null
[ivy:retrieve] 	at
org.apache.ivy.plugins.report.XmlReportParser.parse(XmlReportParser.java:299)
[ivy:retrieve] 	at
org.apache.ivy.core.report.ConfigurationResolveReport.<init>(ConfigurationResolveReport.java:82)
[ivy:retrieve] 	at
org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:483)
[ivy:retrieve] 	at
org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:232)
[ivy:retrieve] 	at
org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:190)
[ivy:retrieve] 	at org.apache.ivy.Ivy.resolve(Ivy.java:502)
[ivy:retrieve] 	at
org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:232)
[ivy:retrieve] 	at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:277)
[ivy:retrieve] 	at
org.apache.ivy.ant.IvyPostResolveTask.ensureResolved(IvyPostResolveTask.java:206)
[ivy:retrieve] 	at
org.apache.ivy.ant.IvyPostResolveTask.prepareAndCheck(IvyPostResolveTask.java:153)
[ivy:retrieve] 	at
org.apache.ivy.ant.IvyRetrieve.doExecute(IvyRetrieve.java:49)
[ivy:retrieve] 	at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:277)
[ivy:retrieve] 	at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
[ivy:retrieve] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[ivy:retrieve] 	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[ivy:retrieve] 	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[ivy:retrieve] 	at java.lang.reflect.Method.invoke(Method.java:585)
[ivy:retrieve] 	at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
[ivy:retrieve] 	at org.apache.tools.ant.Task.perform(Task.java:348)
[ivy:retrieve] 	at org.apache.tools.ant.Target.execute(Target.java:357)
[ivy:retrieve] 	at org.apache.tools.ant.Target.performTasks(Target.java:385)
[ivy:retrieve] 	at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
[ivy:retrieve] 	at
org.apache.tools.ant.Project.executeTarget(Project.java:1298)
[ivy:retrieve] 	at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[ivy:retrieve] 	at
org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
[ivy:retrieve] 	at
org.apache.tools.ant.Project.executeTargets(Project.java:1181)
[ivy:retrieve] 	at
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
[ivy:retrieve] 	at
org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
[ivy:retrieve] Caused by: java.lang.NumberFormatException: null

Any help on this issues?
-- 
View this message in context: http://www.nabble.com/can%27t-use-gotoNode-with-a-node-which-has-not-been-visited-yet-tp18850903p18850903.html
Sent from the ivy-user mailing list archive at Nabble.com.


Re: can't use gotoNode with a node which has not been visited yet

Posted by rednix <ze...@gmx.de>.

Xavier Hanin wrote:
> 
> On Wed, Aug 6, 2008 at 3:12 PM, rednix <ze...@gmx.de> wrote:
> 
> This must be a bug. Could you open an issue, with the details you provide
> here + the ivy files for hibernate and commons-collections. To find a
> workaround and narrow down the problem, could you also try putting the
> commons-collections dependency after the dependency on hibernate?
> 
> Xavier
> 
> 

I've just added an issue for this to JIRA:
https://issues.apache.org/jira/browse/IVY-874

Thanks for your quick reply!
-- 
View this message in context: http://www.nabble.com/can%27t-use-gotoNode-with-a-node-which-has-not-been-visited-yet-tp18850903p18856472.html
Sent from the ivy-user mailing list archive at Nabble.com.


Re: can't use gotoNode with a node which has not been visited yet

Posted by Xavier Hanin <xa...@gmail.com>.
On Wed, Aug 6, 2008 at 3:12 PM, rednix <ze...@gmx.de> wrote:

>
> While using the latest version of Ivy built from the trunk
> (2.0.0-rc1-local-20080805174033) I can't resolve hibernate 3.2.6 GA and
> commons-collection 3.2.1 together. Hibernate 3.2.6ga has a dependency on
> commons-collection 2.1.1 - but I want to include the latest revision 3.2.1
> in my project. Using the fairly old ivy-2.0.0-alpha2-incubating.jar there
> is
> not such a problem.
>
> The configuration and error logs are as follows:
>
> ivy.xml:
>
> <ivy-module version="1.0">
>    <info organisation="Test" module="test"/>
>    <configurations>
>    <conf name="default" visibility="public" description="runtime
> dependencies and master artifact can be used with this conf"
> extends="runtime,master"/>
>                <conf name="master" visibility="public"
> description="contains only the
> artifact published by this module itself, with no transitive
> dependencies"/>
>                <conf name="compile" visibility="public" description="this
> is the default
> scope, used if none is specified. Compile dependencies are available in all
> classpaths."/>
>                <conf name="provided" visibility="public" description="this
> is much like
> compile, but indicates you expect the JDK or a container to provide it. It
> is only available on the compilation classpath, and is not transitive."/>
>                <conf name="runtime" visibility="public" description="this
> scope indicates
> that the dependency is not required for compilation, but is for execution.
> It is in the runtime and test classpaths, but not the compile classpath."
> extends="compile"/>
>                <conf name="test" visibility="private" description="this
> scope indicates
> that the dependency is not required for normal use of the application, and
> is only available for the test compilation and execution phases."/>
>                <conf name="system" visibility="public" description="this
> scope is similar
> to provided except that you have to provide the JAR which contains it
> explicitly. The artifact is always available and is not looked up in a
> repository."/>
>                <conf name="optional" visibility="public"
> description="contains all
> optional dependencies" />
>    </configurations>
>
>    <dependencies>
>        <dependency org="commons-collections" name="commons-collections"
> rev="3.2.1" conf="default" />
>        <dependency org="org.hibernate" name="hibernate" rev="3.2.6.ga"
> conf="runtime->runtime,master" />
>    </dependencies>
> </ivy-module>
>
> ivysettings.xml:
>
> <ivysettings>
> <settings defaultResolver="shared" />
>  <property name="ivy.shared.default.root"
> value="https://[removed]" override="false"/>
>  <property name="ivy.shared.default.ivy.pattern"
> value="[organisation]/[module]/[revision]/[module]-ivy.xml"
> override="false"/>
>  <property name="ivy.shared.default.artifact.pattern"
>
> value="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"
> override="false"/>
>  <resolvers>
>    <url name="shared">
>      <ivy
> pattern="${ivy.shared.default.root}/${ivy.shared.default.ivy.pattern}" />
>      <artifact
> pattern="${ivy.shared.default.root}/${ivy.shared.default.artifact.pattern}"
> />
>    </url>
>  </resolvers>
> </ivysettings>
>
> Error-Log:
>
> ...
> [ivy:retrieve] == resolving dependencies
>
> org.hibernate#hibernate;3.2.6.ga->commons-collections#commons-collections;2.1.1
> [compile->compile(*)]
> [ivy:retrieve] ERROR: You can't use gotoNode with a node which has not been
> visited yet.
> [ivy:retrieve] Given node id=commons-collections#commons-collections;3.2.1
> [ivy:retrieve] :: problems summary ::
> [ivy:retrieve] :::: WARNINGS
> [ivy:retrieve]  Error while parsing configuration resolve report
> C:\Documents and Settings\[removed]\.ivy2\cache\Test-test-default.xml
> [ivy:retrieve] :::: ERRORS
> [ivy:retrieve]  You can't use gotoNode with a node which has not been
> visited yet.
> [ivy:retrieve] Given node id=commons-collections#commons-collections;3.2.1
> [ivy:retrieve]
> [ivy:retrieve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
>
> BUILD FAILED
> C:\workspaces\eclipseEuropa\Test\build.xml:433: impossible to resolve
> dependencies:
>        java.lang.IllegalArgumentException: You can't use gotoNode with a
> node
> which has not been visited yet.
> Given node id=commons-collections#commons-collections;3.2.1
>        at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:319)
>        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:277)
>        at
>
> org.apache.ivy.ant.IvyPostResolveTask.ensureResolved(IvyPostResolveTask.java:206)
>        at
>
> org.apache.ivy.ant.IvyPostResolveTask.prepareAndCheck(IvyPostResolveTask.java:153)
>        at org.apache.ivy.ant.IvyRetrieve.doExecute(IvyRetrieve.java:49)
>        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:277)
>        at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:585)
>        at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>        at org.apache.tools.ant.Task.perform(Task.java:348)
>        at org.apache.tools.ant.Target.execute(Target.java:357)
>        at org.apache.tools.ant.Target.performTasks(Target.java:385)
>        at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>        at
>
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>        at
>
> org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
>        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>        at
>
> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
>        at
>
> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
>
>
> The other error/warning concerning the report is not that critical but
> annoying.
> The log prints out:
>
> [ivy:retrieve] resolving dependencies for configuration 'default'
> [ivy:retrieve] WARN: Error while parsing configuration resolve report
> C:\Documents and Settings\[removed]\.ivy2\cache\Test-test-default.xml
> [ivy:retrieve] java.text.ParseException: failed to parse report:
> C:\Documents and Settings\[removed]\.ivy2\cache\Test-test-default.xml: null
> [ivy:retrieve]  at
>
> org.apache.ivy.plugins.report.XmlReportParser.parse(XmlReportParser.java:299)
> [ivy:retrieve]  at
>
> org.apache.ivy.core.report.ConfigurationResolveReport.<init>(ConfigurationResolveReport.java:82)
> [ivy:retrieve]  at
>
> org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:483)
> [ivy:retrieve]  at
> org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:232)
> [ivy:retrieve]  at
> org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:190)
> [ivy:retrieve]  at org.apache.ivy.Ivy.resolve(Ivy.java:502)
> [ivy:retrieve]  at
> org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:232)
> [ivy:retrieve]  at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:277)
> [ivy:retrieve]  at
>
> org.apache.ivy.ant.IvyPostResolveTask.ensureResolved(IvyPostResolveTask.java:206)
> [ivy:retrieve]  at
>
> org.apache.ivy.ant.IvyPostResolveTask.prepareAndCheck(IvyPostResolveTask.java:153)
> [ivy:retrieve]  at
> org.apache.ivy.ant.IvyRetrieve.doExecute(IvyRetrieve.java:49)
> [ivy:retrieve]  at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:277)
> [ivy:retrieve]  at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
> [ivy:retrieve]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> [ivy:retrieve]  at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> [ivy:retrieve]  at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [ivy:retrieve]  at java.lang.reflect.Method.invoke(Method.java:585)
> [ivy:retrieve]  at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
> [ivy:retrieve]  at org.apache.tools.ant.Task.perform(Task.java:348)
> [ivy:retrieve]  at org.apache.tools.ant.Target.execute(Target.java:357)
> [ivy:retrieve]  at
> org.apache.tools.ant.Target.performTasks(Target.java:385)
> [ivy:retrieve]  at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
> [ivy:retrieve]  at
> org.apache.tools.ant.Project.executeTarget(Project.java:1298)
> [ivy:retrieve]  at
>
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
> [ivy:retrieve]  at
>
> org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
> [ivy:retrieve]  at
> org.apache.tools.ant.Project.executeTargets(Project.java:1181)
> [ivy:retrieve]  at
>
> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
> [ivy:retrieve]  at
>
> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
> [ivy:retrieve] Caused by: java.lang.NumberFormatException: null
>
> Any help on this issues?


This must be a bug. Could you open an issue, with the details you provide
here + the ivy files for hibernate and commons-collections. To find a
workaround and narrow down the problem, could you also try putting the
commons-collections dependency after the dependency on hibernate?

Xavier



>
> --
> View this message in context:
> http://www.nabble.com/can%27t-use-gotoNode-with-a-node-which-has-not-been-visited-yet-tp18850903p18850903.html
> Sent from the ivy-user mailing list archive at Nabble.com.
>
>


-- 
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/