ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Xavier Hanin <Xavier.Ha...@sas.com>
Subject RE: Handling circular dependencies
Date Fri, 07 Dec 2007 20:43:32 GMT
It makes sense. But we still need to stop the graph visit when we find we hit the same node
twice in the same path to avoid a StackOverflow.

Xavier

> -----Original Message-----
> From: Maarten Coene [mailto:maarten_coene@yahoo.com]
> Sent: Friday, December 07, 2007 3:34 PM
> To: dev@ant.apache.org
> Subject: Handling circular dependencies
>
> Why not delay the circular dependency check untill the resolve is
> finished?
> Maybe the module causing the circular dependency gets evicted so there
> might be no problem at all?
>
> Maarten
>
> ----- Original Message ----
> From: Xavier Hanin (JIRA) <jira@apache.org>
> To: notifications@ant.apache.org
> Sent: Friday, December 7, 2007 9:22:43 PM
> Subject: [jira] Resolved: (IVY-663) latest compatible conflict manager
> fails with circular dependencies and dynamic revision
>
>
>
> I've just committed a fix for this, but it slightly changes the way
>  circular dependencies are handled, we may have to discuss that
> further.
>
> The problem is that for the moment we consider we have a circular
>  dependency as soon as we find the same module id twice in the visit
> path. It
>  means this happens before any conflict resolution is done, therefore
>  letting no chance to a conflict manager to deal with the problem. I
>  haven't actually changed this yet, I've only delayed the moment when
>  isCircular is checked by the ResolveEngine to know if it has to
> continue the
>  graph visit. But I'm wondering if we shouldn't delay the whole
> circular
>  dependency check (including the call to CircularDependencyStrategy) to
>  the moment we have twice the same ModuleRevisionId in the path, and
>  not only ModuleId. We should still handle the case of the module
>  currently resolved specifically, but I think it makes sense to say
> that
>  #A;1->#B;1->#A;2 is not a circular dependency (this can only happen
> with a
>  conflict manager accepting multiple revisions of the same module).
>
> Thoughts?
>
>
>
>
>
>
>
> _______________________________________________________________________
> _____________
> Looking for last minute shopping deals?
> Find them fast with Yahoo! Search.
> http://tools.search.yahoo.com/newsearch/category.php?category=shopping
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message