[ 
https://issues.apache.org/jira/browse/IVY-1436?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13754990#comment-13754990
 ] 

Jerry Maloney commented on IVY-1436:
------------------------------------

>  Isn't the artifact called "en\PresentationUI-3.0.6290.5001.xml" on the 
> server?

No, due to a poorly-constructed ivy file. The artifact name in the ivy file 
that identifies this file on Artifactory is {{en\PresentationUI}}, but when the 
file was deployed, it was stored to {{en/PresentationUI}}. This is because it 
was uploaded to our instance of Artifactory which interprets \ as the same as /.

I am migrating us to Artifactory 3, and I initially found that I could not 
retrieve this artifact after migration because our instance of Artifactory 3 
did not translate \ to /. I was able to correct this by adding 
{{org.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH=true}} to the 
catalina configuration where Artifactory runs, but I thought this Ivy patch 
would be an additional layer of safeguard.

Is it even possible for something to be stored at en\PresentationUI which is 
not the same as en/PresentationUI? Maybe there's a legitimate use case for this 
that I didn't think of.
                
> Backslash in ivy.xml /ivy-module/publications/artifact/@name breaks retrieval
> -----------------------------------------------------------------------------
>
>                 Key: IVY-1436
>                 URL: https://issues.apache.org/jira/browse/IVY-1436
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.2.0, 2.3.0, 2.4.0
>            Reporter: Jerry Maloney
>              Labels: artifact, patch, retrieval, url
>             Fix For: 2.4.0
>
>         Attachments: FixURLResolverUnitTests.patch, NormalizeBackslash.patch
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> I have defined a URL resolver that includes, among others, the artifact 
> pattern {{<artifact 
> pattern="http://repo1:8081/artifactory/ext-repackaged-local/[organization]/[module]/[revision]/[type]/[artifact]-[revision].[ext]";
>  />}} as well as an ivy pattern. The ivy file resolves properly, but it 
> includes a published artifact with the defintion {{<artifact 
> name="en\PresentationUI" type="xml" ext="xml" extra:os="windows" 
> conf="default"/>}}. This ivy file has been in our artifact repository for a 
> long time and cannot be changed.
> My issue occurs when ivy tries to retrieve this particular artifact. It uses 
> the URL 
> {{http://repo1:8081/artifactory/ext-repackaged-local/com/Microsoft/ReferenceAssemblies/3.0.6920.5001/xml/en\PresentationUI-3.0.6920.5001.xml}}
>  which does not resolve due to the backslash between {{en}} and 
> {{PresentationUI}}.
> I propose that ivy should fix URLs like this by replacing \ with /. I already 
> have a fix ready to go which I'll use in my situation, but I would like this 
> change to be accepted in the project.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to