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.