Setting up an Ivy repository with a Http Server to allow put operations (as build broken due to GRADLE-2104 after milestone-8 upgrade)


(richard murray) #1

Hi I’ve just upgraded to 1.0-milestone-8 and I’m getting the same problem raised on this forum issue:

http://forums.gradle.org/gradle/topics/milestone_8_jsch_0_1_42_jar_missing_ivy_sftpresolver_can_not_be_be_used_anymore

I’m using an SSHResolver as follows.

add(new org.apache.ivy.plugins.resolver.SshResolver()) {
            name = 'ivy_repo'
            user = 'xxxxx'
            userPassword = 'xxxxxxxxx'
            addIvyPattern
    "/uwm/ivy-repo/[organisation]/[module]/ivys/ivy-[revision].xml"
            addArtifactPattern "/uwm/ivy-repo/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"
            host = "junior"
        }

I see from the forum issue that a Jira ticket GRADLE-2104 has been raised and a workaround suggested. Instead of implementing the workaround I was thinking of switching to a URL resolver instead. This works fine for retrieving dependencies but I’ve had trouble in the past getting the publish to work when using a URL resolver. As Gradle uses Ivy internally - and all your documentation shows examples of URL resolvers I thought this must be something you do internally and could advise?

I’ve tried using a Jetty web server before but got errors that ‘HTTP method PUT is not supported’. I raised this on a Jetty forum and they stated that Jetty ‘doesn’t support put and delete on the base resource handler’. So I just wondered which web server you guys use and if you could advise on the setup?


#2

You might want to consider switching to a repository manager like Artifactory or Nexus. They will give you support for http uploads plus a lot more goodness.