[ 
https://issues.apache.org/jira/browse/IVY-912?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Guy Mahieu updated IVY-912:
---------------------------

    Description: 
I'm writing an IDE plugin, and I need to access the filepath of a resolved 
dependency to add to the dependencies of the IDE project.
To do this, I needed to use the DefaultRepositoryCacheManager directly since 
the getArchiveFileInCache(artifact) method is not on the interface.

Was this an intentional decision, if so: how should I lookup the archive for 
the artifact? If not, can this method become part of the interface so the 
usabiliti of the API increases?

Small pseudo code snippet to illustrate the current API usage: {noformat} if 
(repositoryCacheManager instanceof DefaultRepositoryCacheManager)   {
  DefaultRepositoryCacheManager defaultRepositoryCacheManager = 
(DefaultRepositoryCacheManager) repositoryCacheManager;
  
projectDependencies.add(defaultRepositoryCacheManager.getArchiveFileInCache(artifact).getAbsolutePath());
         
}  
{noformat} 

  was:
I'm writing an IDE plugin, and I need to access the filepath of a resolved 
dependency to add to the dependencies of the IDE project.
To do this, I needed to use the DefaultRepositoryCacheManager directly since 
the getArchiveFileInCache(artifact) method is not on the interface.

Was this an intentional decision, if so: how should I lookup the archive for 
the artifact? If not, can this method become part of the interface so the 
usabiliti of the API increases?

Small code snippet to illustrate the current API usage:
            RepositoryCacheManager repositoryCacheManager = 
resolver.getRepositoryCacheManager();
            if (repositoryCacheManager instanceof 
DefaultRepositoryCacheManager) {
                DefaultRepositoryCacheManager defaultRepositoryCacheManager = 
(DefaultRepositoryCacheManager) repositoryCacheManager;
                
projectDependencies.add(defaultRepositoryCacheManager.getArchiveFileInCache(artifact).getAbsolutePath());
            } else {
                // TODO Check with Ivy dev team if the getArchiveFileInCache 
method can be pulled up to the interface
                throw new RuntimeException("Unsupported RepositoryCacheManager 
type: " + repositoryCacheManager.getClass().getName());
            }



        Summary: Can the getArchiveFileInCache() methods be put on the 
RepositoryCacheManager  interface?  (was: Can the getArchiveFileInCache() 
methods be put on the RepositoryCacheManager  inteface?)

> Can the getArchiveFileInCache() methods be put on the RepositoryCacheManager  
> interface?
> ----------------------------------------------------------------------------------------
>
>                 Key: IVY-912
>                 URL: https://issues.apache.org/jira/browse/IVY-912
>             Project: Ivy
>          Issue Type: Wish
>          Components: Core
>    Affects Versions: 2.0.0-beta-2
>            Reporter: Guy Mahieu
>
> I'm writing an IDE plugin, and I need to access the filepath of a resolved 
> dependency to add to the dependencies of the IDE project.
> To do this, I needed to use the DefaultRepositoryCacheManager directly since 
> the getArchiveFileInCache(artifact) method is not on the interface.
> Was this an intentional decision, if so: how should I lookup the archive for 
> the artifact? If not, can this method become part of the interface so the 
> usabiliti of the API increases?
> Small pseudo code snippet to illustrate the current API usage: {noformat} if 
> (repositoryCacheManager instanceof DefaultRepositoryCacheManager)   {
>   DefaultRepositoryCacheManager defaultRepositoryCacheManager = 
> (DefaultRepositoryCacheManager) repositoryCacheManager;
>   
> projectDependencies.add(defaultRepositoryCacheManager.getArchiveFileInCache(artifact).getAbsolutePath());
>          
> }  
> {noformat} 

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

Reply via email to