Does Gradle create intermediate directories on publish to Ivy?

When using the ivy {} resolver, Gradle expects that the HTTP Server will create intermediate directories in response to a PUT request. Granted, this might be an unreasonable assumption, so I’ve created a feature request for Gradle to support creating these: Gradle-2392.

In the meantime, I think your best bet is to directly configure an Ivy DependencyResolver. The best docs for how to do this are in the integration tests here.