git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270499 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -259,12 +259,12 @@ public class XMLValidateTask | |||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String[] files = ds.getIncludedFiles(); | String[] files = ds.getIncludedFiles(); | ||||
| for( int j = 0; j < files.length; j++ ) | for( int j = 0; j < files.length; j++ ) | ||||
| { | { | ||||
| File srcFile = new File( fs.getDir( getProject() ), files[ j ] ); | |||||
| File srcFile = new File( fs.getDir(), files[ j ] ); | |||||
| doValidate( srcFile ); | doValidate( srcFile ); | ||||
| fileProcessed++; | fileProcessed++; | ||||
| } | } | ||||
| @@ -473,11 +473,11 @@ public class Checksum extends MatchingTask implements Condition | |||||
| for( int i = 0; i < sizeofFileSet; i++ ) | for( int i = 0; i < sizeofFileSet; i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String[] srcFiles = ds.getIncludedFiles(); | String[] srcFiles = ds.getIncludedFiles(); | ||||
| for( int j = 0; j < srcFiles.length; j++ ) | for( int j = 0; j < srcFiles.length; j++ ) | ||||
| { | { | ||||
| File src = new File( fs.getDir( getProject() ), srcFiles[ j ] ); | |||||
| File src = new File( fs.getDir(), srcFiles[ j ] ); | |||||
| addToIncludeFileMap( src ); | addToIncludeFileMap( src ); | ||||
| } | } | ||||
| } | } | ||||
| @@ -154,13 +154,13 @@ public class DependSet extends MatchingTask | |||||
| { | { | ||||
| FileSet targetFS = (FileSet)enumTargetSets.next(); | FileSet targetFS = (FileSet)enumTargetSets.next(); | ||||
| DirectoryScanner targetDS = targetFS.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner targetDS = targetFS.getDirectoryScanner(); | |||||
| String[] targetFiles = targetDS.getIncludedFiles(); | String[] targetFiles = targetDS.getIncludedFiles(); | ||||
| for( int i = 0; i < targetFiles.length; i++ ) | for( int i = 0; i < targetFiles.length; i++ ) | ||||
| { | { | ||||
| File dest = new File( targetFS.getDir( getProject() ), targetFiles[ i ] ); | |||||
| File dest = new File( targetFS.getDir(), targetFiles[ i ] ); | |||||
| allTargets.add( dest ); | allTargets.add( dest ); | ||||
| if( dest.lastModified() > now ) | if( dest.lastModified() > now ) | ||||
| @@ -212,12 +212,12 @@ public class DependSet extends MatchingTask | |||||
| { | { | ||||
| FileSet sourceFS = (FileSet)enumSourceSets.next(); | FileSet sourceFS = (FileSet)enumSourceSets.next(); | ||||
| DirectoryScanner sourceDS = sourceFS.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner sourceDS = sourceFS.getDirectoryScanner(); | |||||
| String[] sourceFiles = sourceDS.getIncludedFiles(); | String[] sourceFiles = sourceDS.getIncludedFiles(); | ||||
| for( int i = 0; upToDate && i < sourceFiles.length; i++ ) | for( int i = 0; upToDate && i < sourceFiles.length; i++ ) | ||||
| { | { | ||||
| File src = new File( sourceFS.getDir( getProject() ), sourceFiles[ i ] ); | |||||
| File src = new File( sourceFS.getDir(), sourceFiles[ i ] ); | |||||
| if( src.lastModified() > now ) | if( src.lastModified() > now ) | ||||
| { | { | ||||
| @@ -385,8 +385,8 @@ public class ExecuteOn extends ExecTask | |||||
| for( int i = 0; i < filesets.size(); i++ ) | for( int i = 0; i < filesets.size(); i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| File base = fs.getDir( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| File base = fs.getDir(); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| if( !"dir".equals( type ) ) | if( !"dir".equals( type ) ) | ||||
| { | { | ||||
| @@ -131,8 +131,8 @@ public class Expand extends MatchingTask | |||||
| for( int j = 0; j < filesets.size(); j++ ) | for( int j = 0; j < filesets.size(); j++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( j ); | FileSet fs = (FileSet)filesets.get( j ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| File fromDir = fs.getDir( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| File fromDir = fs.getDir(); | |||||
| String[] files = ds.getIncludedFiles(); | String[] files = ds.getIncludedFiles(); | ||||
| for( int i = 0; i < files.length; ++i ) | for( int i = 0; i < files.length; ++i ) | ||||
| @@ -157,7 +157,7 @@ public abstract class MatchingTask extends Task | |||||
| { | { | ||||
| fileset.setDir( baseDir ); | fileset.setDir( baseDir ); | ||||
| fileset.setDefaultexcludes( useDefaultExcludes ); | fileset.setDefaultexcludes( useDefaultExcludes ); | ||||
| return fileset.getDirectoryScanner( getProject() ); | |||||
| return fileset.getDirectoryScanner(); | |||||
| } | } | ||||
| } | } | ||||
| @@ -407,8 +407,8 @@ public class SQLExec | |||||
| for( int i = 0; i < filesets.size(); i++ ) | for( int i = 0; i < filesets.size(); i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| File srcDir = fs.getDir( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| File srcDir = fs.getDir(); | |||||
| String[] srcFiles = ds.getIncludedFiles(); | String[] srcFiles = ds.getIncludedFiles(); | ||||
| @@ -129,7 +129,7 @@ public class Tar | |||||
| } | } | ||||
| // add the main fileset to the list of filesets to process. | // add the main fileset to the list of filesets to process. | ||||
| TarFileSet mainFileSet = new TarFileSet( fileset ); | |||||
| TarFileSet mainFileSet = new TarFileSet( /*fileset*/ ); | |||||
| mainFileSet.setDir( baseDir ); | mainFileSet.setDir( baseDir ); | ||||
| filesets.add( mainFileSet ); | filesets.add( mainFileSet ); | ||||
| } | } | ||||
| @@ -154,7 +154,7 @@ public class Tar | |||||
| for( int i = 0; i < files.length; ++i ) | for( int i = 0; i < files.length; ++i ) | ||||
| { | { | ||||
| if( tarFile.equals( new File( fs.getDir( getProject() ), files[ i ] ) ) ) | |||||
| if( tarFile.equals( new File( fs.getDir(), files[ i ] ) ) ) | |||||
| { | { | ||||
| throw new TaskException( "A tar file cannot include itself" ); | throw new TaskException( "A tar file cannot include itself" ); | ||||
| } | } | ||||
| @@ -196,7 +196,7 @@ public class Tar | |||||
| String[] files = fs.getFiles( getProject() ); | String[] files = fs.getFiles( getProject() ); | ||||
| for( int i = 0; i < files.length; i++ ) | for( int i = 0; i < files.length; i++ ) | ||||
| { | { | ||||
| File f = new File( fs.getDir( getProject() ), files[ i ] ); | |||||
| File f = new File( fs.getDir(), files[ i ] ); | |||||
| String name = files[ i ].replace( File.separatorChar, '/' ); | String name = files[ i ].replace( File.separatorChar, '/' ); | ||||
| tarFile( f, tOut, name, fs ); | tarFile( f, tOut, name, fs ); | ||||
| } | } | ||||
| @@ -322,16 +322,6 @@ public class Tar | |||||
| private String userName = ""; | private String userName = ""; | ||||
| private String groupName = ""; | private String groupName = ""; | ||||
| public TarFileSet( FileSet fileset ) | |||||
| { | |||||
| super( fileset ); | |||||
| } | |||||
| public TarFileSet() | |||||
| { | |||||
| super(); | |||||
| } | |||||
| public void setGroup( String groupName ) | public void setGroup( String groupName ) | ||||
| { | { | ||||
| this.groupName = groupName; | this.groupName = groupName; | ||||
| @@ -359,7 +349,7 @@ public class Tar | |||||
| { | { | ||||
| if( files == null ) | if( files == null ) | ||||
| { | { | ||||
| DirectoryScanner ds = getDirectoryScanner( p ); | |||||
| DirectoryScanner ds = getDirectoryScanner(); | |||||
| String[] directories = ds.getIncludedDirectories(); | String[] directories = ds.getIncludedDirectories(); | ||||
| String[] filesPerSe = ds.getIncludedFiles(); | String[] filesPerSe = ds.getIncludedFiles(); | ||||
| files = new String[ directories.length + filesPerSe.length ]; | files = new String[ directories.length + filesPerSe.length ]; | ||||
| @@ -127,8 +127,8 @@ public class UpToDate extends MatchingTask implements Condition | |||||
| while( upToDate && enum.hasNext() ) | while( upToDate && enum.hasNext() ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)enum.next(); | FileSet fs = (FileSet)enum.next(); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| upToDate = upToDate && scanDir( fs.getDir( getProject() ), | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| upToDate = upToDate && scanDir( fs.getDir(), | |||||
| ds.getIncludedFiles() ); | ds.getIncludedFiles() ); | ||||
| } | } | ||||
| return upToDate; | return upToDate; | ||||
| @@ -264,7 +264,7 @@ public class Zip extends MatchingTask | |||||
| for( int i = 0; i < filesets.size(); i++ ) | for( int i = 0; i < filesets.size(); i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| dss.add( fs.getDirectoryScanner( getProject() ) ); | |||||
| dss.add( fs.getDirectoryScanner() ); | |||||
| } | } | ||||
| int dssSize = dss.size(); | int dssSize = dss.size(); | ||||
| FileScanner[] scanners = new FileScanner[ dssSize ]; | FileScanner[] scanners = new FileScanner[ dssSize ]; | ||||
| @@ -541,7 +541,7 @@ public class Zip extends MatchingTask | |||||
| for( int i = 0; i < filesets.size(); i++ ) | for( int i = 0; i < filesets.size(); i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String prefix = ""; | String prefix = ""; | ||||
| String fullpath = ""; | String fullpath = ""; | ||||
| @@ -229,8 +229,8 @@ public class Copy | |||||
| for( int i = 0; i < m_filesets.size(); i++ ) | for( int i = 0; i < m_filesets.size(); i++ ) | ||||
| { | { | ||||
| final FileSet fileSet = (FileSet)m_filesets.get( i ); | final FileSet fileSet = (FileSet)m_filesets.get( i ); | ||||
| final DirectoryScanner scanner = fileSet.getDirectoryScanner( getProject() ); | |||||
| final File fromDir = fileSet.getDir( getProject() ); | |||||
| final DirectoryScanner scanner = fileSet.getDirectoryScanner(); | |||||
| final File fromDir = fileSet.getDir(); | |||||
| final String[] srcFiles = scanner.getIncludedFiles(); | final String[] srcFiles = scanner.getIncludedFiles(); | ||||
| final String[] srcDirs = scanner.getIncludedDirectories(); | final String[] srcDirs = scanner.getIncludedDirectories(); | ||||
| @@ -486,7 +486,7 @@ public class Copy | |||||
| else | else | ||||
| { | { | ||||
| FileSet fs = (FileSet)m_filesets.get( 0 ); | FileSet fs = (FileSet)m_filesets.get( 0 ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String[] srcFiles = ds.getIncludedFiles(); | String[] srcFiles = ds.getIncludedFiles(); | ||||
| if( srcFiles.length > 0 ) | if( srcFiles.length > 0 ) | ||||
| @@ -44,7 +44,7 @@ public class Delete | |||||
| * | * | ||||
| * @param dir the directory path. | * @param dir the directory path. | ||||
| */ | */ | ||||
| public void setDir( File dir ) | |||||
| public void setDir( final File dir ) | |||||
| { | { | ||||
| m_dir = dir; | m_dir = dir; | ||||
| } | } | ||||
| @@ -54,7 +54,7 @@ public class Delete | |||||
| * | * | ||||
| * @param file the file to be deleted | * @param file the file to be deleted | ||||
| */ | */ | ||||
| public void setFile( File file ) | |||||
| public void setFile( final File file ) | |||||
| { | { | ||||
| m_file = file; | m_file = file; | ||||
| } | } | ||||
| @@ -100,14 +100,16 @@ public class Delete | |||||
| getLogger().info( "Deleting: " + m_file.getAbsolutePath() ); | getLogger().info( "Deleting: " + m_file.getAbsolutePath() ); | ||||
| if( !m_file.delete() ) | if( !m_file.delete() ) | ||||
| { | { | ||||
| String message = "Unable to delete file " + m_file.getAbsolutePath(); | |||||
| final String message = "Unable to delete file " + m_file.getAbsolutePath(); | |||||
| throw new TaskException( message ); | throw new TaskException( message ); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| getLogger().debug( "Could not find file " + m_file.getAbsolutePath() + " to delete." ); | |||||
| final String message = | |||||
| "Could not find file " + m_file.getAbsolutePath() + " to delete."; | |||||
| getLogger().debug( message ); | |||||
| } | } | ||||
| } | } | ||||
| @@ -124,10 +126,10 @@ public class Delete | |||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| try | try | ||||
| { | { | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String[] files = ds.getIncludedFiles(); | String[] files = ds.getIncludedFiles(); | ||||
| String[] dirs = ds.getIncludedDirectories(); | String[] dirs = ds.getIncludedDirectories(); | ||||
| removeFiles( fs.getDir( getProject() ), files, dirs ); | |||||
| removeFiles( fs.getDir(), files, dirs ); | |||||
| } | } | ||||
| catch( TaskException be ) | catch( TaskException be ) | ||||
| { | { | ||||
| @@ -205,7 +205,7 @@ public class Move | |||||
| while( e.hasNext() ) | while( e.hasNext() ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)e.next(); | FileSet fs = (FileSet)e.next(); | ||||
| File dir = fs.getDir( getProject() ); | |||||
| File dir = fs.getDir(); | |||||
| if( okToDelete( dir ) ) | if( okToDelete( dir ) ) | ||||
| { | { | ||||
| @@ -157,8 +157,8 @@ public class Touch | |||||
| for( int i = 0; i < size; i++ ) | for( int i = 0; i < size; i++ ) | ||||
| { | { | ||||
| final FileSet fs = (FileSet)m_filesets.get( i ); | final FileSet fs = (FileSet)m_filesets.get( i ); | ||||
| final DirectoryScanner ds = fs.getDirectoryScanner( null ); | |||||
| final File fromDir = fs.getDir( null ); | |||||
| final DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| final File fromDir = fs.getDir(); | |||||
| final String[] srcFiles = ds.getIncludedFiles(); | final String[] srcFiles = ds.getIncludedFiles(); | ||||
| final String[] srcDirs = ds.getIncludedDirectories(); | final String[] srcDirs = ds.getIncludedDirectories(); | ||||
| @@ -1022,7 +1022,7 @@ public class Javadoc | |||||
| final File source = resolveFile( list[ j ] ); | final File source = resolveFile( list[ j ] ); | ||||
| fs.setDir( source ); | fs.setDir( source ); | ||||
| final DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| final DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| final String[] packageDirs = ds.getIncludedDirectories(); | final String[] packageDirs = ds.getIncludedDirectories(); | ||||
| for( int i = 0; i < packageDirs.length; i++ ) | for( int i = 0; i < packageDirs.length; i++ ) | ||||
| @@ -204,7 +204,7 @@ public class Cab extends MatchingTask | |||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| if( fs != null ) | if( fs != null ) | ||||
| { | { | ||||
| appendFiles( files, fs.getDirectoryScanner( getProject() ) ); | |||||
| appendFiles( files, fs.getDirectoryScanner() ); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -559,8 +559,8 @@ public class GenericDeploymentTool | |||||
| for( Iterator i = config.supportFileSets.iterator(); i.hasNext(); ) | for( Iterator i = config.supportFileSets.iterator(); i.hasNext(); ) | ||||
| { | { | ||||
| FileSet supportFileSet = (FileSet)i.next(); | FileSet supportFileSet = (FileSet)i.next(); | ||||
| File supportBaseDir = supportFileSet.getDir( project ); | |||||
| DirectoryScanner supportScanner = supportFileSet.getDirectoryScanner( project ); | |||||
| File supportBaseDir = supportFileSet.getDir(); | |||||
| DirectoryScanner supportScanner = supportFileSet.getDirectoryScanner(); | |||||
| supportScanner.scan(); | supportScanner.scan(); | ||||
| String[] supportFiles = supportScanner.getIncludedFiles(); | String[] supportFiles = supportScanner.getIncludedFiles(); | ||||
| for( int j = 0; j < supportFiles.length; ++j ) | for( int j = 0; j < supportFiles.length; ++j ) | ||||
| @@ -518,7 +518,7 @@ public class Translate | |||||
| for( int i = 0; i < filesets.size(); i++ ) | for( int i = 0; i < filesets.size(); i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String[] srcFiles = ds.getIncludedFiles(); | String[] srcFiles = ds.getIncludedFiles(); | ||||
| for( int j = 0; j < srcFiles.length; j++ ) | for( int j = 0; j < srcFiles.length; j++ ) | ||||
| { | { | ||||
| @@ -224,7 +224,7 @@ public class VAJImport extends VAJTask | |||||
| */ | */ | ||||
| protected void importFileset( FileSet fileset ) | protected void importFileset( FileSet fileset ) | ||||
| { | { | ||||
| DirectoryScanner ds = fileset.getDirectoryScanner( this.getProject() ); | |||||
| DirectoryScanner ds = fileset.getDirectoryScanner(); | |||||
| if( ds.getIncludedFiles().length == 0 ) | if( ds.getIncludedFiles().length == 0 ) | ||||
| { | { | ||||
| return; | return; | ||||
| @@ -127,7 +127,7 @@ public final class BatchTest extends BaseTest | |||||
| for( int j = 0; j < size; j++ ) | for( int j = 0; j < size; j++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( j ); | FileSet fs = (FileSet)filesets.get( j ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( project ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| ds.scan(); | ds.scan(); | ||||
| String[] f = ds.getIncludedFiles(); | String[] f = ds.getIncludedFiles(); | ||||
| for( int k = 0; k < f.length; k++ ) | for( int k = 0; k < f.length; k++ ) | ||||
| @@ -200,7 +200,7 @@ public class XMLResultAggregator extends Task implements XMLConstants | |||||
| for( int i = 0; i < size; i++ ) | for( int i = 0; i < size; i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| ds.scan(); | ds.scan(); | ||||
| String[] f = ds.getIncludedFiles(); | String[] f = ds.getIncludedFiles(); | ||||
| for( int j = 0; j < f.length; j++ ) | for( int j = 0; j < f.length; j++ ) | ||||
| @@ -365,7 +365,7 @@ public abstract class AbstractMetamataTask extends Task | |||||
| for( int i = 0; i < fileSets.size(); i++ ) | for( int i = 0; i < fileSets.size(); i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)fileSets.get( i ); | FileSet fs = (FileSet)fileSets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| ds.scan(); | ds.scan(); | ||||
| String[] f = ds.getIncludedFiles(); | String[] f = ds.getIncludedFiles(); | ||||
| getLogger().debug( i + ") Adding " + f.length + " files from directory " + ds.getBasedir() ); | getLogger().debug( i + ") Adding " + f.length + " files from directory " + ds.getBasedir() ); | ||||
| @@ -792,12 +792,12 @@ public class FTP | |||||
| if( action == SEND_FILES ) | if( action == SEND_FILES ) | ||||
| { | { | ||||
| ds = fs.getDirectoryScanner( getProject() ); | |||||
| ds = fs.getDirectoryScanner(); | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| ds = new FTPDirectoryScanner( ftp ); | ds = new FTPDirectoryScanner( ftp ); | ||||
| fs.setupDirectoryScanner( ds, getProject() ); | |||||
| fs.setupDirectoryScanner( ds ); | |||||
| ds.scan(); | ds.scan(); | ||||
| } | } | ||||
| @@ -307,7 +307,7 @@ public class MimeMail extends Task | |||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| if( fs != null ) | if( fs != null ) | ||||
| { | { | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String[] dsfiles = ds.getIncludedFiles(); | String[] dsfiles = ds.getIncludedFiles(); | ||||
| File baseDir = ds.getBasedir(); | File baseDir = ds.getBasedir(); | ||||
| @@ -123,7 +123,7 @@ public class P4Add extends P4Base | |||||
| for( int i = 0; i < filesets.size(); i++ ) | for( int i = 0; i < filesets.size(); i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| //File fromDir = fs.getDir(project); | //File fromDir = fs.getDir(project); | ||||
| String[] srcFiles = ds.getIncludedFiles(); | String[] srcFiles = ds.getIncludedFiles(); | ||||
| @@ -152,7 +152,7 @@ public class CovMerge extends Task | |||||
| for( int i = 0; i < size; i++ ) | for( int i = 0; i < size; i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| ds.scan(); | ds.scan(); | ||||
| String[] f = ds.getIncludedFiles(); | String[] f = ds.getIncludedFiles(); | ||||
| for( int j = 0; j < f.length; j++ ) | for( int j = 0; j < f.length; j++ ) | ||||
| @@ -151,12 +151,12 @@ public class SignJar | |||||
| for( int i = 0; i < m_filesets.size(); i++ ) | for( int i = 0; i < m_filesets.size(); i++ ) | ||||
| { | { | ||||
| final FileSet fileSet = (FileSet)m_filesets.get( i ); | final FileSet fileSet = (FileSet)m_filesets.get( i ); | ||||
| final DirectoryScanner scanner = fileSet.getDirectoryScanner( null ); | |||||
| final DirectoryScanner scanner = fileSet.getDirectoryScanner(); | |||||
| final String[] jarFiles = scanner.getIncludedFiles(); | final String[] jarFiles = scanner.getIncludedFiles(); | ||||
| for( int j = 0; j < jarFiles.length; j++ ) | for( int j = 0; j < jarFiles.length; j++ ) | ||||
| { | { | ||||
| final File file = | final File file = | ||||
| new File( fileSet.getDir( null ), jarFiles[ j ] ); | |||||
| new File( fileSet.getDir(), jarFiles[ j ] ); | |||||
| doOneJar( file, null ); | doOneJar( file, null ); | ||||
| } | } | ||||
| } | } | ||||
| @@ -205,7 +205,7 @@ public class ReplaceRegExp extends Task | |||||
| for( int i = 0; i < sz; i++ ) | for( int i = 0; i < sz; i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)( filesets.get( i ) ); | FileSet fs = (FileSet)( filesets.get( i ) ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String files[] = ds.getIncludedFiles(); | String files[] = ds.getIncludedFiles(); | ||||
| for( int j = 0; j < files.length; j++ ) | for( int j = 0; j < files.length; j++ ) | ||||
| @@ -152,14 +152,14 @@ public class Chmod extends ExecuteOn | |||||
| public void execute() | public void execute() | ||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( defaultSetDefined || defaultSet.getDir( getProject() ) == null ) | |||||
| if( defaultSetDefined || defaultSet.getDir() == null ) | |||||
| { | { | ||||
| super.execute(); | super.execute(); | ||||
| } | } | ||||
| else if( isValidOs() ) | else if( isValidOs() ) | ||||
| { | { | ||||
| // we are chmodding the given directory | // we are chmodding the given directory | ||||
| createArg().setValue( defaultSet.getDir( getProject() ).getPath() ); | |||||
| createArg().setValue( defaultSet.getDir().getPath() ); | |||||
| Execute execute = prepareExec(); | Execute execute = prepareExec(); | ||||
| try | try | ||||
| { | { | ||||
| @@ -191,7 +191,7 @@ public class Chmod extends ExecuteOn | |||||
| throw new TaskException( "Required attribute perm not set in chmod" ); | throw new TaskException( "Required attribute perm not set in chmod" ); | ||||
| } | } | ||||
| if( defaultSetDefined && defaultSet.getDir( getProject() ) != null ) | |||||
| if( defaultSetDefined && defaultSet.getDir() != null ) | |||||
| { | { | ||||
| addFileset( defaultSet ); | addFileset( defaultSet ); | ||||
| } | } | ||||
| @@ -9,11 +9,9 @@ package org.apache.tools.ant.types; | |||||
| import java.io.File; | import java.io.File; | ||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||
| import java.util.Stack; | |||||
| import org.apache.myrmidon.api.TaskException; | import org.apache.myrmidon.api.TaskException; | ||||
| import org.apache.tools.ant.DirectoryScanner; | import org.apache.tools.ant.DirectoryScanner; | ||||
| import org.apache.tools.ant.FileScanner; | import org.apache.tools.ant.FileScanner; | ||||
| import org.apache.tools.ant.Project; | |||||
| /** | /** | ||||
| * Moved out of MatchingTask to make it a standalone object that could be | * Moved out of MatchingTask to make it a standalone object that could be | ||||
| @@ -31,64 +29,36 @@ public class FileSet | |||||
| extends DataType | extends DataType | ||||
| implements Cloneable | implements Cloneable | ||||
| { | { | ||||
| private PatternSet defaultPatterns = new PatternSet(); | |||||
| private ArrayList additionalPatterns = new ArrayList(); | |||||
| private boolean useDefaultExcludes = true; | |||||
| private boolean isCaseSensitive = true; | |||||
| private File dir; | |||||
| private PatternSet m_defaultPatterns = new PatternSet(); | |||||
| private ArrayList m_additionalPatterns = new ArrayList(); | |||||
| private boolean m_useDefaultExcludes = true; | |||||
| private boolean m_isCaseSensitive = true; | |||||
| private File m_dir; | |||||
| public FileSet() | public FileSet() | ||||
| { | { | ||||
| super(); | |||||
| } | |||||
| protected FileSet( FileSet fileset ) | |||||
| { | |||||
| this.dir = fileset.dir; | |||||
| this.defaultPatterns = fileset.defaultPatterns; | |||||
| this.additionalPatterns = fileset.additionalPatterns; | |||||
| this.useDefaultExcludes = fileset.useDefaultExcludes; | |||||
| this.isCaseSensitive = fileset.isCaseSensitive; | |||||
| } | } | ||||
| /** | /** | ||||
| * Sets case sensitivity of the file system | * Sets case sensitivity of the file system | ||||
| * | |||||
| * @param isCaseSensitive "true"|"on"|"yes" if file system is case | |||||
| * sensitive, "false"|"off"|"no" when not. | |||||
| */ | */ | ||||
| public void setCaseSensitive( boolean isCaseSensitive ) | |||||
| public void setCaseSensitive( final boolean isCaseSensitive ) | |||||
| { | { | ||||
| this.isCaseSensitive = isCaseSensitive; | |||||
| m_isCaseSensitive = isCaseSensitive; | |||||
| } | } | ||||
| /** | /** | ||||
| * Sets whether default exclusions should be used or not. | * Sets whether default exclusions should be used or not. | ||||
| * | |||||
| * @param useDefaultExcludes "true"|"on"|"yes" when default exclusions | |||||
| * should be used, "false"|"off"|"no" when they shouldn't be used. | |||||
| */ | */ | ||||
| public void setDefaultexcludes( boolean useDefaultExcludes ) | |||||
| throws TaskException | |||||
| public void setDefaultexcludes( final boolean useDefaultExcludes ) | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| this.useDefaultExcludes = useDefaultExcludes; | |||||
| m_useDefaultExcludes = useDefaultExcludes; | |||||
| } | } | ||||
| public void setDir( File dir ) | |||||
| public void setDir( final File dir ) | |||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| this.dir = dir; | |||||
| m_dir = dir; | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -97,32 +67,19 @@ public class FileSet | |||||
| * | * | ||||
| * @param excludes the string containing the exclude patterns | * @param excludes the string containing the exclude patterns | ||||
| */ | */ | ||||
| public void setExcludes( String excludes ) | |||||
| throws TaskException | |||||
| public void setExcludes( final String excludes ) | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| defaultPatterns.setExcludes( excludes ); | |||||
| m_defaultPatterns.setExcludes( excludes ); | |||||
| } | } | ||||
| /** | /** | ||||
| * Sets the name of the file containing the includes patterns. | * Sets the name of the file containing the includes patterns. | ||||
| * | * | ||||
| * @param excl The file to fetch the exclude patterns from. | * @param excl The file to fetch the exclude patterns from. | ||||
| * @exception TaskException Description of Exception | |||||
| */ | */ | ||||
| public void setExcludesfile( File excl ) | |||||
| throws TaskException | |||||
| public void setExcludesfile( final File excl ) | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| defaultPatterns.setExcludesfile( excl ); | |||||
| m_defaultPatterns.setExcludesfile( excl ); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -132,250 +89,118 @@ public class FileSet | |||||
| * @param includes the string containing the include patterns | * @param includes the string containing the include patterns | ||||
| */ | */ | ||||
| public void setIncludes( String includes ) | public void setIncludes( String includes ) | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| defaultPatterns.setIncludes( includes ); | |||||
| m_defaultPatterns.setIncludes( includes ); | |||||
| } | } | ||||
| /** | /** | ||||
| * Sets the name of the file containing the includes patterns. | * Sets the name of the file containing the includes patterns. | ||||
| * | * | ||||
| * @param incl The file to fetch the include patterns from. | * @param incl The file to fetch the include patterns from. | ||||
| * @exception TaskException Description of Exception | |||||
| */ | */ | ||||
| public void setIncludesfile( File incl ) | public void setIncludesfile( File incl ) | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| defaultPatterns.setIncludesfile( incl ); | |||||
| m_defaultPatterns.setIncludesfile( incl ); | |||||
| } | } | ||||
| /** | |||||
| * Makes this instance in effect a reference to another PatternSet instance. | |||||
| * <p> | |||||
| * | |||||
| * You must not set another attribute or nest elements inside this element | |||||
| * if you make it a reference.</p> | |||||
| * | |||||
| * @param r The new Refid value | |||||
| * @exception TaskException Description of Exception | |||||
| */ | |||||
| public void setRefid( Reference r ) | |||||
| public void setupDirectoryScanner( final FileScanner ds ) | |||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( dir != null || defaultPatterns.hasPatterns() ) | |||||
| if( null == ds ) | |||||
| { | { | ||||
| throw tooManyAttributes(); | |||||
| final String message = "ds cannot be null"; | |||||
| throw new IllegalArgumentException( message ); | |||||
| } | } | ||||
| if( !additionalPatterns.isEmpty() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| super.setRefid( r ); | |||||
| } | |||||
| public void setupDirectoryScanner( FileScanner ds, Project p ) | |||||
| throws TaskException | |||||
| { | |||||
| if( ds == null ) | |||||
| { | |||||
| throw new IllegalArgumentException( "ds cannot be null" ); | |||||
| } | |||||
| ds.setBasedir( dir ); | |||||
| ds.setBasedir( m_dir ); | |||||
| for( int i = 0; i < additionalPatterns.size(); i++ ) | |||||
| final int size = m_additionalPatterns.size(); | |||||
| for( int i = 0; i < size; i++ ) | |||||
| { | { | ||||
| Object o = additionalPatterns.get( i ); | |||||
| defaultPatterns.append( (PatternSet)o, p ); | |||||
| final Object o = m_additionalPatterns.get( i ); | |||||
| m_defaultPatterns.append( (PatternSet)o ); | |||||
| } | } | ||||
| getLogger().debug( "FileSet: Setup file scanner in dir " + dir + " with " + defaultPatterns ); | |||||
| final String message = "FileSet: Setup file scanner in dir " + | |||||
| m_dir + " with " + m_defaultPatterns; | |||||
| getLogger().debug( message ); | |||||
| ds.setIncludes( defaultPatterns.getIncludePatterns( p ) ); | |||||
| ds.setExcludes( defaultPatterns.getExcludePatterns( p ) ); | |||||
| if( useDefaultExcludes ) | |||||
| ds.setIncludes( m_defaultPatterns.getIncludePatterns( null ) ); | |||||
| ds.setExcludes( m_defaultPatterns.getExcludePatterns( null ) ); | |||||
| if( m_useDefaultExcludes ) | |||||
| { | |||||
| ds.addDefaultExcludes(); | ds.addDefaultExcludes(); | ||||
| ds.setCaseSensitive( isCaseSensitive ); | |||||
| } | |||||
| ds.setCaseSensitive( m_isCaseSensitive ); | |||||
| } | } | ||||
| public File getDir( Project p ) | |||||
| throws TaskException | |||||
| public File getDir() | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| return getRef( p ).getDir( p ); | |||||
| } | |||||
| return dir; | |||||
| return m_dir; | |||||
| } | } | ||||
| /** | /** | ||||
| * Returns the directory scanner needed to access the files to process. | * Returns the directory scanner needed to access the files to process. | ||||
| * | |||||
| * @param p Description of Parameter | |||||
| * @return The DirectoryScanner value | |||||
| */ | */ | ||||
| public DirectoryScanner getDirectoryScanner( Project p ) | |||||
| public DirectoryScanner getDirectoryScanner() | |||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| return getRef( p ).getDirectoryScanner( p ); | |||||
| } | |||||
| if( dir == null ) | |||||
| if( m_dir == null ) | |||||
| { | { | ||||
| throw new TaskException( "No directory specified for fileset." ); | throw new TaskException( "No directory specified for fileset." ); | ||||
| } | } | ||||
| if( !dir.exists() ) | |||||
| if( !m_dir.exists() ) | |||||
| { | { | ||||
| throw new TaskException( dir.getAbsolutePath() + " not found." ); | |||||
| throw new TaskException( m_dir.getAbsolutePath() + " not found." ); | |||||
| } | } | ||||
| if( !dir.isDirectory() ) | |||||
| if( !m_dir.isDirectory() ) | |||||
| { | { | ||||
| throw new TaskException( dir.getAbsolutePath() + " is not a directory." ); | |||||
| throw new TaskException( m_dir.getAbsolutePath() + " is not a directory." ); | |||||
| } | } | ||||
| DirectoryScanner ds = new DirectoryScanner(); | |||||
| setupDirectoryScanner( ds, p ); | |||||
| ds.scan(); | |||||
| return ds; | |||||
| } | |||||
| /** | |||||
| * Return a FileSet that has the same basedir and same patternsets as this | |||||
| * one. | |||||
| * | |||||
| * @return Description of the Returned Value | |||||
| */ | |||||
| public Object clone() | |||||
| { | |||||
| try | |||||
| { | |||||
| if( isReference() ) | |||||
| { | |||||
| return new FileSet( getRef( getProject() ) ); | |||||
| } | |||||
| else | |||||
| { | |||||
| return new FileSet( this ); | |||||
| } | |||||
| } | |||||
| catch( TaskException e ) | |||||
| { | |||||
| throw new IllegalStateException( e.getMessage() ); | |||||
| } | |||||
| final DirectoryScanner scanner = new DirectoryScanner(); | |||||
| setupDirectoryScanner( scanner ); | |||||
| scanner.scan(); | |||||
| return scanner; | |||||
| } | } | ||||
| /** | /** | ||||
| * add a name entry on the exclude list | * add a name entry on the exclude list | ||||
| * | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| public PatternSet.NameEntry createExclude() | public PatternSet.NameEntry createExclude() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| return defaultPatterns.createExclude(); | |||||
| return m_defaultPatterns.createExclude(); | |||||
| } | } | ||||
| /** | /** | ||||
| * add a name entry on the include files list | * add a name entry on the include files list | ||||
| * | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| public PatternSet.NameEntry createExcludesFile() | public PatternSet.NameEntry createExcludesFile() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| return defaultPatterns.createExcludesFile(); | |||||
| return m_defaultPatterns.createExcludesFile(); | |||||
| } | } | ||||
| /** | /** | ||||
| * add a name entry on the include list | * add a name entry on the include list | ||||
| * | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| public PatternSet.NameEntry createInclude() | public PatternSet.NameEntry createInclude() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| return defaultPatterns.createInclude(); | |||||
| return m_defaultPatterns.createInclude(); | |||||
| } | } | ||||
| /** | /** | ||||
| * add a name entry on the include files list | * add a name entry on the include files list | ||||
| * | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| public PatternSet.NameEntry createIncludesFile() | public PatternSet.NameEntry createIncludesFile() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| return defaultPatterns.createIncludesFile(); | |||||
| return m_defaultPatterns.createIncludesFile(); | |||||
| } | } | ||||
| public PatternSet createPatternSet() | public PatternSet createPatternSet() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| PatternSet patterns = new PatternSet(); | |||||
| additionalPatterns.add( patterns ); | |||||
| final PatternSet patterns = new PatternSet(); | |||||
| m_additionalPatterns.add( patterns ); | |||||
| return patterns; | return patterns; | ||||
| } | } | ||||
| /** | |||||
| * Performs the check for circular references and returns the referenced | |||||
| * FileSet. | |||||
| * | |||||
| * @param p Description of Parameter | |||||
| * @return The Ref value | |||||
| */ | |||||
| protected FileSet getRef( Project p ) | |||||
| throws TaskException | |||||
| { | |||||
| if( !checked ) | |||||
| { | |||||
| Stack stk = new Stack(); | |||||
| stk.push( this ); | |||||
| dieOnCircularReference( stk, p ); | |||||
| } | |||||
| Object o = ref.getReferencedObject( p ); | |||||
| if( !( o instanceof FileSet ) ) | |||||
| { | |||||
| String msg = ref.getRefId() + " doesn\'t denote a fileset"; | |||||
| throw new TaskException( msg ); | |||||
| } | |||||
| else | |||||
| { | |||||
| return (FileSet)o; | |||||
| } | |||||
| } | |||||
| } | } | ||||
| @@ -588,9 +588,9 @@ public class Path | |||||
| else if( o instanceof FileSet ) | else if( o instanceof FileSet ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)o; | FileSet fs = (FileSet)o; | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String[] s = ds.getIncludedFiles(); | String[] s = ds.getIncludedFiles(); | ||||
| File dir = fs.getDir( getProject() ); | |||||
| File dir = fs.getDir(); | |||||
| for( int j = 0; j < s.length; j++ ) | for( int j = 0; j < s.length; j++ ) | ||||
| { | { | ||||
| File f = new File( dir, s[ j ] ); | File f = new File( dir, s[ j ] ); | ||||
| @@ -13,7 +13,6 @@ import java.io.FileReader; | |||||
| import java.io.IOException; | import java.io.IOException; | ||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||
| import java.util.Iterator; | import java.util.Iterator; | ||||
| import java.util.Stack; | |||||
| import java.util.StringTokenizer; | import java.util.StringTokenizer; | ||||
| import org.apache.myrmidon.api.TaskException; | import org.apache.myrmidon.api.TaskException; | ||||
| import org.apache.tools.ant.Project; | import org.apache.tools.ant.Project; | ||||
| @@ -31,12 +30,13 @@ import org.apache.tools.ant.Project; | |||||
| * @author Jon S. Stevens <a href="mailto:jon@clearink.com">jon@clearink.com</a> | * @author Jon S. Stevens <a href="mailto:jon@clearink.com">jon@clearink.com</a> | ||||
| * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | ||||
| */ | */ | ||||
| public class PatternSet extends DataType | |||||
| public class PatternSet | |||||
| extends DataType | |||||
| { | { | ||||
| private ArrayList includeList = new ArrayList(); | |||||
| private ArrayList excludeList = new ArrayList(); | |||||
| private ArrayList includesFileList = new ArrayList(); | |||||
| private ArrayList excludesFileList = new ArrayList(); | |||||
| private ArrayList m_includeList = new ArrayList(); | |||||
| private ArrayList m_excludeList = new ArrayList(); | |||||
| private ArrayList m_includesFileList = new ArrayList(); | |||||
| private ArrayList m_excludesFileList = new ArrayList(); | |||||
| public PatternSet() | public PatternSet() | ||||
| { | { | ||||
| @@ -50,12 +50,7 @@ public class PatternSet extends DataType | |||||
| * @param excludes the string containing the exclude patterns | * @param excludes the string containing the exclude patterns | ||||
| */ | */ | ||||
| public void setExcludes( String excludes ) | public void setExcludes( String excludes ) | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| if( excludes != null && excludes.length() > 0 ) | if( excludes != null && excludes.length() > 0 ) | ||||
| { | { | ||||
| StringTokenizer tok = new StringTokenizer( excludes, ", ", false ); | StringTokenizer tok = new StringTokenizer( excludes, ", ", false ); | ||||
| @@ -73,12 +68,7 @@ public class PatternSet extends DataType | |||||
| * @exception TaskException Description of Exception | * @exception TaskException Description of Exception | ||||
| */ | */ | ||||
| public void setExcludesfile( File excludesFile ) | public void setExcludesfile( File excludesFile ) | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| createExcludesFile().setName( excludesFile.getAbsolutePath() ); | createExcludesFile().setName( excludesFile.getAbsolutePath() ); | ||||
| } | } | ||||
| @@ -89,12 +79,7 @@ public class PatternSet extends DataType | |||||
| * @param includes the string containing the include patterns | * @param includes the string containing the include patterns | ||||
| */ | */ | ||||
| public void setIncludes( String includes ) | public void setIncludes( String includes ) | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| if( includes != null && includes.length() > 0 ) | if( includes != null && includes.length() > 0 ) | ||||
| { | { | ||||
| StringTokenizer tok = new StringTokenizer( includes, ", ", false ); | StringTokenizer tok = new StringTokenizer( includes, ", ", false ); | ||||
| @@ -112,53 +97,18 @@ public class PatternSet extends DataType | |||||
| * @exception TaskException Description of Exception | * @exception TaskException Description of Exception | ||||
| */ | */ | ||||
| public void setIncludesfile( File includesFile ) | public void setIncludesfile( File includesFile ) | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| createIncludesFile().setName( includesFile.getAbsolutePath() ); | createIncludesFile().setName( includesFile.getAbsolutePath() ); | ||||
| } | } | ||||
| /** | |||||
| * Makes this instance in effect a reference to another PatternSet instance. | |||||
| * <p> | |||||
| * | |||||
| * You must not set another attribute or nest elements inside this element | |||||
| * if you make it a reference.</p> | |||||
| * | |||||
| * @param r The new Refid value | |||||
| * @exception TaskException Description of Exception | |||||
| */ | |||||
| public void setRefid( Reference r ) | |||||
| throws TaskException | |||||
| { | |||||
| if( !includeList.isEmpty() || !excludeList.isEmpty() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| super.setRefid( r ); | |||||
| } | |||||
| /** | /** | ||||
| * Returns the filtered include patterns. | * Returns the filtered include patterns. | ||||
| * | |||||
| * @param p Description of Parameter | |||||
| * @return The ExcludePatterns value | |||||
| */ | */ | ||||
| public String[] getExcludePatterns( Project p ) | public String[] getExcludePatterns( Project p ) | ||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| return getRef( p ).getExcludePatterns( p ); | |||||
| } | |||||
| else | |||||
| { | |||||
| readFiles( p ); | |||||
| return makeArray( excludeList, p ); | |||||
| } | |||||
| readFiles( p ); | |||||
| return makeArray( m_excludeList ); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -170,32 +120,17 @@ public class PatternSet extends DataType | |||||
| public String[] getIncludePatterns( Project p ) | public String[] getIncludePatterns( Project p ) | ||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| return getRef( p ).getIncludePatterns( p ); | |||||
| } | |||||
| else | |||||
| { | |||||
| readFiles( p ); | |||||
| return makeArray( includeList, p ); | |||||
| } | |||||
| readFiles( p ); | |||||
| return makeArray( m_includeList ); | |||||
| } | } | ||||
| /** | /** | ||||
| * Adds the patterns of the other instance to this set. | * Adds the patterns of the other instance to this set. | ||||
| * | |||||
| * @param other Description of Parameter | |||||
| * @param p Description of Parameter | |||||
| */ | */ | ||||
| public void append( PatternSet other, Project p ) | |||||
| protected void append( PatternSet other ) | |||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw new TaskException( "Cannot append to a reference" ); | |||||
| } | |||||
| String[] incl = other.getIncludePatterns( p ); | |||||
| String[] incl = other.getIncludePatterns( null ); | |||||
| if( incl != null ) | if( incl != null ) | ||||
| { | { | ||||
| for( int i = 0; i < incl.length; i++ ) | for( int i = 0; i < incl.length; i++ ) | ||||
| @@ -204,7 +139,7 @@ public class PatternSet extends DataType | |||||
| } | } | ||||
| } | } | ||||
| String[] excl = other.getExcludePatterns( p ); | |||||
| String[] excl = other.getExcludePatterns( null ); | |||||
| if( excl != null ) | if( excl != null ) | ||||
| { | { | ||||
| for( int i = 0; i < excl.length; i++ ) | for( int i = 0; i < excl.length; i++ ) | ||||
| @@ -220,13 +155,8 @@ public class PatternSet extends DataType | |||||
| * @return Description of the Returned Value | * @return Description of the Returned Value | ||||
| */ | */ | ||||
| public NameEntry createExclude() | public NameEntry createExclude() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| return addPatternToList( excludeList ); | |||||
| return addPatternToList( m_excludeList ); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -235,121 +165,66 @@ public class PatternSet extends DataType | |||||
| * @return Description of the Returned Value | * @return Description of the Returned Value | ||||
| */ | */ | ||||
| public NameEntry createExcludesFile() | public NameEntry createExcludesFile() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| return addPatternToList( excludesFileList ); | |||||
| return addPatternToList( m_excludesFileList ); | |||||
| } | } | ||||
| /** | /** | ||||
| * add a name entry on the include list | * add a name entry on the include list | ||||
| * | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| public NameEntry createInclude() | public NameEntry createInclude() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| return addPatternToList( includeList ); | |||||
| return addPatternToList( m_includeList ); | |||||
| } | } | ||||
| /** | /** | ||||
| * add a name entry on the include files list | * add a name entry on the include files list | ||||
| * | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| public NameEntry createIncludesFile() | public NameEntry createIncludesFile() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| return addPatternToList( includesFileList ); | |||||
| return addPatternToList( m_includesFileList ); | |||||
| } | } | ||||
| public String toString() | public String toString() | ||||
| { | { | ||||
| return "patternSet{ includes: " + includeList + | |||||
| " excludes: " + excludeList + " }"; | |||||
| return "patternSet{ includes: " + m_includeList + | |||||
| " excludes: " + m_excludeList + " }"; | |||||
| } | } | ||||
| /** | /** | ||||
| * helper for FileSet. | * helper for FileSet. | ||||
| * | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| boolean hasPatterns() | boolean hasPatterns() | ||||
| { | { | ||||
| return includesFileList.size() > 0 || excludesFileList.size() > 0 | |||||
| || includeList.size() > 0 || excludeList.size() > 0; | |||||
| } | |||||
| /** | |||||
| * Performs the check for circular references and returns the referenced | |||||
| * PatternSet. | |||||
| * | |||||
| * @param p Description of Parameter | |||||
| * @return The Ref value | |||||
| */ | |||||
| private PatternSet getRef( Project p ) | |||||
| throws TaskException | |||||
| { | |||||
| if( !checked ) | |||||
| { | |||||
| Stack stk = new Stack(); | |||||
| stk.push( this ); | |||||
| dieOnCircularReference( stk, p ); | |||||
| } | |||||
| Object o = ref.getReferencedObject( p ); | |||||
| if( !( o instanceof PatternSet ) ) | |||||
| { | |||||
| String msg = ref.getRefId() + " doesn\'t denote a patternset"; | |||||
| throw new TaskException( msg ); | |||||
| } | |||||
| else | |||||
| { | |||||
| return (PatternSet)o; | |||||
| } | |||||
| return m_includesFileList.size() > 0 || m_excludesFileList.size() > 0 || | |||||
| m_includeList.size() > 0 || m_excludeList.size() > 0; | |||||
| } | } | ||||
| /** | /** | ||||
| * add a name entry to the given list | * add a name entry to the given list | ||||
| * | |||||
| * @param list The feature to be added to the PatternToList attribute | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| private NameEntry addPatternToList( ArrayList list ) | |||||
| private NameEntry addPatternToList( final ArrayList list ) | |||||
| { | { | ||||
| NameEntry result = new NameEntry(); | |||||
| final NameEntry result = new NameEntry(); | |||||
| list.add( result ); | list.add( result ); | ||||
| return result; | return result; | ||||
| } | } | ||||
| /** | /** | ||||
| * Convert a vector of NameEntry elements into an array of Strings. | * Convert a vector of NameEntry elements into an array of Strings. | ||||
| * | |||||
| * @param list Description of Parameter | |||||
| * @param p Description of Parameter | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| private String[] makeArray( ArrayList list, Project p ) | |||||
| private String[] makeArray( final ArrayList list ) | |||||
| { | { | ||||
| if( list.size() == 0 ) | if( list.size() == 0 ) | ||||
| { | |||||
| return null; | return null; | ||||
| } | |||||
| ArrayList tmpNames = new ArrayList(); | |||||
| final ArrayList tmpNames = new ArrayList(); | |||||
| for( Iterator e = list.iterator(); e.hasNext(); ) | for( Iterator e = list.iterator(); e.hasNext(); ) | ||||
| { | { | ||||
| NameEntry ne = (NameEntry)e.next(); | |||||
| String pattern = ne.evalName( p ); | |||||
| final NameEntry ne = (NameEntry)e.next(); | |||||
| final String pattern = ne.evalName( null ); | |||||
| if( pattern != null && pattern.length() > 0 ) | if( pattern != null && pattern.length() > 0 ) | ||||
| { | { | ||||
| tmpNames.add( pattern ); | tmpNames.add( pattern ); | ||||
| @@ -362,15 +237,13 @@ public class PatternSet extends DataType | |||||
| /** | /** | ||||
| * Read includesfile ot excludesfile if not already done so. | * Read includesfile ot excludesfile if not already done so. | ||||
| * | |||||
| * @param p Description of Parameter | |||||
| */ | */ | ||||
| private void readFiles( Project p ) | private void readFiles( Project p ) | ||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( includesFileList.size() > 0 ) | |||||
| if( m_includesFileList.size() > 0 ) | |||||
| { | { | ||||
| Iterator e = includesFileList.iterator(); | |||||
| Iterator e = m_includesFileList.iterator(); | |||||
| while( e.hasNext() ) | while( e.hasNext() ) | ||||
| { | { | ||||
| NameEntry ne = (NameEntry)e.next(); | NameEntry ne = (NameEntry)e.next(); | ||||
| @@ -382,15 +255,15 @@ public class PatternSet extends DataType | |||||
| throw new TaskException( "Includesfile " | throw new TaskException( "Includesfile " | ||||
| + inclFile.getAbsolutePath() | + inclFile.getAbsolutePath() | ||||
| + " not found." ); | + " not found." ); | ||||
| readPatterns( inclFile, includeList, p ); | |||||
| readPatterns( inclFile, m_includeList, p ); | |||||
| } | } | ||||
| } | } | ||||
| includesFileList.clear(); | |||||
| m_includesFileList.clear(); | |||||
| } | } | ||||
| if( excludesFileList.size() > 0 ) | |||||
| if( m_excludesFileList.size() > 0 ) | |||||
| { | { | ||||
| Iterator e = excludesFileList.iterator(); | |||||
| Iterator e = m_excludesFileList.iterator(); | |||||
| while( e.hasNext() ) | while( e.hasNext() ) | ||||
| { | { | ||||
| NameEntry ne = (NameEntry)e.next(); | NameEntry ne = (NameEntry)e.next(); | ||||
| @@ -402,10 +275,10 @@ public class PatternSet extends DataType | |||||
| throw new TaskException( "Excludesfile " | throw new TaskException( "Excludesfile " | ||||
| + exclFile.getAbsolutePath() | + exclFile.getAbsolutePath() | ||||
| + " not found." ); | + " not found." ); | ||||
| readPatterns( exclFile, excludeList, p ); | |||||
| readPatterns( exclFile, m_excludeList, p ); | |||||
| } | } | ||||
| } | } | ||||
| excludesFileList.clear(); | |||||
| m_excludesFileList.clear(); | |||||
| } | } | ||||
| } | } | ||||
| @@ -538,5 +411,4 @@ public class PatternSet extends DataType | |||||
| return true; | return true; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -38,16 +38,14 @@ public class ZipFileSet | |||||
| /** | /** | ||||
| * Set the directory for the fileset. Prevents both "dir" and "src" from | * Set the directory for the fileset. Prevents both "dir" and "src" from | ||||
| * being specified. | * being specified. | ||||
| * | |||||
| * @param dir The new Dir value | |||||
| * @exception TaskException Description of Exception | |||||
| */ | */ | ||||
| public void setDir( File dir ) | |||||
| public void setDir( final File dir ) | |||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( srcFile != null ) | if( srcFile != null ) | ||||
| { | { | ||||
| throw new TaskException( "Cannot set both dir and src attributes" ); | |||||
| final String message = "Cannot set both dir and src attributes"; | |||||
| throw new TaskException( message ); | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| @@ -104,22 +102,18 @@ public class ZipFileSet | |||||
| public DirectoryScanner getDirectoryScanner( Project p ) | public DirectoryScanner getDirectoryScanner( Project p ) | ||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| return getRef( p ).getDirectoryScanner( p ); | |||||
| } | |||||
| if( srcFile != null ) | if( srcFile != null ) | ||||
| { | { | ||||
| ZipScanner zs = new ZipScanner(); | ZipScanner zs = new ZipScanner(); | ||||
| zs.setSrc( srcFile ); | zs.setSrc( srcFile ); | ||||
| super.setDir( p.getBaseDir() ); | super.setDir( p.getBaseDir() ); | ||||
| setupDirectoryScanner( zs, p ); | |||||
| setupDirectoryScanner( zs ); | |||||
| zs.init(); | zs.init(); | ||||
| return zs; | return zs; | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| return super.getDirectoryScanner( p ); | |||||
| return super.getDirectoryScanner(); | |||||
| } | } | ||||
| } | } | ||||
| @@ -47,7 +47,7 @@ public class ClassfileSet extends FileSet | |||||
| public DirectoryScanner getDirectoryScanner( Project p ) | public DirectoryScanner getDirectoryScanner( Project p ) | ||||
| { | { | ||||
| DependScanner scanner = new DependScanner(); | DependScanner scanner = new DependScanner(); | ||||
| scanner.setBasedir( getDir( p ) ); | |||||
| scanner.setBasedir( getDir() ); | |||||
| scanner.setRootClasses( rootClasses ); | scanner.setRootClasses( rootClasses ); | ||||
| scanner.scan(); | scanner.scan(); | ||||
| return scanner; | return scanner; | ||||
| @@ -473,11 +473,11 @@ public class Checksum extends MatchingTask implements Condition | |||||
| for( int i = 0; i < sizeofFileSet; i++ ) | for( int i = 0; i < sizeofFileSet; i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String[] srcFiles = ds.getIncludedFiles(); | String[] srcFiles = ds.getIncludedFiles(); | ||||
| for( int j = 0; j < srcFiles.length; j++ ) | for( int j = 0; j < srcFiles.length; j++ ) | ||||
| { | { | ||||
| File src = new File( fs.getDir( getProject() ), srcFiles[ j ] ); | |||||
| File src = new File( fs.getDir(), srcFiles[ j ] ); | |||||
| addToIncludeFileMap( src ); | addToIncludeFileMap( src ); | ||||
| } | } | ||||
| } | } | ||||
| @@ -154,13 +154,13 @@ public class DependSet extends MatchingTask | |||||
| { | { | ||||
| FileSet targetFS = (FileSet)enumTargetSets.next(); | FileSet targetFS = (FileSet)enumTargetSets.next(); | ||||
| DirectoryScanner targetDS = targetFS.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner targetDS = targetFS.getDirectoryScanner(); | |||||
| String[] targetFiles = targetDS.getIncludedFiles(); | String[] targetFiles = targetDS.getIncludedFiles(); | ||||
| for( int i = 0; i < targetFiles.length; i++ ) | for( int i = 0; i < targetFiles.length; i++ ) | ||||
| { | { | ||||
| File dest = new File( targetFS.getDir( getProject() ), targetFiles[ i ] ); | |||||
| File dest = new File( targetFS.getDir(), targetFiles[ i ] ); | |||||
| allTargets.add( dest ); | allTargets.add( dest ); | ||||
| if( dest.lastModified() > now ) | if( dest.lastModified() > now ) | ||||
| @@ -212,12 +212,12 @@ public class DependSet extends MatchingTask | |||||
| { | { | ||||
| FileSet sourceFS = (FileSet)enumSourceSets.next(); | FileSet sourceFS = (FileSet)enumSourceSets.next(); | ||||
| DirectoryScanner sourceDS = sourceFS.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner sourceDS = sourceFS.getDirectoryScanner(); | |||||
| String[] sourceFiles = sourceDS.getIncludedFiles(); | String[] sourceFiles = sourceDS.getIncludedFiles(); | ||||
| for( int i = 0; upToDate && i < sourceFiles.length; i++ ) | for( int i = 0; upToDate && i < sourceFiles.length; i++ ) | ||||
| { | { | ||||
| File src = new File( sourceFS.getDir( getProject() ), sourceFiles[ i ] ); | |||||
| File src = new File( sourceFS.getDir(), sourceFiles[ i ] ); | |||||
| if( src.lastModified() > now ) | if( src.lastModified() > now ) | ||||
| { | { | ||||
| @@ -385,8 +385,8 @@ public class ExecuteOn extends ExecTask | |||||
| for( int i = 0; i < filesets.size(); i++ ) | for( int i = 0; i < filesets.size(); i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| File base = fs.getDir( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| File base = fs.getDir(); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| if( !"dir".equals( type ) ) | if( !"dir".equals( type ) ) | ||||
| { | { | ||||
| @@ -131,8 +131,8 @@ public class Expand extends MatchingTask | |||||
| for( int j = 0; j < filesets.size(); j++ ) | for( int j = 0; j < filesets.size(); j++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( j ); | FileSet fs = (FileSet)filesets.get( j ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| File fromDir = fs.getDir( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| File fromDir = fs.getDir(); | |||||
| String[] files = ds.getIncludedFiles(); | String[] files = ds.getIncludedFiles(); | ||||
| for( int i = 0; i < files.length; ++i ) | for( int i = 0; i < files.length; ++i ) | ||||
| @@ -157,7 +157,7 @@ public abstract class MatchingTask extends Task | |||||
| { | { | ||||
| fileset.setDir( baseDir ); | fileset.setDir( baseDir ); | ||||
| fileset.setDefaultexcludes( useDefaultExcludes ); | fileset.setDefaultexcludes( useDefaultExcludes ); | ||||
| return fileset.getDirectoryScanner( getProject() ); | |||||
| return fileset.getDirectoryScanner(); | |||||
| } | } | ||||
| } | } | ||||
| @@ -407,8 +407,8 @@ public class SQLExec | |||||
| for( int i = 0; i < filesets.size(); i++ ) | for( int i = 0; i < filesets.size(); i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| File srcDir = fs.getDir( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| File srcDir = fs.getDir(); | |||||
| String[] srcFiles = ds.getIncludedFiles(); | String[] srcFiles = ds.getIncludedFiles(); | ||||
| @@ -129,7 +129,7 @@ public class Tar | |||||
| } | } | ||||
| // add the main fileset to the list of filesets to process. | // add the main fileset to the list of filesets to process. | ||||
| TarFileSet mainFileSet = new TarFileSet( fileset ); | |||||
| TarFileSet mainFileSet = new TarFileSet( /*fileset*/ ); | |||||
| mainFileSet.setDir( baseDir ); | mainFileSet.setDir( baseDir ); | ||||
| filesets.add( mainFileSet ); | filesets.add( mainFileSet ); | ||||
| } | } | ||||
| @@ -154,7 +154,7 @@ public class Tar | |||||
| for( int i = 0; i < files.length; ++i ) | for( int i = 0; i < files.length; ++i ) | ||||
| { | { | ||||
| if( tarFile.equals( new File( fs.getDir( getProject() ), files[ i ] ) ) ) | |||||
| if( tarFile.equals( new File( fs.getDir(), files[ i ] ) ) ) | |||||
| { | { | ||||
| throw new TaskException( "A tar file cannot include itself" ); | throw new TaskException( "A tar file cannot include itself" ); | ||||
| } | } | ||||
| @@ -196,7 +196,7 @@ public class Tar | |||||
| String[] files = fs.getFiles( getProject() ); | String[] files = fs.getFiles( getProject() ); | ||||
| for( int i = 0; i < files.length; i++ ) | for( int i = 0; i < files.length; i++ ) | ||||
| { | { | ||||
| File f = new File( fs.getDir( getProject() ), files[ i ] ); | |||||
| File f = new File( fs.getDir(), files[ i ] ); | |||||
| String name = files[ i ].replace( File.separatorChar, '/' ); | String name = files[ i ].replace( File.separatorChar, '/' ); | ||||
| tarFile( f, tOut, name, fs ); | tarFile( f, tOut, name, fs ); | ||||
| } | } | ||||
| @@ -322,16 +322,6 @@ public class Tar | |||||
| private String userName = ""; | private String userName = ""; | ||||
| private String groupName = ""; | private String groupName = ""; | ||||
| public TarFileSet( FileSet fileset ) | |||||
| { | |||||
| super( fileset ); | |||||
| } | |||||
| public TarFileSet() | |||||
| { | |||||
| super(); | |||||
| } | |||||
| public void setGroup( String groupName ) | public void setGroup( String groupName ) | ||||
| { | { | ||||
| this.groupName = groupName; | this.groupName = groupName; | ||||
| @@ -359,7 +349,7 @@ public class Tar | |||||
| { | { | ||||
| if( files == null ) | if( files == null ) | ||||
| { | { | ||||
| DirectoryScanner ds = getDirectoryScanner( p ); | |||||
| DirectoryScanner ds = getDirectoryScanner(); | |||||
| String[] directories = ds.getIncludedDirectories(); | String[] directories = ds.getIncludedDirectories(); | ||||
| String[] filesPerSe = ds.getIncludedFiles(); | String[] filesPerSe = ds.getIncludedFiles(); | ||||
| files = new String[ directories.length + filesPerSe.length ]; | files = new String[ directories.length + filesPerSe.length ]; | ||||
| @@ -127,8 +127,8 @@ public class UpToDate extends MatchingTask implements Condition | |||||
| while( upToDate && enum.hasNext() ) | while( upToDate && enum.hasNext() ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)enum.next(); | FileSet fs = (FileSet)enum.next(); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| upToDate = upToDate && scanDir( fs.getDir( getProject() ), | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| upToDate = upToDate && scanDir( fs.getDir(), | |||||
| ds.getIncludedFiles() ); | ds.getIncludedFiles() ); | ||||
| } | } | ||||
| return upToDate; | return upToDate; | ||||
| @@ -264,7 +264,7 @@ public class Zip extends MatchingTask | |||||
| for( int i = 0; i < filesets.size(); i++ ) | for( int i = 0; i < filesets.size(); i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| dss.add( fs.getDirectoryScanner( getProject() ) ); | |||||
| dss.add( fs.getDirectoryScanner() ); | |||||
| } | } | ||||
| int dssSize = dss.size(); | int dssSize = dss.size(); | ||||
| FileScanner[] scanners = new FileScanner[ dssSize ]; | FileScanner[] scanners = new FileScanner[ dssSize ]; | ||||
| @@ -541,7 +541,7 @@ public class Zip extends MatchingTask | |||||
| for( int i = 0; i < filesets.size(); i++ ) | for( int i = 0; i < filesets.size(); i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String prefix = ""; | String prefix = ""; | ||||
| String fullpath = ""; | String fullpath = ""; | ||||
| @@ -229,8 +229,8 @@ public class Copy | |||||
| for( int i = 0; i < m_filesets.size(); i++ ) | for( int i = 0; i < m_filesets.size(); i++ ) | ||||
| { | { | ||||
| final FileSet fileSet = (FileSet)m_filesets.get( i ); | final FileSet fileSet = (FileSet)m_filesets.get( i ); | ||||
| final DirectoryScanner scanner = fileSet.getDirectoryScanner( getProject() ); | |||||
| final File fromDir = fileSet.getDir( getProject() ); | |||||
| final DirectoryScanner scanner = fileSet.getDirectoryScanner(); | |||||
| final File fromDir = fileSet.getDir(); | |||||
| final String[] srcFiles = scanner.getIncludedFiles(); | final String[] srcFiles = scanner.getIncludedFiles(); | ||||
| final String[] srcDirs = scanner.getIncludedDirectories(); | final String[] srcDirs = scanner.getIncludedDirectories(); | ||||
| @@ -486,7 +486,7 @@ public class Copy | |||||
| else | else | ||||
| { | { | ||||
| FileSet fs = (FileSet)m_filesets.get( 0 ); | FileSet fs = (FileSet)m_filesets.get( 0 ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String[] srcFiles = ds.getIncludedFiles(); | String[] srcFiles = ds.getIncludedFiles(); | ||||
| if( srcFiles.length > 0 ) | if( srcFiles.length > 0 ) | ||||
| @@ -44,7 +44,7 @@ public class Delete | |||||
| * | * | ||||
| * @param dir the directory path. | * @param dir the directory path. | ||||
| */ | */ | ||||
| public void setDir( File dir ) | |||||
| public void setDir( final File dir ) | |||||
| { | { | ||||
| m_dir = dir; | m_dir = dir; | ||||
| } | } | ||||
| @@ -54,7 +54,7 @@ public class Delete | |||||
| * | * | ||||
| * @param file the file to be deleted | * @param file the file to be deleted | ||||
| */ | */ | ||||
| public void setFile( File file ) | |||||
| public void setFile( final File file ) | |||||
| { | { | ||||
| m_file = file; | m_file = file; | ||||
| } | } | ||||
| @@ -100,14 +100,16 @@ public class Delete | |||||
| getLogger().info( "Deleting: " + m_file.getAbsolutePath() ); | getLogger().info( "Deleting: " + m_file.getAbsolutePath() ); | ||||
| if( !m_file.delete() ) | if( !m_file.delete() ) | ||||
| { | { | ||||
| String message = "Unable to delete file " + m_file.getAbsolutePath(); | |||||
| final String message = "Unable to delete file " + m_file.getAbsolutePath(); | |||||
| throw new TaskException( message ); | throw new TaskException( message ); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| getLogger().debug( "Could not find file " + m_file.getAbsolutePath() + " to delete." ); | |||||
| final String message = | |||||
| "Could not find file " + m_file.getAbsolutePath() + " to delete."; | |||||
| getLogger().debug( message ); | |||||
| } | } | ||||
| } | } | ||||
| @@ -124,10 +126,10 @@ public class Delete | |||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| try | try | ||||
| { | { | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String[] files = ds.getIncludedFiles(); | String[] files = ds.getIncludedFiles(); | ||||
| String[] dirs = ds.getIncludedDirectories(); | String[] dirs = ds.getIncludedDirectories(); | ||||
| removeFiles( fs.getDir( getProject() ), files, dirs ); | |||||
| removeFiles( fs.getDir(), files, dirs ); | |||||
| } | } | ||||
| catch( TaskException be ) | catch( TaskException be ) | ||||
| { | { | ||||
| @@ -205,7 +205,7 @@ public class Move | |||||
| while( e.hasNext() ) | while( e.hasNext() ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)e.next(); | FileSet fs = (FileSet)e.next(); | ||||
| File dir = fs.getDir( getProject() ); | |||||
| File dir = fs.getDir(); | |||||
| if( okToDelete( dir ) ) | if( okToDelete( dir ) ) | ||||
| { | { | ||||
| @@ -157,8 +157,8 @@ public class Touch | |||||
| for( int i = 0; i < size; i++ ) | for( int i = 0; i < size; i++ ) | ||||
| { | { | ||||
| final FileSet fs = (FileSet)m_filesets.get( i ); | final FileSet fs = (FileSet)m_filesets.get( i ); | ||||
| final DirectoryScanner ds = fs.getDirectoryScanner( null ); | |||||
| final File fromDir = fs.getDir( null ); | |||||
| final DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| final File fromDir = fs.getDir(); | |||||
| final String[] srcFiles = ds.getIncludedFiles(); | final String[] srcFiles = ds.getIncludedFiles(); | ||||
| final String[] srcDirs = ds.getIncludedDirectories(); | final String[] srcDirs = ds.getIncludedDirectories(); | ||||
| @@ -1022,7 +1022,7 @@ public class Javadoc | |||||
| final File source = resolveFile( list[ j ] ); | final File source = resolveFile( list[ j ] ); | ||||
| fs.setDir( source ); | fs.setDir( source ); | ||||
| final DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| final DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| final String[] packageDirs = ds.getIncludedDirectories(); | final String[] packageDirs = ds.getIncludedDirectories(); | ||||
| for( int i = 0; i < packageDirs.length; i++ ) | for( int i = 0; i < packageDirs.length; i++ ) | ||||
| @@ -204,7 +204,7 @@ public class Cab extends MatchingTask | |||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| if( fs != null ) | if( fs != null ) | ||||
| { | { | ||||
| appendFiles( files, fs.getDirectoryScanner( getProject() ) ); | |||||
| appendFiles( files, fs.getDirectoryScanner() ); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -559,8 +559,8 @@ public class GenericDeploymentTool | |||||
| for( Iterator i = config.supportFileSets.iterator(); i.hasNext(); ) | for( Iterator i = config.supportFileSets.iterator(); i.hasNext(); ) | ||||
| { | { | ||||
| FileSet supportFileSet = (FileSet)i.next(); | FileSet supportFileSet = (FileSet)i.next(); | ||||
| File supportBaseDir = supportFileSet.getDir( project ); | |||||
| DirectoryScanner supportScanner = supportFileSet.getDirectoryScanner( project ); | |||||
| File supportBaseDir = supportFileSet.getDir(); | |||||
| DirectoryScanner supportScanner = supportFileSet.getDirectoryScanner(); | |||||
| supportScanner.scan(); | supportScanner.scan(); | ||||
| String[] supportFiles = supportScanner.getIncludedFiles(); | String[] supportFiles = supportScanner.getIncludedFiles(); | ||||
| for( int j = 0; j < supportFiles.length; ++j ) | for( int j = 0; j < supportFiles.length; ++j ) | ||||
| @@ -518,7 +518,7 @@ public class Translate | |||||
| for( int i = 0; i < filesets.size(); i++ ) | for( int i = 0; i < filesets.size(); i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String[] srcFiles = ds.getIncludedFiles(); | String[] srcFiles = ds.getIncludedFiles(); | ||||
| for( int j = 0; j < srcFiles.length; j++ ) | for( int j = 0; j < srcFiles.length; j++ ) | ||||
| { | { | ||||
| @@ -224,7 +224,7 @@ public class VAJImport extends VAJTask | |||||
| */ | */ | ||||
| protected void importFileset( FileSet fileset ) | protected void importFileset( FileSet fileset ) | ||||
| { | { | ||||
| DirectoryScanner ds = fileset.getDirectoryScanner( this.getProject() ); | |||||
| DirectoryScanner ds = fileset.getDirectoryScanner(); | |||||
| if( ds.getIncludedFiles().length == 0 ) | if( ds.getIncludedFiles().length == 0 ) | ||||
| { | { | ||||
| return; | return; | ||||
| @@ -127,7 +127,7 @@ public final class BatchTest extends BaseTest | |||||
| for( int j = 0; j < size; j++ ) | for( int j = 0; j < size; j++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( j ); | FileSet fs = (FileSet)filesets.get( j ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( project ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| ds.scan(); | ds.scan(); | ||||
| String[] f = ds.getIncludedFiles(); | String[] f = ds.getIncludedFiles(); | ||||
| for( int k = 0; k < f.length; k++ ) | for( int k = 0; k < f.length; k++ ) | ||||
| @@ -200,7 +200,7 @@ public class XMLResultAggregator extends Task implements XMLConstants | |||||
| for( int i = 0; i < size; i++ ) | for( int i = 0; i < size; i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| ds.scan(); | ds.scan(); | ||||
| String[] f = ds.getIncludedFiles(); | String[] f = ds.getIncludedFiles(); | ||||
| for( int j = 0; j < f.length; j++ ) | for( int j = 0; j < f.length; j++ ) | ||||
| @@ -365,7 +365,7 @@ public abstract class AbstractMetamataTask extends Task | |||||
| for( int i = 0; i < fileSets.size(); i++ ) | for( int i = 0; i < fileSets.size(); i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)fileSets.get( i ); | FileSet fs = (FileSet)fileSets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| ds.scan(); | ds.scan(); | ||||
| String[] f = ds.getIncludedFiles(); | String[] f = ds.getIncludedFiles(); | ||||
| getLogger().debug( i + ") Adding " + f.length + " files from directory " + ds.getBasedir() ); | getLogger().debug( i + ") Adding " + f.length + " files from directory " + ds.getBasedir() ); | ||||
| @@ -792,12 +792,12 @@ public class FTP | |||||
| if( action == SEND_FILES ) | if( action == SEND_FILES ) | ||||
| { | { | ||||
| ds = fs.getDirectoryScanner( getProject() ); | |||||
| ds = fs.getDirectoryScanner(); | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| ds = new FTPDirectoryScanner( ftp ); | ds = new FTPDirectoryScanner( ftp ); | ||||
| fs.setupDirectoryScanner( ds, getProject() ); | |||||
| fs.setupDirectoryScanner( ds ); | |||||
| ds.scan(); | ds.scan(); | ||||
| } | } | ||||
| @@ -307,7 +307,7 @@ public class MimeMail extends Task | |||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| if( fs != null ) | if( fs != null ) | ||||
| { | { | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String[] dsfiles = ds.getIncludedFiles(); | String[] dsfiles = ds.getIncludedFiles(); | ||||
| File baseDir = ds.getBasedir(); | File baseDir = ds.getBasedir(); | ||||
| @@ -123,7 +123,7 @@ public class P4Add extends P4Base | |||||
| for( int i = 0; i < filesets.size(); i++ ) | for( int i = 0; i < filesets.size(); i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| //File fromDir = fs.getDir(project); | //File fromDir = fs.getDir(project); | ||||
| String[] srcFiles = ds.getIncludedFiles(); | String[] srcFiles = ds.getIncludedFiles(); | ||||
| @@ -152,7 +152,7 @@ public class CovMerge extends Task | |||||
| for( int i = 0; i < size; i++ ) | for( int i = 0; i < size; i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)filesets.get( i ); | FileSet fs = (FileSet)filesets.get( i ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| ds.scan(); | ds.scan(); | ||||
| String[] f = ds.getIncludedFiles(); | String[] f = ds.getIncludedFiles(); | ||||
| for( int j = 0; j < f.length; j++ ) | for( int j = 0; j < f.length; j++ ) | ||||
| @@ -151,12 +151,12 @@ public class SignJar | |||||
| for( int i = 0; i < m_filesets.size(); i++ ) | for( int i = 0; i < m_filesets.size(); i++ ) | ||||
| { | { | ||||
| final FileSet fileSet = (FileSet)m_filesets.get( i ); | final FileSet fileSet = (FileSet)m_filesets.get( i ); | ||||
| final DirectoryScanner scanner = fileSet.getDirectoryScanner( null ); | |||||
| final DirectoryScanner scanner = fileSet.getDirectoryScanner(); | |||||
| final String[] jarFiles = scanner.getIncludedFiles(); | final String[] jarFiles = scanner.getIncludedFiles(); | ||||
| for( int j = 0; j < jarFiles.length; j++ ) | for( int j = 0; j < jarFiles.length; j++ ) | ||||
| { | { | ||||
| final File file = | final File file = | ||||
| new File( fileSet.getDir( null ), jarFiles[ j ] ); | |||||
| new File( fileSet.getDir(), jarFiles[ j ] ); | |||||
| doOneJar( file, null ); | doOneJar( file, null ); | ||||
| } | } | ||||
| } | } | ||||
| @@ -205,7 +205,7 @@ public class ReplaceRegExp extends Task | |||||
| for( int i = 0; i < sz; i++ ) | for( int i = 0; i < sz; i++ ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)( filesets.get( i ) ); | FileSet fs = (FileSet)( filesets.get( i ) ); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String files[] = ds.getIncludedFiles(); | String files[] = ds.getIncludedFiles(); | ||||
| for( int j = 0; j < files.length; j++ ) | for( int j = 0; j < files.length; j++ ) | ||||
| @@ -152,14 +152,14 @@ public class Chmod extends ExecuteOn | |||||
| public void execute() | public void execute() | ||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( defaultSetDefined || defaultSet.getDir( getProject() ) == null ) | |||||
| if( defaultSetDefined || defaultSet.getDir() == null ) | |||||
| { | { | ||||
| super.execute(); | super.execute(); | ||||
| } | } | ||||
| else if( isValidOs() ) | else if( isValidOs() ) | ||||
| { | { | ||||
| // we are chmodding the given directory | // we are chmodding the given directory | ||||
| createArg().setValue( defaultSet.getDir( getProject() ).getPath() ); | |||||
| createArg().setValue( defaultSet.getDir().getPath() ); | |||||
| Execute execute = prepareExec(); | Execute execute = prepareExec(); | ||||
| try | try | ||||
| { | { | ||||
| @@ -191,7 +191,7 @@ public class Chmod extends ExecuteOn | |||||
| throw new TaskException( "Required attribute perm not set in chmod" ); | throw new TaskException( "Required attribute perm not set in chmod" ); | ||||
| } | } | ||||
| if( defaultSetDefined && defaultSet.getDir( getProject() ) != null ) | |||||
| if( defaultSetDefined && defaultSet.getDir() != null ) | |||||
| { | { | ||||
| addFileset( defaultSet ); | addFileset( defaultSet ); | ||||
| } | } | ||||
| @@ -9,11 +9,9 @@ package org.apache.tools.ant.types; | |||||
| import java.io.File; | import java.io.File; | ||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||
| import java.util.Stack; | |||||
| import org.apache.myrmidon.api.TaskException; | import org.apache.myrmidon.api.TaskException; | ||||
| import org.apache.tools.ant.DirectoryScanner; | import org.apache.tools.ant.DirectoryScanner; | ||||
| import org.apache.tools.ant.FileScanner; | import org.apache.tools.ant.FileScanner; | ||||
| import org.apache.tools.ant.Project; | |||||
| /** | /** | ||||
| * Moved out of MatchingTask to make it a standalone object that could be | * Moved out of MatchingTask to make it a standalone object that could be | ||||
| @@ -31,64 +29,36 @@ public class FileSet | |||||
| extends DataType | extends DataType | ||||
| implements Cloneable | implements Cloneable | ||||
| { | { | ||||
| private PatternSet defaultPatterns = new PatternSet(); | |||||
| private ArrayList additionalPatterns = new ArrayList(); | |||||
| private boolean useDefaultExcludes = true; | |||||
| private boolean isCaseSensitive = true; | |||||
| private File dir; | |||||
| private PatternSet m_defaultPatterns = new PatternSet(); | |||||
| private ArrayList m_additionalPatterns = new ArrayList(); | |||||
| private boolean m_useDefaultExcludes = true; | |||||
| private boolean m_isCaseSensitive = true; | |||||
| private File m_dir; | |||||
| public FileSet() | public FileSet() | ||||
| { | { | ||||
| super(); | |||||
| } | |||||
| protected FileSet( FileSet fileset ) | |||||
| { | |||||
| this.dir = fileset.dir; | |||||
| this.defaultPatterns = fileset.defaultPatterns; | |||||
| this.additionalPatterns = fileset.additionalPatterns; | |||||
| this.useDefaultExcludes = fileset.useDefaultExcludes; | |||||
| this.isCaseSensitive = fileset.isCaseSensitive; | |||||
| } | } | ||||
| /** | /** | ||||
| * Sets case sensitivity of the file system | * Sets case sensitivity of the file system | ||||
| * | |||||
| * @param isCaseSensitive "true"|"on"|"yes" if file system is case | |||||
| * sensitive, "false"|"off"|"no" when not. | |||||
| */ | */ | ||||
| public void setCaseSensitive( boolean isCaseSensitive ) | |||||
| public void setCaseSensitive( final boolean isCaseSensitive ) | |||||
| { | { | ||||
| this.isCaseSensitive = isCaseSensitive; | |||||
| m_isCaseSensitive = isCaseSensitive; | |||||
| } | } | ||||
| /** | /** | ||||
| * Sets whether default exclusions should be used or not. | * Sets whether default exclusions should be used or not. | ||||
| * | |||||
| * @param useDefaultExcludes "true"|"on"|"yes" when default exclusions | |||||
| * should be used, "false"|"off"|"no" when they shouldn't be used. | |||||
| */ | */ | ||||
| public void setDefaultexcludes( boolean useDefaultExcludes ) | |||||
| throws TaskException | |||||
| public void setDefaultexcludes( final boolean useDefaultExcludes ) | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| this.useDefaultExcludes = useDefaultExcludes; | |||||
| m_useDefaultExcludes = useDefaultExcludes; | |||||
| } | } | ||||
| public void setDir( File dir ) | |||||
| public void setDir( final File dir ) | |||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| this.dir = dir; | |||||
| m_dir = dir; | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -97,32 +67,19 @@ public class FileSet | |||||
| * | * | ||||
| * @param excludes the string containing the exclude patterns | * @param excludes the string containing the exclude patterns | ||||
| */ | */ | ||||
| public void setExcludes( String excludes ) | |||||
| throws TaskException | |||||
| public void setExcludes( final String excludes ) | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| defaultPatterns.setExcludes( excludes ); | |||||
| m_defaultPatterns.setExcludes( excludes ); | |||||
| } | } | ||||
| /** | /** | ||||
| * Sets the name of the file containing the includes patterns. | * Sets the name of the file containing the includes patterns. | ||||
| * | * | ||||
| * @param excl The file to fetch the exclude patterns from. | * @param excl The file to fetch the exclude patterns from. | ||||
| * @exception TaskException Description of Exception | |||||
| */ | */ | ||||
| public void setExcludesfile( File excl ) | |||||
| throws TaskException | |||||
| public void setExcludesfile( final File excl ) | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| defaultPatterns.setExcludesfile( excl ); | |||||
| m_defaultPatterns.setExcludesfile( excl ); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -132,250 +89,118 @@ public class FileSet | |||||
| * @param includes the string containing the include patterns | * @param includes the string containing the include patterns | ||||
| */ | */ | ||||
| public void setIncludes( String includes ) | public void setIncludes( String includes ) | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| defaultPatterns.setIncludes( includes ); | |||||
| m_defaultPatterns.setIncludes( includes ); | |||||
| } | } | ||||
| /** | /** | ||||
| * Sets the name of the file containing the includes patterns. | * Sets the name of the file containing the includes patterns. | ||||
| * | * | ||||
| * @param incl The file to fetch the include patterns from. | * @param incl The file to fetch the include patterns from. | ||||
| * @exception TaskException Description of Exception | |||||
| */ | */ | ||||
| public void setIncludesfile( File incl ) | public void setIncludesfile( File incl ) | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| defaultPatterns.setIncludesfile( incl ); | |||||
| m_defaultPatterns.setIncludesfile( incl ); | |||||
| } | } | ||||
| /** | |||||
| * Makes this instance in effect a reference to another PatternSet instance. | |||||
| * <p> | |||||
| * | |||||
| * You must not set another attribute or nest elements inside this element | |||||
| * if you make it a reference.</p> | |||||
| * | |||||
| * @param r The new Refid value | |||||
| * @exception TaskException Description of Exception | |||||
| */ | |||||
| public void setRefid( Reference r ) | |||||
| public void setupDirectoryScanner( final FileScanner ds ) | |||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( dir != null || defaultPatterns.hasPatterns() ) | |||||
| if( null == ds ) | |||||
| { | { | ||||
| throw tooManyAttributes(); | |||||
| final String message = "ds cannot be null"; | |||||
| throw new IllegalArgumentException( message ); | |||||
| } | } | ||||
| if( !additionalPatterns.isEmpty() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| super.setRefid( r ); | |||||
| } | |||||
| public void setupDirectoryScanner( FileScanner ds, Project p ) | |||||
| throws TaskException | |||||
| { | |||||
| if( ds == null ) | |||||
| { | |||||
| throw new IllegalArgumentException( "ds cannot be null" ); | |||||
| } | |||||
| ds.setBasedir( dir ); | |||||
| ds.setBasedir( m_dir ); | |||||
| for( int i = 0; i < additionalPatterns.size(); i++ ) | |||||
| final int size = m_additionalPatterns.size(); | |||||
| for( int i = 0; i < size; i++ ) | |||||
| { | { | ||||
| Object o = additionalPatterns.get( i ); | |||||
| defaultPatterns.append( (PatternSet)o, p ); | |||||
| final Object o = m_additionalPatterns.get( i ); | |||||
| m_defaultPatterns.append( (PatternSet)o ); | |||||
| } | } | ||||
| getLogger().debug( "FileSet: Setup file scanner in dir " + dir + " with " + defaultPatterns ); | |||||
| final String message = "FileSet: Setup file scanner in dir " + | |||||
| m_dir + " with " + m_defaultPatterns; | |||||
| getLogger().debug( message ); | |||||
| ds.setIncludes( defaultPatterns.getIncludePatterns( p ) ); | |||||
| ds.setExcludes( defaultPatterns.getExcludePatterns( p ) ); | |||||
| if( useDefaultExcludes ) | |||||
| ds.setIncludes( m_defaultPatterns.getIncludePatterns( null ) ); | |||||
| ds.setExcludes( m_defaultPatterns.getExcludePatterns( null ) ); | |||||
| if( m_useDefaultExcludes ) | |||||
| { | |||||
| ds.addDefaultExcludes(); | ds.addDefaultExcludes(); | ||||
| ds.setCaseSensitive( isCaseSensitive ); | |||||
| } | |||||
| ds.setCaseSensitive( m_isCaseSensitive ); | |||||
| } | } | ||||
| public File getDir( Project p ) | |||||
| throws TaskException | |||||
| public File getDir() | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| return getRef( p ).getDir( p ); | |||||
| } | |||||
| return dir; | |||||
| return m_dir; | |||||
| } | } | ||||
| /** | /** | ||||
| * Returns the directory scanner needed to access the files to process. | * Returns the directory scanner needed to access the files to process. | ||||
| * | |||||
| * @param p Description of Parameter | |||||
| * @return The DirectoryScanner value | |||||
| */ | */ | ||||
| public DirectoryScanner getDirectoryScanner( Project p ) | |||||
| public DirectoryScanner getDirectoryScanner() | |||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| return getRef( p ).getDirectoryScanner( p ); | |||||
| } | |||||
| if( dir == null ) | |||||
| if( m_dir == null ) | |||||
| { | { | ||||
| throw new TaskException( "No directory specified for fileset." ); | throw new TaskException( "No directory specified for fileset." ); | ||||
| } | } | ||||
| if( !dir.exists() ) | |||||
| if( !m_dir.exists() ) | |||||
| { | { | ||||
| throw new TaskException( dir.getAbsolutePath() + " not found." ); | |||||
| throw new TaskException( m_dir.getAbsolutePath() + " not found." ); | |||||
| } | } | ||||
| if( !dir.isDirectory() ) | |||||
| if( !m_dir.isDirectory() ) | |||||
| { | { | ||||
| throw new TaskException( dir.getAbsolutePath() + " is not a directory." ); | |||||
| throw new TaskException( m_dir.getAbsolutePath() + " is not a directory." ); | |||||
| } | } | ||||
| DirectoryScanner ds = new DirectoryScanner(); | |||||
| setupDirectoryScanner( ds, p ); | |||||
| ds.scan(); | |||||
| return ds; | |||||
| } | |||||
| /** | |||||
| * Return a FileSet that has the same basedir and same patternsets as this | |||||
| * one. | |||||
| * | |||||
| * @return Description of the Returned Value | |||||
| */ | |||||
| public Object clone() | |||||
| { | |||||
| try | |||||
| { | |||||
| if( isReference() ) | |||||
| { | |||||
| return new FileSet( getRef( getProject() ) ); | |||||
| } | |||||
| else | |||||
| { | |||||
| return new FileSet( this ); | |||||
| } | |||||
| } | |||||
| catch( TaskException e ) | |||||
| { | |||||
| throw new IllegalStateException( e.getMessage() ); | |||||
| } | |||||
| final DirectoryScanner scanner = new DirectoryScanner(); | |||||
| setupDirectoryScanner( scanner ); | |||||
| scanner.scan(); | |||||
| return scanner; | |||||
| } | } | ||||
| /** | /** | ||||
| * add a name entry on the exclude list | * add a name entry on the exclude list | ||||
| * | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| public PatternSet.NameEntry createExclude() | public PatternSet.NameEntry createExclude() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| return defaultPatterns.createExclude(); | |||||
| return m_defaultPatterns.createExclude(); | |||||
| } | } | ||||
| /** | /** | ||||
| * add a name entry on the include files list | * add a name entry on the include files list | ||||
| * | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| public PatternSet.NameEntry createExcludesFile() | public PatternSet.NameEntry createExcludesFile() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| return defaultPatterns.createExcludesFile(); | |||||
| return m_defaultPatterns.createExcludesFile(); | |||||
| } | } | ||||
| /** | /** | ||||
| * add a name entry on the include list | * add a name entry on the include list | ||||
| * | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| public PatternSet.NameEntry createInclude() | public PatternSet.NameEntry createInclude() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| return defaultPatterns.createInclude(); | |||||
| return m_defaultPatterns.createInclude(); | |||||
| } | } | ||||
| /** | /** | ||||
| * add a name entry on the include files list | * add a name entry on the include files list | ||||
| * | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| public PatternSet.NameEntry createIncludesFile() | public PatternSet.NameEntry createIncludesFile() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| return defaultPatterns.createIncludesFile(); | |||||
| return m_defaultPatterns.createIncludesFile(); | |||||
| } | } | ||||
| public PatternSet createPatternSet() | public PatternSet createPatternSet() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| PatternSet patterns = new PatternSet(); | |||||
| additionalPatterns.add( patterns ); | |||||
| final PatternSet patterns = new PatternSet(); | |||||
| m_additionalPatterns.add( patterns ); | |||||
| return patterns; | return patterns; | ||||
| } | } | ||||
| /** | |||||
| * Performs the check for circular references and returns the referenced | |||||
| * FileSet. | |||||
| * | |||||
| * @param p Description of Parameter | |||||
| * @return The Ref value | |||||
| */ | |||||
| protected FileSet getRef( Project p ) | |||||
| throws TaskException | |||||
| { | |||||
| if( !checked ) | |||||
| { | |||||
| Stack stk = new Stack(); | |||||
| stk.push( this ); | |||||
| dieOnCircularReference( stk, p ); | |||||
| } | |||||
| Object o = ref.getReferencedObject( p ); | |||||
| if( !( o instanceof FileSet ) ) | |||||
| { | |||||
| String msg = ref.getRefId() + " doesn\'t denote a fileset"; | |||||
| throw new TaskException( msg ); | |||||
| } | |||||
| else | |||||
| { | |||||
| return (FileSet)o; | |||||
| } | |||||
| } | |||||
| } | } | ||||
| @@ -588,9 +588,9 @@ public class Path | |||||
| else if( o instanceof FileSet ) | else if( o instanceof FileSet ) | ||||
| { | { | ||||
| FileSet fs = (FileSet)o; | FileSet fs = (FileSet)o; | ||||
| DirectoryScanner ds = fs.getDirectoryScanner( getProject() ); | |||||
| DirectoryScanner ds = fs.getDirectoryScanner(); | |||||
| String[] s = ds.getIncludedFiles(); | String[] s = ds.getIncludedFiles(); | ||||
| File dir = fs.getDir( getProject() ); | |||||
| File dir = fs.getDir(); | |||||
| for( int j = 0; j < s.length; j++ ) | for( int j = 0; j < s.length; j++ ) | ||||
| { | { | ||||
| File f = new File( dir, s[ j ] ); | File f = new File( dir, s[ j ] ); | ||||
| @@ -13,7 +13,6 @@ import java.io.FileReader; | |||||
| import java.io.IOException; | import java.io.IOException; | ||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||
| import java.util.Iterator; | import java.util.Iterator; | ||||
| import java.util.Stack; | |||||
| import java.util.StringTokenizer; | import java.util.StringTokenizer; | ||||
| import org.apache.myrmidon.api.TaskException; | import org.apache.myrmidon.api.TaskException; | ||||
| import org.apache.tools.ant.Project; | import org.apache.tools.ant.Project; | ||||
| @@ -31,12 +30,13 @@ import org.apache.tools.ant.Project; | |||||
| * @author Jon S. Stevens <a href="mailto:jon@clearink.com">jon@clearink.com</a> | * @author Jon S. Stevens <a href="mailto:jon@clearink.com">jon@clearink.com</a> | ||||
| * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | ||||
| */ | */ | ||||
| public class PatternSet extends DataType | |||||
| public class PatternSet | |||||
| extends DataType | |||||
| { | { | ||||
| private ArrayList includeList = new ArrayList(); | |||||
| private ArrayList excludeList = new ArrayList(); | |||||
| private ArrayList includesFileList = new ArrayList(); | |||||
| private ArrayList excludesFileList = new ArrayList(); | |||||
| private ArrayList m_includeList = new ArrayList(); | |||||
| private ArrayList m_excludeList = new ArrayList(); | |||||
| private ArrayList m_includesFileList = new ArrayList(); | |||||
| private ArrayList m_excludesFileList = new ArrayList(); | |||||
| public PatternSet() | public PatternSet() | ||||
| { | { | ||||
| @@ -50,12 +50,7 @@ public class PatternSet extends DataType | |||||
| * @param excludes the string containing the exclude patterns | * @param excludes the string containing the exclude patterns | ||||
| */ | */ | ||||
| public void setExcludes( String excludes ) | public void setExcludes( String excludes ) | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| if( excludes != null && excludes.length() > 0 ) | if( excludes != null && excludes.length() > 0 ) | ||||
| { | { | ||||
| StringTokenizer tok = new StringTokenizer( excludes, ", ", false ); | StringTokenizer tok = new StringTokenizer( excludes, ", ", false ); | ||||
| @@ -73,12 +68,7 @@ public class PatternSet extends DataType | |||||
| * @exception TaskException Description of Exception | * @exception TaskException Description of Exception | ||||
| */ | */ | ||||
| public void setExcludesfile( File excludesFile ) | public void setExcludesfile( File excludesFile ) | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| createExcludesFile().setName( excludesFile.getAbsolutePath() ); | createExcludesFile().setName( excludesFile.getAbsolutePath() ); | ||||
| } | } | ||||
| @@ -89,12 +79,7 @@ public class PatternSet extends DataType | |||||
| * @param includes the string containing the include patterns | * @param includes the string containing the include patterns | ||||
| */ | */ | ||||
| public void setIncludes( String includes ) | public void setIncludes( String includes ) | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| if( includes != null && includes.length() > 0 ) | if( includes != null && includes.length() > 0 ) | ||||
| { | { | ||||
| StringTokenizer tok = new StringTokenizer( includes, ", ", false ); | StringTokenizer tok = new StringTokenizer( includes, ", ", false ); | ||||
| @@ -112,53 +97,18 @@ public class PatternSet extends DataType | |||||
| * @exception TaskException Description of Exception | * @exception TaskException Description of Exception | ||||
| */ | */ | ||||
| public void setIncludesfile( File includesFile ) | public void setIncludesfile( File includesFile ) | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| createIncludesFile().setName( includesFile.getAbsolutePath() ); | createIncludesFile().setName( includesFile.getAbsolutePath() ); | ||||
| } | } | ||||
| /** | |||||
| * Makes this instance in effect a reference to another PatternSet instance. | |||||
| * <p> | |||||
| * | |||||
| * You must not set another attribute or nest elements inside this element | |||||
| * if you make it a reference.</p> | |||||
| * | |||||
| * @param r The new Refid value | |||||
| * @exception TaskException Description of Exception | |||||
| */ | |||||
| public void setRefid( Reference r ) | |||||
| throws TaskException | |||||
| { | |||||
| if( !includeList.isEmpty() || !excludeList.isEmpty() ) | |||||
| { | |||||
| throw tooManyAttributes(); | |||||
| } | |||||
| super.setRefid( r ); | |||||
| } | |||||
| /** | /** | ||||
| * Returns the filtered include patterns. | * Returns the filtered include patterns. | ||||
| * | |||||
| * @param p Description of Parameter | |||||
| * @return The ExcludePatterns value | |||||
| */ | */ | ||||
| public String[] getExcludePatterns( Project p ) | public String[] getExcludePatterns( Project p ) | ||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| return getRef( p ).getExcludePatterns( p ); | |||||
| } | |||||
| else | |||||
| { | |||||
| readFiles( p ); | |||||
| return makeArray( excludeList, p ); | |||||
| } | |||||
| readFiles( p ); | |||||
| return makeArray( m_excludeList ); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -170,32 +120,17 @@ public class PatternSet extends DataType | |||||
| public String[] getIncludePatterns( Project p ) | public String[] getIncludePatterns( Project p ) | ||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| return getRef( p ).getIncludePatterns( p ); | |||||
| } | |||||
| else | |||||
| { | |||||
| readFiles( p ); | |||||
| return makeArray( includeList, p ); | |||||
| } | |||||
| readFiles( p ); | |||||
| return makeArray( m_includeList ); | |||||
| } | } | ||||
| /** | /** | ||||
| * Adds the patterns of the other instance to this set. | * Adds the patterns of the other instance to this set. | ||||
| * | |||||
| * @param other Description of Parameter | |||||
| * @param p Description of Parameter | |||||
| */ | */ | ||||
| public void append( PatternSet other, Project p ) | |||||
| protected void append( PatternSet other ) | |||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw new TaskException( "Cannot append to a reference" ); | |||||
| } | |||||
| String[] incl = other.getIncludePatterns( p ); | |||||
| String[] incl = other.getIncludePatterns( null ); | |||||
| if( incl != null ) | if( incl != null ) | ||||
| { | { | ||||
| for( int i = 0; i < incl.length; i++ ) | for( int i = 0; i < incl.length; i++ ) | ||||
| @@ -204,7 +139,7 @@ public class PatternSet extends DataType | |||||
| } | } | ||||
| } | } | ||||
| String[] excl = other.getExcludePatterns( p ); | |||||
| String[] excl = other.getExcludePatterns( null ); | |||||
| if( excl != null ) | if( excl != null ) | ||||
| { | { | ||||
| for( int i = 0; i < excl.length; i++ ) | for( int i = 0; i < excl.length; i++ ) | ||||
| @@ -220,13 +155,8 @@ public class PatternSet extends DataType | |||||
| * @return Description of the Returned Value | * @return Description of the Returned Value | ||||
| */ | */ | ||||
| public NameEntry createExclude() | public NameEntry createExclude() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| return addPatternToList( excludeList ); | |||||
| return addPatternToList( m_excludeList ); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -235,121 +165,66 @@ public class PatternSet extends DataType | |||||
| * @return Description of the Returned Value | * @return Description of the Returned Value | ||||
| */ | */ | ||||
| public NameEntry createExcludesFile() | public NameEntry createExcludesFile() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| return addPatternToList( excludesFileList ); | |||||
| return addPatternToList( m_excludesFileList ); | |||||
| } | } | ||||
| /** | /** | ||||
| * add a name entry on the include list | * add a name entry on the include list | ||||
| * | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| public NameEntry createInclude() | public NameEntry createInclude() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| return addPatternToList( includeList ); | |||||
| return addPatternToList( m_includeList ); | |||||
| } | } | ||||
| /** | /** | ||||
| * add a name entry on the include files list | * add a name entry on the include files list | ||||
| * | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| public NameEntry createIncludesFile() | public NameEntry createIncludesFile() | ||||
| throws TaskException | |||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| throw noChildrenAllowed(); | |||||
| } | |||||
| return addPatternToList( includesFileList ); | |||||
| return addPatternToList( m_includesFileList ); | |||||
| } | } | ||||
| public String toString() | public String toString() | ||||
| { | { | ||||
| return "patternSet{ includes: " + includeList + | |||||
| " excludes: " + excludeList + " }"; | |||||
| return "patternSet{ includes: " + m_includeList + | |||||
| " excludes: " + m_excludeList + " }"; | |||||
| } | } | ||||
| /** | /** | ||||
| * helper for FileSet. | * helper for FileSet. | ||||
| * | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| boolean hasPatterns() | boolean hasPatterns() | ||||
| { | { | ||||
| return includesFileList.size() > 0 || excludesFileList.size() > 0 | |||||
| || includeList.size() > 0 || excludeList.size() > 0; | |||||
| } | |||||
| /** | |||||
| * Performs the check for circular references and returns the referenced | |||||
| * PatternSet. | |||||
| * | |||||
| * @param p Description of Parameter | |||||
| * @return The Ref value | |||||
| */ | |||||
| private PatternSet getRef( Project p ) | |||||
| throws TaskException | |||||
| { | |||||
| if( !checked ) | |||||
| { | |||||
| Stack stk = new Stack(); | |||||
| stk.push( this ); | |||||
| dieOnCircularReference( stk, p ); | |||||
| } | |||||
| Object o = ref.getReferencedObject( p ); | |||||
| if( !( o instanceof PatternSet ) ) | |||||
| { | |||||
| String msg = ref.getRefId() + " doesn\'t denote a patternset"; | |||||
| throw new TaskException( msg ); | |||||
| } | |||||
| else | |||||
| { | |||||
| return (PatternSet)o; | |||||
| } | |||||
| return m_includesFileList.size() > 0 || m_excludesFileList.size() > 0 || | |||||
| m_includeList.size() > 0 || m_excludeList.size() > 0; | |||||
| } | } | ||||
| /** | /** | ||||
| * add a name entry to the given list | * add a name entry to the given list | ||||
| * | |||||
| * @param list The feature to be added to the PatternToList attribute | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| private NameEntry addPatternToList( ArrayList list ) | |||||
| private NameEntry addPatternToList( final ArrayList list ) | |||||
| { | { | ||||
| NameEntry result = new NameEntry(); | |||||
| final NameEntry result = new NameEntry(); | |||||
| list.add( result ); | list.add( result ); | ||||
| return result; | return result; | ||||
| } | } | ||||
| /** | /** | ||||
| * Convert a vector of NameEntry elements into an array of Strings. | * Convert a vector of NameEntry elements into an array of Strings. | ||||
| * | |||||
| * @param list Description of Parameter | |||||
| * @param p Description of Parameter | |||||
| * @return Description of the Returned Value | |||||
| */ | */ | ||||
| private String[] makeArray( ArrayList list, Project p ) | |||||
| private String[] makeArray( final ArrayList list ) | |||||
| { | { | ||||
| if( list.size() == 0 ) | if( list.size() == 0 ) | ||||
| { | |||||
| return null; | return null; | ||||
| } | |||||
| ArrayList tmpNames = new ArrayList(); | |||||
| final ArrayList tmpNames = new ArrayList(); | |||||
| for( Iterator e = list.iterator(); e.hasNext(); ) | for( Iterator e = list.iterator(); e.hasNext(); ) | ||||
| { | { | ||||
| NameEntry ne = (NameEntry)e.next(); | |||||
| String pattern = ne.evalName( p ); | |||||
| final NameEntry ne = (NameEntry)e.next(); | |||||
| final String pattern = ne.evalName( null ); | |||||
| if( pattern != null && pattern.length() > 0 ) | if( pattern != null && pattern.length() > 0 ) | ||||
| { | { | ||||
| tmpNames.add( pattern ); | tmpNames.add( pattern ); | ||||
| @@ -362,15 +237,13 @@ public class PatternSet extends DataType | |||||
| /** | /** | ||||
| * Read includesfile ot excludesfile if not already done so. | * Read includesfile ot excludesfile if not already done so. | ||||
| * | |||||
| * @param p Description of Parameter | |||||
| */ | */ | ||||
| private void readFiles( Project p ) | private void readFiles( Project p ) | ||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( includesFileList.size() > 0 ) | |||||
| if( m_includesFileList.size() > 0 ) | |||||
| { | { | ||||
| Iterator e = includesFileList.iterator(); | |||||
| Iterator e = m_includesFileList.iterator(); | |||||
| while( e.hasNext() ) | while( e.hasNext() ) | ||||
| { | { | ||||
| NameEntry ne = (NameEntry)e.next(); | NameEntry ne = (NameEntry)e.next(); | ||||
| @@ -382,15 +255,15 @@ public class PatternSet extends DataType | |||||
| throw new TaskException( "Includesfile " | throw new TaskException( "Includesfile " | ||||
| + inclFile.getAbsolutePath() | + inclFile.getAbsolutePath() | ||||
| + " not found." ); | + " not found." ); | ||||
| readPatterns( inclFile, includeList, p ); | |||||
| readPatterns( inclFile, m_includeList, p ); | |||||
| } | } | ||||
| } | } | ||||
| includesFileList.clear(); | |||||
| m_includesFileList.clear(); | |||||
| } | } | ||||
| if( excludesFileList.size() > 0 ) | |||||
| if( m_excludesFileList.size() > 0 ) | |||||
| { | { | ||||
| Iterator e = excludesFileList.iterator(); | |||||
| Iterator e = m_excludesFileList.iterator(); | |||||
| while( e.hasNext() ) | while( e.hasNext() ) | ||||
| { | { | ||||
| NameEntry ne = (NameEntry)e.next(); | NameEntry ne = (NameEntry)e.next(); | ||||
| @@ -402,10 +275,10 @@ public class PatternSet extends DataType | |||||
| throw new TaskException( "Excludesfile " | throw new TaskException( "Excludesfile " | ||||
| + exclFile.getAbsolutePath() | + exclFile.getAbsolutePath() | ||||
| + " not found." ); | + " not found." ); | ||||
| readPatterns( exclFile, excludeList, p ); | |||||
| readPatterns( exclFile, m_excludeList, p ); | |||||
| } | } | ||||
| } | } | ||||
| excludesFileList.clear(); | |||||
| m_excludesFileList.clear(); | |||||
| } | } | ||||
| } | } | ||||
| @@ -538,5 +411,4 @@ public class PatternSet extends DataType | |||||
| return true; | return true; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -38,16 +38,14 @@ public class ZipFileSet | |||||
| /** | /** | ||||
| * Set the directory for the fileset. Prevents both "dir" and "src" from | * Set the directory for the fileset. Prevents both "dir" and "src" from | ||||
| * being specified. | * being specified. | ||||
| * | |||||
| * @param dir The new Dir value | |||||
| * @exception TaskException Description of Exception | |||||
| */ | */ | ||||
| public void setDir( File dir ) | |||||
| public void setDir( final File dir ) | |||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( srcFile != null ) | if( srcFile != null ) | ||||
| { | { | ||||
| throw new TaskException( "Cannot set both dir and src attributes" ); | |||||
| final String message = "Cannot set both dir and src attributes"; | |||||
| throw new TaskException( message ); | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| @@ -104,22 +102,18 @@ public class ZipFileSet | |||||
| public DirectoryScanner getDirectoryScanner( Project p ) | public DirectoryScanner getDirectoryScanner( Project p ) | ||||
| throws TaskException | throws TaskException | ||||
| { | { | ||||
| if( isReference() ) | |||||
| { | |||||
| return getRef( p ).getDirectoryScanner( p ); | |||||
| } | |||||
| if( srcFile != null ) | if( srcFile != null ) | ||||
| { | { | ||||
| ZipScanner zs = new ZipScanner(); | ZipScanner zs = new ZipScanner(); | ||||
| zs.setSrc( srcFile ); | zs.setSrc( srcFile ); | ||||
| super.setDir( p.getBaseDir() ); | super.setDir( p.getBaseDir() ); | ||||
| setupDirectoryScanner( zs, p ); | |||||
| setupDirectoryScanner( zs ); | |||||
| zs.init(); | zs.init(); | ||||
| return zs; | return zs; | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| return super.getDirectoryScanner( p ); | |||||
| return super.getDirectoryScanner(); | |||||
| } | } | ||||
| } | } | ||||
| @@ -47,7 +47,7 @@ public class ClassfileSet extends FileSet | |||||
| public DirectoryScanner getDirectoryScanner( Project p ) | public DirectoryScanner getDirectoryScanner( Project p ) | ||||
| { | { | ||||
| DependScanner scanner = new DependScanner(); | DependScanner scanner = new DependScanner(); | ||||
| scanner.setBasedir( getDir( p ) ); | |||||
| scanner.setBasedir( getDir() ); | |||||
| scanner.setRootClasses( rootClasses ); | scanner.setRootClasses( rootClasses ); | ||||
| scanner.scan(); | scanner.scan(); | ||||
| return scanner; | return scanner; | ||||