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 ) | |||
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; | |||
try | |||
@@ -175,12 +193,11 @@ public class Expand | |||
while( ( ze = zis.getNextEntry() ) != null ) | |||
{ | |||
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 ) | |||
@@ -192,9 +209,6 @@ public class Expand | |||
{ | |||
IOUtil.shutdownStream( zis ); | |||
} | |||
final String message = "expand complete"; | |||
getLogger().debug( message ); | |||
} | |||
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 | |||
{ | |||
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; | |||
} | |||
getLogger().debug( "expanding " + entryName + " to " + f ); | |||
getLogger().debug( "expanding " + entryName + " to " + file ); | |||
// create intermediary directories - sometimes zip don't add them | |||
File dirF = f.getParentFile(); | |||
dirF.mkdirs(); | |||
final File parent = file.getParentFile(); | |||
parent.mkdirs(); | |||
if( isDirectory ) | |||
{ | |||
f.mkdirs(); | |||
file.mkdirs(); | |||
} | |||
else | |||
{ | |||
FileOutputStream fos = null; | |||
try | |||
{ | |||
fos = new FileOutputStream( f ); | |||
fos = new FileOutputStream( file ); | |||
IOUtil.copy( input, fos ); | |||
} | |||
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 | |||
extends Expand | |||
{ | |||
protected void expandFile( final File src, final File dir ) | |||
protected void expandArchive( final File src, final File dir ) | |||
throws TaskException | |||
{ | |||
if( getLogger().isInfoEnabled() ) | |||
{ | |||
final String message = "Expanding: " + src + " into " + dir; | |||
getLogger().info( message ); | |||
} | |||
TarInputStream input = null; | |||
FileInputStream fileInput = null; | |||
try | |||
@@ -164,6 +164,24 @@ public class Expand | |||
*/ | |||
protected void expandFile( final File src, final File dir ) | |||
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; | |||
try | |||
@@ -175,12 +193,11 @@ public class Expand | |||
while( ( ze = zis.getNextEntry() ) != null ) | |||
{ | |||
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 ) | |||
@@ -192,9 +209,6 @@ public class Expand | |||
{ | |||
IOUtil.shutdownStream( zis ); | |||
} | |||
final String message = "expand complete"; | |||
getLogger().debug( message ); | |||
} | |||
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 | |||
{ | |||
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; | |||
} | |||
getLogger().debug( "expanding " + entryName + " to " + f ); | |||
getLogger().debug( "expanding " + entryName + " to " + file ); | |||
// create intermediary directories - sometimes zip don't add them | |||
File dirF = f.getParentFile(); | |||
dirF.mkdirs(); | |||
final File parent = file.getParentFile(); | |||
parent.mkdirs(); | |||
if( isDirectory ) | |||
{ | |||
f.mkdirs(); | |||
file.mkdirs(); | |||
} | |||
else | |||
{ | |||
FileOutputStream fos = null; | |||
try | |||
{ | |||
fos = new FileOutputStream( f ); | |||
fos = new FileOutputStream( file ); | |||
IOUtil.copy( input, fos ); | |||
} | |||
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 | |||
extends Expand | |||
{ | |||
protected void expandFile( final File src, final File dir ) | |||
protected void expandArchive( final File src, final File dir ) | |||
throws TaskException | |||
{ | |||
if( getLogger().isInfoEnabled() ) | |||
{ | |||
final String message = "Expanding: " + src + " into " + dir; | |||
getLogger().info( message ); | |||
} | |||
TarInputStream input = null; | |||
FileInputStream fileInput = null; | |||
try | |||