git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270943 13f79535-47bb-0310-9956-ffa450edef68master
@@ -164,6 +164,24 @@ public class Expand | |||||
*/ | */ | ||||
protected void expandFile( final File src, final File dir ) | protected void expandFile( final File src, final File dir ) | ||||
throws TaskException | throws TaskException | ||||
{ | |||||
if( getLogger().isInfoEnabled() ) | |||||
{ | |||||
final String message = "Expanding: " + src + " into " + dir; | |||||
getLogger().info( message ); | |||||
} | |||||
expandArchive( src, dir ); | |||||
if( getLogger().isDebugEnabled() ) | |||||
{ | |||||
final String message = "expand complete"; | |||||
getLogger().debug( message ); | |||||
} | |||||
} | |||||
protected void expandArchive( final File src, final File dir ) | |||||
throws TaskException | |||||
{ | { | ||||
ZipInputStream zis = null; | ZipInputStream zis = null; | ||||
try | try | ||||
@@ -175,12 +193,11 @@ public class Expand | |||||
while( ( ze = zis.getNextEntry() ) != null ) | while( ( ze = zis.getNextEntry() ) != null ) | ||||
{ | { | ||||
final Date date = new Date( ze.getTime() ); | final Date date = new Date( ze.getTime() ); | ||||
extractFile( | |||||
dir, | |||||
zis, | |||||
ze.getName(), | |||||
date, | |||||
ze.isDirectory() ); | |||||
extractFile( dir, | |||||
zis, | |||||
ze.getName(), | |||||
date, | |||||
ze.isDirectory() ); | |||||
} | } | ||||
} | } | ||||
catch( final IOException ioe ) | catch( final IOException ioe ) | ||||
@@ -192,9 +209,6 @@ public class Expand | |||||
{ | { | ||||
IOUtil.shutdownStream( zis ); | IOUtil.shutdownStream( zis ); | ||||
} | } | ||||
final String message = "expand complete"; | |||||
getLogger().debug( message ); | |||||
} | } | ||||
protected void extractFile( final File dir, | protected void extractFile( final File dir, | ||||
@@ -249,31 +263,33 @@ public class Expand | |||||
} | } | ||||
} | } | ||||
File f = FileUtil.resolveFile( dir, entryName ); | |||||
final File file = FileUtil.resolveFile( dir, entryName ); | |||||
try | try | ||||
{ | { | ||||
if( !m_overwrite && f.exists() | |||||
&& f.lastModified() >= date.getTime() ) | |||||
if( !m_overwrite && file.exists() && | |||||
file.lastModified() >= date.getTime() ) | |||||
{ | { | ||||
getLogger().debug( "Skipping " + f + " as it is up-to-date" ); | |||||
final String message = "Skipping " + file + " as it is up-to-date"; | |||||
getLogger().debug( message ); | |||||
return; | return; | ||||
} | } | ||||
getLogger().debug( "expanding " + entryName + " to " + f ); | |||||
getLogger().debug( "expanding " + entryName + " to " + file ); | |||||
// create intermediary directories - sometimes zip don't add them | // create intermediary directories - sometimes zip don't add them | ||||
File dirF = f.getParentFile(); | |||||
dirF.mkdirs(); | |||||
final File parent = file.getParentFile(); | |||||
parent.mkdirs(); | |||||
if( isDirectory ) | if( isDirectory ) | ||||
{ | { | ||||
f.mkdirs(); | |||||
file.mkdirs(); | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
FileOutputStream fos = null; | FileOutputStream fos = null; | ||||
try | try | ||||
{ | { | ||||
fos = new FileOutputStream( f ); | |||||
fos = new FileOutputStream( file ); | |||||
IOUtil.copy( input, fos ); | IOUtil.copy( input, fos ); | ||||
} | } | ||||
finally | finally | ||||
@@ -282,11 +298,12 @@ public class Expand | |||||
} | } | ||||
} | } | ||||
f.setLastModified( date.getTime() ); | |||||
file.setLastModified( date.getTime() ); | |||||
} | } | ||||
catch( FileNotFoundException ex ) | |||||
catch( final FileNotFoundException fnfe ) | |||||
{ | { | ||||
getLogger().warn( "Unable to expand to file " + f.getPath() ); | |||||
final String message = "Unable to expand to file " + file.getPath(); | |||||
getLogger().warn( message ); | |||||
} | } | ||||
} | } | ||||
} | } |
@@ -24,15 +24,9 @@ import org.apache.myrmidon.api.TaskException; | |||||
public class Untar | public class Untar | ||||
extends Expand | extends Expand | ||||
{ | { | ||||
protected void expandFile( final File src, final File dir ) | |||||
protected void expandArchive( final File src, final File dir ) | |||||
throws TaskException | throws TaskException | ||||
{ | { | ||||
if( getLogger().isInfoEnabled() ) | |||||
{ | |||||
final String message = "Expanding: " + src + " into " + dir; | |||||
getLogger().info( message ); | |||||
} | |||||
TarInputStream input = null; | TarInputStream input = null; | ||||
FileInputStream fileInput = null; | FileInputStream fileInput = null; | ||||
try | try | ||||
@@ -164,6 +164,24 @@ public class Expand | |||||
*/ | */ | ||||
protected void expandFile( final File src, final File dir ) | protected void expandFile( final File src, final File dir ) | ||||
throws TaskException | throws TaskException | ||||
{ | |||||
if( getLogger().isInfoEnabled() ) | |||||
{ | |||||
final String message = "Expanding: " + src + " into " + dir; | |||||
getLogger().info( message ); | |||||
} | |||||
expandArchive( src, dir ); | |||||
if( getLogger().isDebugEnabled() ) | |||||
{ | |||||
final String message = "expand complete"; | |||||
getLogger().debug( message ); | |||||
} | |||||
} | |||||
protected void expandArchive( final File src, final File dir ) | |||||
throws TaskException | |||||
{ | { | ||||
ZipInputStream zis = null; | ZipInputStream zis = null; | ||||
try | try | ||||
@@ -175,12 +193,11 @@ public class Expand | |||||
while( ( ze = zis.getNextEntry() ) != null ) | while( ( ze = zis.getNextEntry() ) != null ) | ||||
{ | { | ||||
final Date date = new Date( ze.getTime() ); | final Date date = new Date( ze.getTime() ); | ||||
extractFile( | |||||
dir, | |||||
zis, | |||||
ze.getName(), | |||||
date, | |||||
ze.isDirectory() ); | |||||
extractFile( dir, | |||||
zis, | |||||
ze.getName(), | |||||
date, | |||||
ze.isDirectory() ); | |||||
} | } | ||||
} | } | ||||
catch( final IOException ioe ) | catch( final IOException ioe ) | ||||
@@ -192,9 +209,6 @@ public class Expand | |||||
{ | { | ||||
IOUtil.shutdownStream( zis ); | IOUtil.shutdownStream( zis ); | ||||
} | } | ||||
final String message = "expand complete"; | |||||
getLogger().debug( message ); | |||||
} | } | ||||
protected void extractFile( final File dir, | protected void extractFile( final File dir, | ||||
@@ -249,31 +263,33 @@ public class Expand | |||||
} | } | ||||
} | } | ||||
File f = FileUtil.resolveFile( dir, entryName ); | |||||
final File file = FileUtil.resolveFile( dir, entryName ); | |||||
try | try | ||||
{ | { | ||||
if( !m_overwrite && f.exists() | |||||
&& f.lastModified() >= date.getTime() ) | |||||
if( !m_overwrite && file.exists() && | |||||
file.lastModified() >= date.getTime() ) | |||||
{ | { | ||||
getLogger().debug( "Skipping " + f + " as it is up-to-date" ); | |||||
final String message = "Skipping " + file + " as it is up-to-date"; | |||||
getLogger().debug( message ); | |||||
return; | return; | ||||
} | } | ||||
getLogger().debug( "expanding " + entryName + " to " + f ); | |||||
getLogger().debug( "expanding " + entryName + " to " + file ); | |||||
// create intermediary directories - sometimes zip don't add them | // create intermediary directories - sometimes zip don't add them | ||||
File dirF = f.getParentFile(); | |||||
dirF.mkdirs(); | |||||
final File parent = file.getParentFile(); | |||||
parent.mkdirs(); | |||||
if( isDirectory ) | if( isDirectory ) | ||||
{ | { | ||||
f.mkdirs(); | |||||
file.mkdirs(); | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
FileOutputStream fos = null; | FileOutputStream fos = null; | ||||
try | try | ||||
{ | { | ||||
fos = new FileOutputStream( f ); | |||||
fos = new FileOutputStream( file ); | |||||
IOUtil.copy( input, fos ); | IOUtil.copy( input, fos ); | ||||
} | } | ||||
finally | finally | ||||
@@ -282,11 +298,12 @@ public class Expand | |||||
} | } | ||||
} | } | ||||
f.setLastModified( date.getTime() ); | |||||
file.setLastModified( date.getTime() ); | |||||
} | } | ||||
catch( FileNotFoundException ex ) | |||||
catch( final FileNotFoundException fnfe ) | |||||
{ | { | ||||
getLogger().warn( "Unable to expand to file " + f.getPath() ); | |||||
final String message = "Unable to expand to file " + file.getPath(); | |||||
getLogger().warn( message ); | |||||
} | } | ||||
} | } | ||||
} | } |
@@ -24,15 +24,9 @@ import org.apache.myrmidon.api.TaskException; | |||||
public class Untar | public class Untar | ||||
extends Expand | extends Expand | ||||
{ | { | ||||
protected void expandFile( final File src, final File dir ) | |||||
protected void expandArchive( final File src, final File dir ) | |||||
throws TaskException | throws TaskException | ||||
{ | { | ||||
if( getLogger().isInfoEnabled() ) | |||||
{ | |||||
final String message = "Expanding: " + src + " into " + dir; | |||||
getLogger().info( message ); | |||||
} | |||||
TarInputStream input = null; | TarInputStream input = null; | ||||
FileInputStream fileInput = null; | FileInputStream fileInput = null; | ||||
try | try | ||||