[
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.