You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "Scott Hebert (JIRA)" <ji...@apache.org> on 2008/03/13 22:02:24 UTC

[jira] Created: (IVY-773) Extra Attributes are not available to resolver after resolve if cache was empty

Extra Attributes are not available to resolver after resolve if cache was empty
-------------------------------------------------------------------------------

                 Key: IVY-773
                 URL: https://issues.apache.org/jira/browse/IVY-773
             Project: Ivy
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.0.0-beta-2
            Reporter: Scott Hebert


_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 attribute.

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()_ method.

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.


[jira] Commented: (IVY-773) Extra Attributes are not available to resolver after resolve if cache was empty

Posted by "Xavier Hanin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-773?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12584443#action_12584443 ] 

Xavier Hanin commented on IVY-773:
----------------------------------

New test of notifications.

> Extra Attributes are not available to resolver after resolve if cache was empty
> -------------------------------------------------------------------------------
>
>                 Key: IVY-773
>                 URL: https://issues.apache.org/jira/browse/IVY-773
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.0-beta-2
>            Reporter: Scott Hebert
>            Assignee: Xavier Hanin
>
> _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 attribute.
> 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()_ method.
> 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.


[jira] Resolved: (IVY-773) Extra Attributes are not available to resolver after resolve if cache was empty

Posted by "Xavier Hanin (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/IVY-773?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

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: https://issues.apache.org/jira/browse/IVY-773
>             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 attribute.
> 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()_ method.
> 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.


[jira] Commented: (IVY-773) Extra Attributes are not available to resolver after resolve if cache was empty

Posted by "Xavier Hanin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-773?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12583065#action_12583065 ] 

Xavier Hanin commented on IVY-773:
----------------------------------

Comment to test JIRA notifications

> Extra Attributes are not available to resolver after resolve if cache was empty
> -------------------------------------------------------------------------------
>
>                 Key: IVY-773
>                 URL: https://issues.apache.org/jira/browse/IVY-773
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.0-beta-2
>            Reporter: Scott Hebert
>            Assignee: Xavier Hanin
>
> _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 attribute.
> 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()_ method.
> 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.


[jira] Commented: (IVY-773) Extra Attributes are not available to resolver after resolve if cache was empty

Posted by "Scott Hebert (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-773?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585182#action_12585182 ] 

Scott Hebert commented on IVY-773:
----------------------------------

I tried out trunk and it works correctly now!

Thanks,

Scott

> Extra Attributes are not available to resolver after resolve if cache was empty
> -------------------------------------------------------------------------------
>
>                 Key: IVY-773
>                 URL: https://issues.apache.org/jira/browse/IVY-773
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.0-beta-2
>            Reporter: Scott Hebert
>            Assignee: Xavier Hanin
>
> _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 attribute.
> 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()_ method.
> 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.


[jira] Commented: (IVY-773) Extra Attributes are not available to resolver after resolve if cache was empty

Posted by "Scott Hebert (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-773?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12581622#action_12581622 ] 

Scott Hebert commented on IVY-773:
----------------------------------

I also discovered that this is only a problem is the module in question is using a static revision.

            boolean isDynamic = getSettings().getVersionMatcher().isDynamic(systemMrid);


> Extra Attributes are not available to resolver after resolve if cache was empty
> -------------------------------------------------------------------------------
>
>                 Key: IVY-773
>                 URL: https://issues.apache.org/jira/browse/IVY-773
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.0-beta-2
>            Reporter: Scott Hebert
>
> _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 attribute.
> 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()_ method.
> 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.


[jira] Commented: (IVY-773) Extra Attributes are not available to resolver after resolve if cache was empty

Posted by "Scott Hebert (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-773?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12582410#action_12582410 ] 

Scott Hebert commented on IVY-773:
----------------------------------

I tried it ... seems to behave differently compared to a dynamic revision.

With a dependency section of 

{code:xml}
<dependencies>
	<dependency org="CAE" name="TEST2" rev="2.15.0"/> 
</dependencies>
{code}

I'm getting this warning:

{noformat}
	ivy internal error: no node found for CAE#TEST2#MAIN;2.15.0: looked in [CAE#TEST1#MAIN;1.0, CAE#TEST2#MAIN;2.15.0, 3rdParties#CAE-Boost#MAIN;1.34.0] and root module id was CAE#TEST1#MAIN;1.0
{noformat}

