[ http://jira.codehaus.org/browse/WAGONHTTP-8?page=comments#action_66836 ] 

Matthew Daniel commented on WAGONHTTP-8:
----------------------------------------

{quote}
Confirm lack of MKCOL issue, tested on Fedora Core 5/Apache2.2 DAV w/ wagon 
1.0-alpha-6.
{quote}

Oh, sorry, I saw "lack of issue" and thought you were confirming that I was 
crazy. :-)

That code snippet (at least at a cursory glance) looks like it would do the 
job, but it can't do that with an existing URI (at least according to section 
8.3.1 of RFC 2518). There is one school of thought that says try to PUT the 
artifact, and *check the damn response code*. If it needs a MKCOL, try the 
whole URI and *check the damn response code* for 409 and the walk the URI like 
you suggested. Oh, and while walking the URI, maybe the code should check the 
response code from time to time.

That part about "access denided" really raises my blood pressure because it's 
not just wrong, it's misleading.

> wagon-http does not MKCOL for missing parent resources during deploy
> --------------------------------------------------------------------
>
>          Key: WAGONHTTP-8
>          URL: http://jira.codehaus.org/browse/WAGONHTTP-8
>      Project: wagon-http
>         Type: Bug

>     Versions: 1.0-alpha-6
>  Environment: Linux/x86_64, FC4, jdk 1.5.0_06-b05, mvn 2.0.2, against 
> Apache/2.0.54 (Fedora) DAV/2 
>     Reporter: Matthew Daniel
>     Priority: Blocker

>
>
> Please see MNG-1580 and 
> When trying to deploy using wagon-http, it does not understand the concept of 
> parent directories and just issues a blind PUT with the resource URI. Further 
> to the user's confusion, it does not report a helpful message but "Access 
> denided" which is 100% not true.
> {quote}
> [DEBUG] Trace
> org.apache.maven.lifecycle.LifecycleExecutionException: Error deploying 
> artifact        at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:556)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:472)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:451)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:303)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:270)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:139)
>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:249)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>         at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>         at 
> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)        
> at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: org.apache.maven.plugin.MojoExecutionException: Error deploying 
> artifact
>         at 
> org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:160)
>         at 
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:415)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:531)
>         ... 16 more
> Caused by: org.apache.maven.artifact.deployer.ArtifactDeploymentException: 
> Error deploying artifact: Authorization failed: Access denided to: 
> http://servername/path/to/a/non-existant/1.5-SNAPSHOT/artifactid-1.5-20060209.202937-1.jar
>         at 
> org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:91)
>         at 
> org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:148)
>         ... 18 more
> Caused by: org.apache.maven.wagon.TransferFailedException: Authorization 
> failed: Access denided to: 
> http://servername/path/to/a/non-existant/1.5-SNAPSHOT/artifactid-1.5-20060209.202937-1.jar
>         at 
> org.apache.maven.artifact.manager.DefaultWagonManager.putRemoteFile(DefaultWagonManager.java:215)
>         at 
> org.apache.maven.artifact.manager.DefaultWagonManager.putArtifact(DefaultWagonManager.java:109)
>         at 
> org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:77)
>         ... 19 more
> Caused by: org.apache.maven.wagon.authorization.AuthorizationException: 
> Access denided to: 
> http://servername/path/to/a/non-existant/1.5-SNAPSHOT/artifactid-1.5-20060209.202937-1.jar
>         at 
> org.apache.maven.wagon.providers.http.HttpWagon.put(HttpWagon.java:202)
>         at 
> org.apache.maven.artifact.manager.DefaultWagonManager.putRemoteFile(DefaultWagonManager.java:180)
>         ... 21 more
> {quote}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to