ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xavier Hanin (JIRA)" <>
Subject [jira] Resolved: (IVY-773) Extra Attributes are not available to resolver after resolve if cache was empty
Date Thu, 03 Apr 2008 16:54:26 GMT


Xavier Hanin resolved IVY-773.

       Resolution: Fixed
    Fix Version/s: 2.0-RC1

Excellent, so I mark this as resolved now. BTW, your buddy resolver sounds like a good idea.
Feel free to share your ideas and your implementation with the community if you can.

> Extra Attributes are not available to resolver after resolve if cache was empty
> -------------------------------------------------------------------------------
>                 Key: IVY-773
>                 URL:
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.0-beta-2
>            Reporter: Scott Hebert
>            Assignee: Xavier Hanin
>             Fix For: 2.0-RC1
> _A bit of background_
> I am creating a resolver that I've called *BuddyResolver*. Essentially, I need to enforce
an access scheme whereby I only want certain modules to use a module as a dependency. My thought
was to add an extra attribute to the info section of an ivy file and have the resolver peek
at its attributes to see if the current module is a buddy of the one is trying to download.
> Let me illustrate....
> *ComponentA* is published on a repository. The authors have deemed that it is only available
to *ComponentB*. 
> *ComponentA* has the following in its +ivy.xml+:
> {code:xml}
> <info organisation="ABC" module="ComponentA" revision="2.15.0" 
> status="Development" publication="20070919115137" 
> buddies="ABC/ComponentB" branch="MAIN">
> {code} 
> Now *ComponentC* adds *ComponentA* to its dependency section.
> A resolve operation is done and my BuddyResolver attempts to query the extra attributes.
If the cache is clean, then the attributes are lost. The method that I using to query this
is: *BasicResolver.getDependency(DependencyDescriptor arg0, ResolveData arg1)*. 
> Note, that it is run again with a populated cache, the I can obtain the value of my extra
> I think I narrowed it down to this line in BasicResolver:
> {code:java}
> 281:             systemMd.setResolvedModuleRevisionId(resolvedMrid);
> {code}
> This method seems to modify the object *rmr* that is going to be returned by the _getDependency()_
> I'd be happy to provide any information I can to help solve the bug.
> Thanks,
> Scott

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message