git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270940 13f79535-47bb-0310-9956-ffa450edef68master
@@ -18,6 +18,7 @@ import org.apache.aut.tar.TarOutputStream; | |||||
import org.apache.avalon.excalibur.io.IOUtil; | import org.apache.avalon.excalibur.io.IOUtil; | ||||
import org.apache.myrmidon.api.TaskException; | import org.apache.myrmidon.api.TaskException; | ||||
import org.apache.tools.ant.types.SourceFileScanner; | import org.apache.tools.ant.types.SourceFileScanner; | ||||
import org.apache.tools.ant.types.ScannerUtil; | |||||
import org.apache.tools.ant.util.mappers.MergingMapper; | import org.apache.tools.ant.util.mappers.MergingMapper; | ||||
/** | /** | ||||
@@ -140,7 +141,7 @@ public class Tar | |||||
for( Iterator e = filesets.iterator(); e.hasNext(); ) | for( Iterator e = filesets.iterator(); e.hasNext(); ) | ||||
{ | { | ||||
TarFileSet fs = (TarFileSet)e.next(); | TarFileSet fs = (TarFileSet)e.next(); | ||||
String[] files = fs.getFiles(); | |||||
String[] files = ScannerUtil.getFiles( fs ); | |||||
if( !archiveIsUpToDate( files ) ) | if( !archiveIsUpToDate( files ) ) | ||||
{ | { | ||||
@@ -188,7 +189,7 @@ public class Tar | |||||
for( Iterator e = filesets.iterator(); e.hasNext(); ) | for( Iterator e = filesets.iterator(); e.hasNext(); ) | ||||
{ | { | ||||
TarFileSet fs = (TarFileSet)e.next(); | TarFileSet fs = (TarFileSet)e.next(); | ||||
String[] files = fs.getFiles(); | |||||
String[] files = ScannerUtil.getFiles( fs ); | |||||
for( int i = 0; i < files.length; i++ ) | for( int i = 0; i < files.length; i++ ) | ||||
{ | { | ||||
File f = new File( fs.getDir(), files[ i ] ); | File f = new File( fs.getDir(), files[ i ] ); | ||||
@@ -8,16 +8,11 @@ | |||||
package org.apache.tools.ant.taskdefs; | package org.apache.tools.ant.taskdefs; | ||||
import org.apache.tools.ant.types.FileSet; | import org.apache.tools.ant.types.FileSet; | ||||
import org.apache.tools.ant.types.DirectoryScanner; | |||||
import org.apache.tools.ant.types.ScannerUtil; | |||||
import org.apache.myrmidon.api.TaskException; | |||||
public class TarFileSet | public class TarFileSet | ||||
extends FileSet | extends FileSet | ||||
{ | { | ||||
private String[] m_files; | |||||
private int m_mode = 0100644; | private int m_mode = 0100644; | ||||
private String m_userName = ""; | private String m_userName = ""; | ||||
private String m_groupName = ""; | private String m_groupName = ""; | ||||
@@ -36,29 +31,6 @@ public class TarFileSet | |||||
m_userName = userName; | m_userName = userName; | ||||
} | } | ||||
/** | |||||
* Get a list of files and directories specified in the fileset. | |||||
* | |||||
* @return a list of file and directory names, relative to the baseDir | |||||
* for the project. | |||||
*/ | |||||
protected String[] getFiles() | |||||
throws TaskException | |||||
{ | |||||
if( m_files == null ) | |||||
{ | |||||
final DirectoryScanner scanner = ScannerUtil.getDirectoryScanner( this ); | |||||
final String[] directories = scanner.getIncludedDirectories(); | |||||
final String[] filesPerSe = scanner.getIncludedFiles(); | |||||
m_files = new String[ directories.length + filesPerSe.length ]; | |||||
System.arraycopy( directories, 0, m_files, 0, directories.length ); | |||||
System.arraycopy( filesPerSe, 0, m_files, directories.length, | |||||
filesPerSe.length ); | |||||
} | |||||
return m_files; | |||||
} | |||||
protected String getGroup() | protected String getGroup() | ||||
{ | { | ||||
return m_groupName; | return m_groupName; | ||||
@@ -14,6 +14,7 @@ import org.apache.myrmidon.api.TaskContext; | |||||
import org.apache.myrmidon.api.TaskException; | import org.apache.myrmidon.api.TaskException; | ||||
import org.apache.myrmidon.framework.PatternUtil; | import org.apache.myrmidon.framework.PatternUtil; | ||||
import org.apache.myrmidon.framework.PatternSet; | import org.apache.myrmidon.framework.PatternSet; | ||||
import org.apache.tools.ant.taskdefs.TarFileSet; | |||||
/** | /** | ||||
* | * | ||||
@@ -607,4 +608,23 @@ public class ScannerUtil | |||||
return getDirectoryScanner( set ); | return getDirectoryScanner( set ); | ||||
} | } | ||||
} | } | ||||
/** | |||||
* Get a list of files and directories specified in the fileset. | |||||
* | |||||
* @return a list of file and directory names, relative to the baseDir | |||||
* for the project. | |||||
*/ | |||||
public static String[] getFiles( final TarFileSet set ) | |||||
throws TaskException | |||||
{ | |||||
final DirectoryScanner scanner = getDirectoryScanner( set ); | |||||
final String[] directories = scanner.getIncludedDirectories(); | |||||
final String[] filesPerSe = scanner.getIncludedFiles(); | |||||
final String[] files = new String[ directories.length + filesPerSe.length ]; | |||||
System.arraycopy( directories, 0, files, 0, directories.length ); | |||||
System.arraycopy( filesPerSe, 0, files, directories.length, | |||||
filesPerSe.length ); | |||||
return files; | |||||
} | |||||
} | } |
@@ -18,6 +18,7 @@ import org.apache.aut.tar.TarOutputStream; | |||||
import org.apache.avalon.excalibur.io.IOUtil; | import org.apache.avalon.excalibur.io.IOUtil; | ||||
import org.apache.myrmidon.api.TaskException; | import org.apache.myrmidon.api.TaskException; | ||||
import org.apache.tools.ant.types.SourceFileScanner; | import org.apache.tools.ant.types.SourceFileScanner; | ||||
import org.apache.tools.ant.types.ScannerUtil; | |||||
import org.apache.tools.ant.util.mappers.MergingMapper; | import org.apache.tools.ant.util.mappers.MergingMapper; | ||||
/** | /** | ||||
@@ -140,7 +141,7 @@ public class Tar | |||||
for( Iterator e = filesets.iterator(); e.hasNext(); ) | for( Iterator e = filesets.iterator(); e.hasNext(); ) | ||||
{ | { | ||||
TarFileSet fs = (TarFileSet)e.next(); | TarFileSet fs = (TarFileSet)e.next(); | ||||
String[] files = fs.getFiles(); | |||||
String[] files = ScannerUtil.getFiles( fs ); | |||||
if( !archiveIsUpToDate( files ) ) | if( !archiveIsUpToDate( files ) ) | ||||
{ | { | ||||
@@ -188,7 +189,7 @@ public class Tar | |||||
for( Iterator e = filesets.iterator(); e.hasNext(); ) | for( Iterator e = filesets.iterator(); e.hasNext(); ) | ||||
{ | { | ||||
TarFileSet fs = (TarFileSet)e.next(); | TarFileSet fs = (TarFileSet)e.next(); | ||||
String[] files = fs.getFiles(); | |||||
String[] files = ScannerUtil.getFiles( fs ); | |||||
for( int i = 0; i < files.length; i++ ) | for( int i = 0; i < files.length; i++ ) | ||||
{ | { | ||||
File f = new File( fs.getDir(), files[ i ] ); | File f = new File( fs.getDir(), files[ i ] ); | ||||
@@ -8,16 +8,11 @@ | |||||
package org.apache.tools.ant.taskdefs; | package org.apache.tools.ant.taskdefs; | ||||
import org.apache.tools.ant.types.FileSet; | import org.apache.tools.ant.types.FileSet; | ||||
import org.apache.tools.ant.types.DirectoryScanner; | |||||
import org.apache.tools.ant.types.ScannerUtil; | |||||
import org.apache.myrmidon.api.TaskException; | |||||
public class TarFileSet | public class TarFileSet | ||||
extends FileSet | extends FileSet | ||||
{ | { | ||||
private String[] m_files; | |||||
private int m_mode = 0100644; | private int m_mode = 0100644; | ||||
private String m_userName = ""; | private String m_userName = ""; | ||||
private String m_groupName = ""; | private String m_groupName = ""; | ||||
@@ -36,29 +31,6 @@ public class TarFileSet | |||||
m_userName = userName; | m_userName = userName; | ||||
} | } | ||||
/** | |||||
* Get a list of files and directories specified in the fileset. | |||||
* | |||||
* @return a list of file and directory names, relative to the baseDir | |||||
* for the project. | |||||
*/ | |||||
protected String[] getFiles() | |||||
throws TaskException | |||||
{ | |||||
if( m_files == null ) | |||||
{ | |||||
final DirectoryScanner scanner = ScannerUtil.getDirectoryScanner( this ); | |||||
final String[] directories = scanner.getIncludedDirectories(); | |||||
final String[] filesPerSe = scanner.getIncludedFiles(); | |||||
m_files = new String[ directories.length + filesPerSe.length ]; | |||||
System.arraycopy( directories, 0, m_files, 0, directories.length ); | |||||
System.arraycopy( filesPerSe, 0, m_files, directories.length, | |||||
filesPerSe.length ); | |||||
} | |||||
return m_files; | |||||
} | |||||
protected String getGroup() | protected String getGroup() | ||||
{ | { | ||||
return m_groupName; | return m_groupName; | ||||
@@ -14,6 +14,7 @@ import org.apache.myrmidon.api.TaskContext; | |||||
import org.apache.myrmidon.api.TaskException; | import org.apache.myrmidon.api.TaskException; | ||||
import org.apache.myrmidon.framework.PatternUtil; | import org.apache.myrmidon.framework.PatternUtil; | ||||
import org.apache.myrmidon.framework.PatternSet; | import org.apache.myrmidon.framework.PatternSet; | ||||
import org.apache.tools.ant.taskdefs.TarFileSet; | |||||
/** | /** | ||||
* | * | ||||
@@ -607,4 +608,23 @@ public class ScannerUtil | |||||
return getDirectoryScanner( set ); | return getDirectoryScanner( set ); | ||||
} | } | ||||
} | } | ||||
/** | |||||
* Get a list of files and directories specified in the fileset. | |||||
* | |||||
* @return a list of file and directory names, relative to the baseDir | |||||
* for the project. | |||||
*/ | |||||
public static String[] getFiles( final TarFileSet set ) | |||||
throws TaskException | |||||
{ | |||||
final DirectoryScanner scanner = getDirectoryScanner( set ); | |||||
final String[] directories = scanner.getIncludedDirectories(); | |||||
final String[] filesPerSe = scanner.getIncludedFiles(); | |||||
final String[] files = new String[ directories.length + filesPerSe.length ]; | |||||
System.arraycopy( directories, 0, files, 0, directories.length ); | |||||
System.arraycopy( filesPerSe, 0, files, directories.length, | |||||
filesPerSe.length ); | |||||
return files; | |||||
} | |||||
} | } |