ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "rednix (JIRA)" <j...@apache.org>
Subject [jira] Commented: (IVY-874) can't use gotoNode with a node which has not been visited yet
Date Wed, 03 Sep 2008 17:15:44 GMT

    [ https://issues.apache.org/jira/browse/IVY-874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12628061#action_12628061
] 

rednix commented on IVY-874:
----------------------------

Thank you for your explanation. In fact this is obviously a different behaviour compared with
the alpha2 release of Ivy.
I've rechecked my retrieve task and it was as follows:

<target name="ivy-resolve-force" depends="prepare" description="--> retreive dependencies
with ivy">
    <ivy:retrieve pattern="lib/[artifact]-[revision](-[classifier]).[ext]" />
</target>

With the old alpha2 I only got the commons-collection version 3.2.1; using the latest one
I got both jars.
So what I did is: adding conf: default to the retrieve task. 

<target name="ivy-resolve-force" depends="prepare" description="--> retreive dependencies
with ivy">
    <ivy:retrieve pattern="lib/[artifact]-[revision](-[classifier]).[ext]" conf="default"
/>
</target>

Then with the latest trunk I only got the 3.2.1 as desired.

I checked the online doc for the retrieve task and found:
Attribute: conf , Required: No. Defaults to the configurations resolved by the last resolve
call, or * if no resolve was explicitly called

So maybe this part has been changed since the alpha2 and the current development status. Anyways
- thank you for your work again!

> 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: hibernate-3.2.6.ga.and.commons-collections-3.2.1_trunk-2008-09-03.log,
ivy-bug-log-2008-08-06.txt, Test-test-default.png
>
>
> 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.


Mime
View raw message