I am (ab)using ivy resolver for fetching+caching data. This is generally working great.
But it fails when I try to use it for fetching data out of Atlassian Stash, when I need to specify the revision as a query parameter.
The artifactPattern looks like this:
‘https://our.git.url/stash/plugins/servlet/archive/projects/[organisation]/repos/[module]?at=[revision]&format=[ext]’
The output shows that the ? in the url gets translated to %3F before the connection:
Caused by: org.gradle.internal.resource.ResourceException: Could not get resource 'https://our.git.url/stash/plugins/servlet/archive/projects/JBINTOOL/repos/jb.jbit.im.tools.installer.eclipse?at=e7f532a84ec04e6c5ee8e2cd1c59bd1c5c268357&format=zip'.
at org.gradle.internal.resource.ResourceException.failure(ResourceException.java:61)
at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.staticResourceExists(DefaultExternalResourceArtifactResolver.java:77)
...
Caused by: org.gradle.api.UncheckedIOException: Could not HEAD 'https://our.git.url/stash/plugins/servlet/archive/projects/JBINTOOL/repos/jb.jbit.im.tools.installer.eclipse%3Fat=e7f532a84ec04e6c5ee8e2cd1c59bd1c5c268357&format=zip'. Received status code 401 from server: Unauthorized
at org.gradle.internal.resource.transport.http.HttpClientHelper.processResponse(HttpClientHelper.java:123)
The 401 is a side effect of the URL getting mangled, not the root cause.
If I use the mangled URL with curl, I see the same 401. Changing %3f to ? fixes this.
Any chance that this could be fixed?