git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270506 13f79535-47bb-0310-9956-ffa450edef68master
@@ -1,87 +0,0 @@ | |||||
/* | |||||
* Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
* | |||||
* This software is published under the terms of the Apache Software License | |||||
* version 1.1, a copy of which has been included with this distribution in | |||||
* the LICENSE.txt file. | |||||
*/ | |||||
package org.apache.tools.ant.types.optional.depend; | |||||
import java.util.ArrayList; | |||||
import java.util.List; | |||||
import org.apache.myrmidon.api.TaskException; | |||||
import org.apache.tools.ant.DirectoryScanner; | |||||
import org.apache.tools.ant.Project; | |||||
import org.apache.tools.ant.types.FileSet; | |||||
/** | |||||
* A DepSet is a FileSet, that enlists all classes that depend on a certain | |||||
* class. A DependSet extends FileSets and uses another FileSet as input. The | |||||
* nested FileSet attribute provides the domain, that is used for searching for | |||||
* dependent classes | |||||
* | |||||
* @author <a href="mailto:hengels@innovidata.com">Holger Engels</a> | |||||
*/ | |||||
public class ClassfileSet extends FileSet | |||||
{ | |||||
private List rootClasses = new ArrayList(); | |||||
protected ClassfileSet( ClassfileSet s ) | |||||
{ | |||||
super( s ); | |||||
rootClasses = s.rootClasses; | |||||
} | |||||
public void setRootClass( String rootClass ) | |||||
throws TaskException | |||||
{ | |||||
rootClasses.add( rootClass ); | |||||
} | |||||
/** | |||||
* Return the DirectoryScanner associated with this FileSet. | |||||
* | |||||
* @param p Description of Parameter | |||||
* @return The DirectoryScanner value | |||||
*/ | |||||
public DirectoryScanner getDirectoryScanner( Project p ) | |||||
{ | |||||
DependScanner scanner = new DependScanner(); | |||||
scanner.setBasedir( getDir() ); | |||||
scanner.setRootClasses( rootClasses ); | |||||
scanner.scan(); | |||||
return scanner; | |||||
} | |||||
public void addConfiguredRoot( ClassRoot root ) | |||||
{ | |||||
rootClasses.add( root.getClassname() ); | |||||
} | |||||
public Object clone() | |||||
{ | |||||
if( isReference() ) | |||||
{ | |||||
return new ClassfileSet( (ClassfileSet)getRef( getProject() ) ); | |||||
} | |||||
else | |||||
{ | |||||
return new ClassfileSet( this ); | |||||
} | |||||
} | |||||
public static class ClassRoot | |||||
{ | |||||
private String rootClass; | |||||
public void setClassname( String name ) | |||||
{ | |||||
this.rootClass = name; | |||||
} | |||||
public String getClassname() | |||||
{ | |||||
return rootClass; | |||||
} | |||||
} | |||||
} |
@@ -1,87 +0,0 @@ | |||||
/* | |||||
* Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
* | |||||
* This software is published under the terms of the Apache Software License | |||||
* version 1.1, a copy of which has been included with this distribution in | |||||
* the LICENSE.txt file. | |||||
*/ | |||||
package org.apache.tools.ant.types.optional.depend; | |||||
import java.util.ArrayList; | |||||
import java.util.List; | |||||
import org.apache.myrmidon.api.TaskException; | |||||
import org.apache.tools.ant.DirectoryScanner; | |||||
import org.apache.tools.ant.Project; | |||||
import org.apache.tools.ant.types.FileSet; | |||||
/** | |||||
* A DepSet is a FileSet, that enlists all classes that depend on a certain | |||||
* class. A DependSet extends FileSets and uses another FileSet as input. The | |||||
* nested FileSet attribute provides the domain, that is used for searching for | |||||
* dependent classes | |||||
* | |||||
* @author <a href="mailto:hengels@innovidata.com">Holger Engels</a> | |||||
*/ | |||||
public class ClassfileSet extends FileSet | |||||
{ | |||||
private List rootClasses = new ArrayList(); | |||||
protected ClassfileSet( ClassfileSet s ) | |||||
{ | |||||
super( s ); | |||||
rootClasses = s.rootClasses; | |||||
} | |||||
public void setRootClass( String rootClass ) | |||||
throws TaskException | |||||
{ | |||||
rootClasses.add( rootClass ); | |||||
} | |||||
/** | |||||
* Return the DirectoryScanner associated with this FileSet. | |||||
* | |||||
* @param p Description of Parameter | |||||
* @return The DirectoryScanner value | |||||
*/ | |||||
public DirectoryScanner getDirectoryScanner( Project p ) | |||||
{ | |||||
DependScanner scanner = new DependScanner(); | |||||
scanner.setBasedir( getDir() ); | |||||
scanner.setRootClasses( rootClasses ); | |||||
scanner.scan(); | |||||
return scanner; | |||||
} | |||||
public void addConfiguredRoot( ClassRoot root ) | |||||
{ | |||||
rootClasses.add( root.getClassname() ); | |||||
} | |||||
public Object clone() | |||||
{ | |||||
if( isReference() ) | |||||
{ | |||||
return new ClassfileSet( (ClassfileSet)getRef( getProject() ) ); | |||||
} | |||||
else | |||||
{ | |||||
return new ClassfileSet( this ); | |||||
} | |||||
} | |||||
public static class ClassRoot | |||||
{ | |||||
private String rootClass; | |||||
public void setClassname( String name ) | |||||
{ | |||||
this.rootClass = name; | |||||
} | |||||
public String getClassname() | |||||
{ | |||||
return rootClass; | |||||
} | |||||
} | |||||
} |