You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "rednix (JIRA)" <ji...@apache.org> on 2008/09/03 15:39:44 UTC

[jira] Reopened: (IVY-874) can't use gotoNode with a node which has not been visited yet

     [ https://issues.apache.org/jira/browse/IVY-874?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

rednix reopened IVY-874:
------------------------


Hi Xavier,
thanks for your work!
I've tested the case again and the error message is gone. But unfortunately now the resolve ends with two revisions of commons-collections - (version 2.1.1 and 3.2.1). I've created a report and created a graph to show the resulting dependencies: the 2.1.1 are shown there as evicted by the newer rev 3.2.1. So there should not be the older jar included... (at least that's the case when using Ivy 2.0.0-alpha2-incubating - 2007071214275).

the two dependencies in the ivy.xml:

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

I'll attach the graph and the logfile in another comment.

> 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
>            Assignee: Xavier Hanin
>             Fix For: 2.0-RC1
>
>         Attachments: ivy-bug-log-2008-08-06.txt
>
>
> 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.