Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-11318

Wagon 2.0 upgrade broke the Redeploy task for webdav repositories

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • maven-plugin
    • None

      Problem of wagon compatibility between Aether/Wagon 2 in Jenkins 1.434

      Uploading: http://repository.exoplatform.org/content/repositories/exo-private-snapshots/com/exoplatform/platform/cloud/exo.platform.cloud/3.5.0-CR1-SNAPSHOT/exo.platform.cloud-3.5.0-CR1-20111012.034911-9.pom
      FATAL: org.apache.maven.wagon.providers.webdav.WebDavWagon.execute(Lorg/apache/commons/httpclient/HttpMethod;)I
      java.lang.NoSuchMethodError: org.apache.maven.wagon.providers.webdav.WebDavWagon.execute(Lorg/apache/commons/httpclient/HttpMethod;)I
      	at org.apache.maven.wagon.providers.webdav.WebDavWagon.doMkCol(WebDavWagon.java:157)
      	at org.apache.maven.wagon.providers.webdav.WebDavWagon.mkdirs(WebDavWagon.java:129)
      	at org.apache.maven.wagon.shared.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:512)
      	at org.apache.maven.wagon.shared.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:476)
      	at org.apache.maven.wagon.providers.webdav.WebDavWagon.put(WebDavWagon.java:332)
      	at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$PutTask.run(WagonRepositoryConnector.java:825)
      	at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.put(WagonRepositoryConnector.java:465)
      	at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:278)
      	at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:215)
      	at org.sonatype.aether.impl.internal.DefaultRepositorySystem.deploy(DefaultRepositorySystem.java:480)
      	at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:137)
      	at hudson.maven.reporters.MavenArtifactRecord.deploy(MavenArtifactRecord.java:189)
      	at hudson.maven.RedeployPublisher.perform(RedeployPublisher.java:158)
      	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
      	at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:694)
      	at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:669)
      	at hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:987)
      	at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:616)
      	at hudson.model.Run.run(Run.java:1429)
      	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:478)
      	at hudson.model.ResourceController.execute(ResourceController.java:88)
      	at hudson.model.Executor.run(Executor.java:230)
      

          [JENKINS-11318] Wagon 2.0 upgrade broke the Redeploy task for webdav repositories

          Arnaud Héritier created issue -
          Arnaud Héritier made changes -
          Link New: This issue depends on JENKINS-11164 [ JENKINS-11164 ]

          Note : as you can see in logs it is deploying using webdav protocol
          For now I'm downgrading my production server and will do more tests

          Arnaud Héritier added a comment - Note : as you can see in logs it is deploying using webdav protocol For now I'm downgrading my production server and will do more tests

          Olivier Lamy added a comment -

          uhm not sure the old commons-httpclient is correctly locked in maven-plugin pom.

          Olivier Lamy added a comment - uhm not sure the old commons-httpclient is correctly locked in maven-plugin pom.
          Olivier Lamy made changes -
          Summary Original: Wagon 2.0 upgrade broke the Redeploy task New: Wagon 2.0 upgrade broke the Redeploy task for webdav repositories

          3.1 is defined in parent pom and should be used in maven-plugin
          Is it enough ?

          Arnaud Héritier added a comment - 3.1 is defined in parent pom and should be used in maven-plugin Is it enough ?

          Olivier Lamy added a comment -

          yup that the good version
          I wonder if we have somewhere a duplicated forked class org/apache/commons/httpclient/HttpMethod

          Olivier Lamy added a comment - yup that the good version I wonder if we have somewhere a duplicated forked class org/apache/commons/httpclient/HttpMethod

          ok I find in Wagon 2.0 that it uses :

                <dependency>
                  <groupId>org.apache.httpcomponents</groupId>
                  <artifactId>httpclient</artifactId>
                  <version>4.1.2</version>
                </dependency>
                <dependency>
                  <groupId>org.apache.httpcomponents</groupId>
                  <artifactId>httpcore</artifactId>
                  <version>4.1.2</version>
                </dependency>
          

          Let's give it a try...

          Arnaud Héritier added a comment - ok I find in Wagon 2.0 that it uses : <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.1.2</version> </dependency> Let's give it a try...

          Olivier Lamy added a comment -

          AFAIK WebDavWagon use webdav jackrabbit 2.2.5 which use commons-httpclient 3.1
          see: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-webdav-jackrabbit/2.0/wagon-webdav-jackrabbit-2.0.pom

          org.apache.httpcomponents: httpclient:4.1.2 is used by wagon-http.
          IMHO the problem is not here but a class loader issue with something which load an old version of the class org/apache/commons/httpclient/HttpMethod

          Olivier Lamy added a comment - AFAIK WebDavWagon use webdav jackrabbit 2.2.5 which use commons-httpclient 3.1 see: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-webdav-jackrabbit/2.0/wagon-webdav-jackrabbit-2.0.pom org.apache.httpcomponents: httpclient:4.1.2 is used by wagon-http. IMHO the problem is not here but a class loader issue with something which load an old version of the class org/apache/commons/httpclient/HttpMethod
          Arnaud Héritier made changes -
          Priority Original: Major [ 3 ] New: Blocker [ 1 ]

            olamy Olivier Lamy
            aheritier Arnaud Héritier
            Votes:
            3 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: