Details
Description
I'm trying to upload an artifact to a Maven repository, using WebDAV. I'm using wagon-webdav-1.0-beta-2.
The uploadArtifacts section of my build file looks like this:
uploadArchives {
repositories.mavenDeployer {
name = 'googleCodeDeployer'
configuration = configurations.mavenDeploy
repository(url: "dav:https://bzb-framework.googlecode.com/svn/maven-repository/") {
authentication(userName: "my.name", password: "mypassword")
}
}
}
Now, when I run 'gradle upload -s', I get the following stacktrace:
org.gradle.api.GradleScriptException: Build file '/Users/jlust/Projecten/BeeWorks/meiji-framework/trunk/gradle/hibernate-tools/build.gradle'
Execution failed for task ':uploadArchives'.
at org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:232)
at org.gradle.execution.DefaultTaskExecuter.executeTask(DefaultTaskExecuter.java:165)
at org.gradle.execution.DefaultTaskExecuter.doExecute(DefaultTaskExecuter.java:156)
at org.gradle.execution.DefaultTaskExecuter.execute(DefaultTaskExecuter.java:74)
at org.gradle.execution.TaskNameResolvingBuildExecuter.execute(TaskNameResolvingBuildExecuter.java:174)
at org.gradle.execution.DelegatingBuildExecuter.execute(DelegatingBuildExecuter.java:54)
at org.gradle.GradleLauncher.doBuildStages(GradleLauncher.java:165)
at org.gradle.GradleLauncher.doBuild(GradleLauncher.java:124)
at org.gradle.GradleLauncher.run(GradleLauncher.java:95)
at org.gradle.Main.execute(Main.java:100)
at org.gradle.Main.main(Main.java:43)
at org.gradle.BootstrapMain.main(BootstrapMain.java:50)
Caused by: org.gradle.api.GradleException: Could not publish configurations [configuration 'archives'].
at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingIvyService.publish(ErrorHandlingIvyService.java:44)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.publish(DefaultConfiguration.java:194)
at org.gradle.api.tasks.Upload.upload(Upload.java:57)
at org.gradle.api.DefaultTask.invokeMethod(DefaultTask.groovy)
at org.gradle.util.ReflectionUtil.invoke(ReflectionUtil.groovy:23)
at org.gradle.api.internal.project.AnnotationProcessingTaskFactory$2.execute(AnnotationProcessingTaskFactory.java:125)
at org.gradle.api.internal.project.AnnotationProcessingTaskFactory$2.execute(AnnotationProcessingTaskFactory.java:123)
at org.gradle.api.internal.AbstractTask.doExecute(AbstractTask.java:257)
at org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:222)
... 11 common frames omitted
Caused by: org.apache.tools.ant.BuildException: Error deploying artifact 'org.meijiframework.gradle:gradle-hibernate-tools:jar': Error retrieving previous build number for artifact 'org.meijiframework.gradle:gradle-hibernate-tools:jar': repository metadata for: 'snapshot org.meijiframework.gradle:gradle-hibernate-tools:1.0.0-SNAPSHOT' could not be retrieved from repository: remote due to an error: Unsupported Protocol: 'dav': Cannot find wagon which supports the requested protocol: dav
at org.apache.maven.artifact.ant.DeployTask.doExecute(DeployTask.java:138)
at org.gradle.api.internal.artifacts.publish.maven.deploy.CustomDeployTask.doExecute(CustomDeployTask.java:42)
at org.apache.maven.artifact.ant.AbstractArtifactTask.execute(AbstractArtifactTask.java:665)
at org.gradle.api.internal.artifacts.publish.maven.deploy.AbstractMavenResolver.execute(AbstractMavenResolver.java:186)
at org.gradle.api.internal.artifacts.publish.maven.deploy.AbstractMavenResolver.commitPublishTransaction(AbstractMavenResolver.java:178)
at org.apache.ivy.core.publish.PublishEngine.publish(PublishEngine.java:263)
at org.gradle.api.internal.artifacts.ivyservice.DefaultIvyDependencyPublisher.publish(DefaultIvyDependencyPublisher.java:62)
at org.gradle.api.internal.artifacts.ivyservice.DefaultIvyService.publish(DefaultIvyService.java:127)
at org.gradle.api.internal.artifacts.ivyservice.ShortcircuitEmptyConfigsIvyService.publish(ShortcircuitEmptyConfigsIvyService.java:61)
at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingIvyService.publish(ErrorHandlingIvyService.java:42)
... 19 common frames omitted
Caused by: org.apache.maven.artifact.deployer.ArtifactDeploymentException: Error retrieving previous build number for artifact 'org.meijiframework.gradle:gradle-hibernate-tools:jar': repository metadata for: 'snapshot org.meijiframework.gradle:gradle-hibernate-tools:1.0.0-SNAPSHOT' could not be retrieved from repository: remote due to an error: Unsupported Protocol: 'dav': Cannot find wagon which supports the requested protocol: dav
at org.apache.maven.artifact.transform.SnapshotTransformation.transformForDeployment(SnapshotTransformation.java:106)
at org.apache.maven.artifact.transform.DefaultArtifactTransformationManager.transformForDeployment(DefaultArtifactTransformationManager.java:78)
at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:71)
at org.apache.maven.artifact.ant.DeployTask.doExecute(DeployTask.java:117)
... 28 common frames omitted
Caused by: org.apache.maven.artifact.repository.metadata.RepositoryMetadataResolutionException: repository metadata for: 'snapshot org.meijiframework.gradle:gradle-hibernate-tools:1.0.0-SNAPSHOT' could not be retrieved from repository: remote due to an error: Unsupported Protocol: 'dav': Cannot find wagon which supports the requested protocol: dav
at org.apache.maven.artifact.repository.metadata.DefaultRepositoryMetadataManager.resolveAlways(DefaultRepositoryMetadataManager.java:352)
at org.apache.maven.artifact.transform.SnapshotTransformation.resolveLatestSnapshotBuildNumber(SnapshotTransformation.java:161)
at org.apache.maven.artifact.transform.SnapshotTransformation.transformForDeployment(SnapshotTransformation.java:100)
... 31 common frames omitted
Caused by: org.apache.maven.wagon.TransferFailedException: Unsupported Protocol: 'dav': Cannot find wagon which supports the requested protocol: dav
at org.apache.maven.artifact.manager.DefaultWagonManager.getRemoteFile(DefaultWagonManager.java:404)
at org.apache.maven.artifact.manager.DefaultWagonManager.getArtifactMetadataFromDeploymentRepository(DefaultWagonManager.java:379)
at org.apache.maven.artifact.repository.metadata.DefaultRepositoryMetadataManager.getArtifactMetadataFromDeploymentRepository(DefaultRepositoryMetadataManager.java:380)
at org.apache.maven.artifact.repository.metadata.DefaultRepositoryMetadataManager.resolveAlways(DefaultRepositoryMetadataManager.java:348)
... 33 common frames omitted
Caused by: org.apache.maven.wagon.UnsupportedProtocolException: Cannot find wagon which supports the requested protocol: dav
at org.apache.maven.artifact.manager.DefaultWagonManager.getWagon(DefaultWagonManager.java:135)
at org.apache.maven.artifact.manager.DefaultWagonManager.getRemoteFile(DefaultWagonManager.java:398)
... 36 common frames omitted
Caused by: org.codehaus.plexus.component.repository.exception.ComponentLookupException: Unable to lookup component 'org.apache.maven.wagon.Wagondav', it could not be created
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:335)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:440)
at org.apache.maven.artifact.manager.DefaultWagonManager.getWagon(DefaultWagonManager.java:131)
... 37 common frames omitted
Caused by: org.codehaus.plexus.component.factory.ComponentInstantiationException: Could not instanciate component: role: 'org.apache.maven.wagon.Wagon', implementation: 'org.apache.maven.wagon.providers.webdav.WebDavWagon', role hint: 'dav'
at org.codehaus.plexus.component.factory.java.JavaComponentFactory.makeException(JavaComponentFactory.java:77)
at org.codehaus.plexus.component.factory.java.JavaComponentFactory.newInstance(JavaComponentFactory.java:62)
at org.codehaus.plexus.DefaultPlexusContainer.createComponentInstance(DefaultPlexusContainer.java:1464)
at org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:93)
at org.codehaus.plexus.component.manager.PerLookupComponentManager.getComponent(PerLookupComponentManager.java:48)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:331)
... 39 common frames omitted
Caused by: java.lang.VerifyError: (class: org/apache/maven/wagon/providers/webdav/WebDavWagon, method: getFileList signature: (Ljava/lang/String;)Ljava/util/List
Incompatible object argument for function call
at org.codehaus.plexus.component.factory.java.JavaComponentFactory.newInstance(JavaComponentFactory.java:44)
Adam suggested the following on the mailing list:
This looks like a jar versioning problem. Could you try replacing
$gradleHome/lib/commons-httpclient-3.0.jar with
commons-httpclient-2.0.2.jar, and removing
$gradleHome/lib/webdavlib-2.0.jar, and see if it works.
This resolved the problem.