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

                 Key: IVY-874
                 URL: https://issues.apache.org/jira/browse/IVY-874
             Project: Ivy
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.0-RC1
         Environment: 2.0.0-rc1-local-20080805174033 (built from trunk); 
checked using Eclipse 3.3 under Windows XP; Ant 1.7.0; jdk1.5.0_05
            Reporter: rednix


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 

initially posted on the mailing list: 
http://www.nabble.com/can%27t-use-gotoNode-with-a-node-which-has-not-been-visited-yet-td18850903.html

I've already tried to change the order of the dependency definition but with no 
luck (same result).

The resolve using the ivy-2.0.0-alpha2-incubating.jar works perfectly. I will 
attach the console log for that to the issue as a textfile.

-- 
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