You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wagon-commits@maven.apache.org by br...@apache.org on 2005/06/14 02:41:13 UTC
svn commit: r190538 - /maven/wagon/trunk/wagon-provider-api
/maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon
/maven/wagon/trunk/wagon-providers
/maven/wagon/trunk/wagon-providers/wagon-file
/maven/wagon/trunk/wagon-providers/wagon-file/src/main/java/org/apache/maven/wagon/providers/file
/maven/wagon/trunk/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh
Author: brett
Date: Mon Jun 13 17:41:12 2005
New Revision: 190538
URL: http://svn.apache.org/viewcvs?rev=190538&view=rev
Log:
PR: MNG-261
create parent directories for the artifact being downloaded at the appropriate time
Modified:
maven/wagon/trunk/wagon-provider-api/pom.xml
maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
maven/wagon/trunk/wagon-providers/pom.xml
maven/wagon/trunk/wagon-providers/wagon-file/pom.xml
maven/wagon/trunk/wagon-providers/wagon-file/src/main/java/org/apache/maven/wagon/providers/file/FileWagon.java
maven/wagon/trunk/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/ScpWagon.java
Modified: maven/wagon/trunk/wagon-provider-api/pom.xml
URL: http://svn.apache.org/viewcvs/maven/wagon/trunk/wagon-provider-api/pom.xml?rev=190538&r1=190537&r2=190538&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-provider-api/pom.xml (original)
+++ maven/wagon/trunk/wagon-provider-api/pom.xml Mon Jun 13 17:41:12 2005
@@ -9,4 +9,5 @@
</parent>
<artifactId>wagon-provider-api</artifactId>
<name>Maven Wagon API</name>
+ <version>1.0-alpha-4-SNAPSHOT</version>
</project>
Modified: maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
URL: http://svn.apache.org/viewcvs/maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java?rev=190538&r1=190537&r2=190538&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java (original)
+++ maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java Mon Jun 13 17:41:12 2005
@@ -139,13 +139,8 @@
throws ConnectionException;
protected void createParentDirectories( File destination )
- throws ResourceDoesNotExistException, TransferFailedException
+ throws TransferFailedException
{
- if ( destination == null )
- {
- throw new ResourceDoesNotExistException( "get: Destination cannot be null" );
- }
-
File destinationDirectory = destination.getParentFile();
if ( destinationDirectory != null && !destinationDirectory.exists() )
{
@@ -164,6 +159,10 @@
protected void getTransfer( Resource resource, File destination, InputStream input )
throws TransferFailedException
{
+ // ensure that the destination is created only when we are ready to transfer
+ fireTransferDebug( "attempting to create parent directories for destination: " + destination.getName() );
+ createParentDirectories( destination );
+
fireGetStarted( resource, destination );
OutputStream output = new LazyFileOutputStream( destination );
Modified: maven/wagon/trunk/wagon-providers/pom.xml
URL: http://svn.apache.org/viewcvs/maven/wagon/trunk/wagon-providers/pom.xml?rev=190538&r1=190537&r2=190538&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/pom.xml (original)
+++ maven/wagon/trunk/wagon-providers/pom.xml Mon Jun 13 17:41:12 2005
@@ -15,7 +15,7 @@
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-provider-api</artifactId>
- <version>1.0-alpha-3</version>
+ <version>1.0-alpha-4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
Modified: maven/wagon/trunk/wagon-providers/wagon-file/pom.xml
URL: http://svn.apache.org/viewcvs/maven/wagon/trunk/wagon-providers/wagon-file/pom.xml?rev=190538&r1=190537&r2=190538&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-file/pom.xml (original)
+++ maven/wagon/trunk/wagon-providers/wagon-file/pom.xml Mon Jun 13 17:41:12 2005
@@ -5,8 +5,9 @@
<parent>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-providers</artifactId>
- <version>1.0-alpha-3</version>
+ <version>1.0-alpha-4-SNAPSHOT</version>
</parent>
<artifactId>wagon-file</artifactId>
<name>Maven Wagon File Provider</name>
+ <version>1.0-alpha-4-SNAPSHOT</version>
</project>
Modified: maven/wagon/trunk/wagon-providers/wagon-file/src/main/java/org/apache/maven/wagon/providers/file/FileWagon.java
URL: http://svn.apache.org/viewcvs/maven/wagon/trunk/wagon-providers/wagon-file/src/main/java/org/apache/maven/wagon/providers/file/FileWagon.java?rev=190538&r1=190537&r2=190538&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-file/src/main/java/org/apache/maven/wagon/providers/file/FileWagon.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-file/src/main/java/org/apache/maven/wagon/providers/file/FileWagon.java Mon Jun 13 17:41:12 2005
@@ -74,24 +74,11 @@
public void fillOutputData( OutputData outputData )
throws TransferFailedException
{
-
Resource resource = outputData.getResource();
File file = new File( getRepository().getBasedir(), resource.getName() );
- File dir = file.getParentFile();
-
- if ( dir != null && !dir.exists() )
- {
-
- if ( !dir.mkdirs() )
- {
- String msg = "Some of the requied directories do not exist and could not be create. " +
- "Requested path: " + file.getAbsolutePath();
-
- throw new TransferFailedException( msg );
- }
- }
+ createParentDirectories( file );
OutputStream outputStream = new LazyFileOutputStream( file );
Modified: maven/wagon/trunk/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/ScpWagon.java
URL: http://svn.apache.org/viewcvs/maven/wagon/trunk/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/ScpWagon.java?rev=190538&r1=190537&r2=190538&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/ScpWagon.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/ScpWagon.java Mon Jun 13 17:41:12 2005
@@ -270,7 +270,7 @@
channel.connect();
- if ( checkAck( in ) != 0 )
+ if ( checkAck( in, false ) != 0 )
{
throw new TransferFailedException( "ACK check failed" );
}
@@ -295,7 +295,7 @@
out.flush();
- if ( checkAck( in ) != 0 )
+ if ( checkAck( in, false ) != 0 )
{
throw new TransferFailedException( "ACK check failed" );
}
@@ -311,7 +311,7 @@
out.flush();
- if ( checkAck( in ) != 0 )
+ if ( checkAck( in, false ) != 0 )
{
throw new TransferFailedException( "ACK check failed" );
}
@@ -404,7 +404,7 @@
while ( true )
{
// TODO: is this really an ACK, or just an in.read()? If the latter, change checkAck method to not return a value, but throw an exception on non-zero result
- int c = checkAck( in );
+ int c = checkAck( in, true );
if ( c != 'C' )
{
@@ -497,7 +497,7 @@
fireGetCompleted( resource, destination );
- if ( checkAck( in ) != 0 )
+ if ( checkAck( in, true ) != 0 )
{
throw new TransferFailedException( "Wrong ACK" );
}
@@ -608,7 +608,7 @@
}
}
- static int checkAck( InputStream in )
+ static int checkAck( InputStream in, boolean isGet )
throws IOException, ResourceDoesNotExistException, TransferFailedException
{
int b = in.read();
@@ -640,7 +640,7 @@
if ( b == 1 )
{
// error
- if ( message.endsWith( "No such file or directory\n" ) )
+ if ( message.endsWith( "No such file or directory\n" ) && isGet )
{
// TODO: this might be too hokey?
throw new ResourceDoesNotExistException( message );
---------------------------------------------------------------------
To unsubscribe, e-mail: wagon-cvs-unsubscribe@maven.apache.org
For additional commands, e-mail: wagon-cvs-help@maven.apache.org