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

Xavier Hanin updated IVY-787:
-----------------------------

    Fix Version/s: 2.0

> ivy.original.xml file using artifact pattern in cache and causing problems
> --------------------------------------------------------------------------
>
>                 Key: IVY-787
>                 URL: https://issues.apache.org/jira/browse/IVY-787
>             Project: Ivy
>          Issue Type: Bug
>            Reporter: Shawn Castrianni
>             Fix For: 2.0
>
>
> > I have a caches tag like this:
> >
> >                <caches defaultCacheDir="${ivy.cacheDir.root}/${
> > env.CACHE_DIR}-${env.BUILD_REVISION}" 
> > ivyPattern="${lgcbuild.releaseName}/[module]/[branch]/[revision]/[type]/[artifact].[ext]"
> > artifactPattern="${lgcbuild.releaseName
> > }/[module]/[branch]/[revision]/[type]/[home]/[homeType]/[path]/[artifa
> > ct].[ext]"/>
> >
> > which includes my custom attributes of [home], [homeType], and [path].  
> > In my ivy.xml files, some of these custom attributes are filled out 
> > and some are left as empty strings.  The empty strings allow them to 
> > be ignored when used as directories.  Everything seems to work fine 
> > for the publish, resolve, and retrieve.  However, my cache is not 
> > quite right.  The ivy.xmlis properly using the ivyPattern above in my 
> > caches tag, however, there is some other ivy.original.xml file that 
> > seems to be using the artifactPattern.  Because it is using the 
> > artifactPattern AND there is no value at all for my custom attributes 
> > (not even an empty string), the cache is placing the ivy.original.xml 
> > file into subdirectories with "[home]", "[homeType]", and "[path]" as 
> > names.  This ivy.original.xml file is probably a new file as a result of an 
> > enhancement recently implemented in IVY 2 to retain original dependency 
> > information.
> Let's say it's part of the change in cache management, now we cache the 
> module descriptor exactly as downloaded, before storing it in ivy format 
> (when you use a pom the difference is more obvious).
> >
> > Regardless, I would think the ivy.original.xml file should probably 
> > also use the ivyPattern in the cache and not the artifactPattern??
> The problem is that people may not use the [artifact] token in ivy cache 
> pattern, and since we use this token to make the difference between the 
> original file and the converted one, we could run into name collisions in 
> this case. But maybe using the artifact token is not a good idea, maybe we 
> should try to append a suffix to the ivy file path instead (like .original).
> Please open an issue about this problem, and we'll see what's the best option 
> to solve the problem considering what I just said.
> Xavier

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