It also mentions a file is being evicted:

{noformat}
	:: evicted modules:
	3rdParties#CAE-Boost#MAIN;1.34.0 transitively in [default]
	---------------------------------------------------------------------
	|                  |            modules            ||   artifacts   |
	|       conf       | number| search|dwnlded|evicted|| number|dwnlded|
	---------------------------------------------------------------------
	|      default     |   2   |   2   |   2   |   1   ||   1   |   1   |
	---------------------------------------------------------------------
{noformat}

If I use this:

{code:xml}
<dependencies>
	<dependency org="CAE" name="TEST2" rev="2.15.+"/> 
</dependencies>
{code}

There are no errors, evictions or warnings.


{noformat}
:: resolution report :: resolve 791ms :: artifacts dl 1372ms
	---------------------------------------------------------------------
	|                  |            modules            ||   artifacts   |
	|       conf       | number| search|dwnlded|evicted|| number|dwnlded|
	---------------------------------------------------------------------
	|      default     |   2   |   2   |   2   |   0   ||   2   |   2   |
	---------------------------------------------------------------------
{noformat}

> Extra Attributes are not available to resolver after resolve if cache was empty
> -------------------------------------------------------------------------------
>
>                 Key: IVY-773
>                 URL: https://issues.apache.org/jira/browse/IVY-773
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.0-beta-2
>            Reporter: Scott Hebert
>            Assignee: Xavier Hanin
>
> _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 attribute.
> 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()_ method.
> 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.


[jira] Commented: (IVY-773) Extra Attributes are not available to resolver after resolve if cache was empty

Posted by "Xavier Hanin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-773?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12582734#action_12582734 ] 

Xavier Hanin commented on IVY-773:
----------------------------------

Ok, I've reproduced the error you talk about in a unit test, and this is fixed now. Could you try out a new trunk build?

> Extra Attributes are not available to resolver after resolve if cache was empty
> -------------------------------------------------------------------------------
>
>                 Key: IVY-773
>                 URL: https://issues.apache.org/jira/browse/IVY-773
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.0-beta-2
>            Reporter: Scott Hebert
>            Assignee: Xavier Hanin
>
> _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 attribute.
> 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()_ method.
> 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.


[jira] Assigned: (IVY-773) Extra Attributes are not available to resolver after resolve if cache was empty

Posted by "Xavier Hanin (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/IVY-773?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Xavier Hanin reassigned IVY-773:
--------------------------------

    Assignee: Xavier Hanin

> Extra Attributes are not available to resolver after resolve if cache was empty
> -------------------------------------------------------------------------------
>
>                 Key: IVY-773
>                 URL: https://issues.apache.org/jira/browse/IVY-773
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.0-beta-2
>            Reporter: Scott Hebert
>            Assignee: Xavier Hanin
>
> _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 attribute.
> 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()_ method.
> 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.


[jira] Commented: (IVY-773) Extra Attributes are not available to resolver after resolve if cache was empty

Posted by "Xavier Hanin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-773?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12581640#action_12581640 ] 

Xavier Hanin commented on IVY-773:
----------------------------------

I've just checked in an attempt to fix this issue. Could you try out the trunk version and see it it works for you?

> Extra Attributes are not available to resolver after resolve if cache was empty
> -------------------------------------------------------------------------------
>
>                 Key: IVY-773
>                 URL: https://issues.apache.org/jira/browse/IVY-773
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.0-beta-2
>            Reporter: Scott Hebert
>            Assignee: Xavier Hanin
>
> _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 attribute.
> 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()_ method.
> 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.


[jira] Updated: (IVY-773) Extra Attributes are not available to resolver after resolve if cache was empty

Posted by "Xavier Hanin (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/IVY-773?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Xavier Hanin updated IVY-773:
-----------------------------

    Comment: was deleted

> Extra Attributes are not available to resolver after resolve if cache was empty
> -------------------------------------------------------------------------------
>
>                 Key: IVY-773
>                 URL: https://issues.apache.org/jira/browse/IVY-773
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.0-beta-2
>            Reporter: Scott Hebert
>            Assignee: Xavier Hanin
>
> _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 attribute.
> 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()_ method.
> 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.