Package edu.umd.cs.findbugs
Class DiscoverSourceDirectories
- java.lang.Object
-
- edu.umd.cs.findbugs.DiscoverSourceDirectories
-
public class DiscoverSourceDirectories extends java.lang.Object
Based on the contents of the application directories/archives in a Project, and a "root" source directory (under which some number of "real" source directories may be located), scan to find the source directories containing the application's source files.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
DiscoverSourceDirectories.NoOpErrorLogger
private static class
DiscoverSourceDirectories.NoOpProgress
static interface
DiscoverSourceDirectories.Progress
Progress callback interface for reporting the progress of source directory discovery.
-
Field Summary
Fields Modifier and Type Field Description private static boolean
DEBUG
private java.util.List<java.lang.String>
discoveredSourceDirectoryList
private IErrorLogger
errorLogger
private DiscoverSourceDirectories.Progress
progress
private Project
project
private java.lang.String
rootSourceDirectory
-
Constructor Summary
Constructors Constructor Description DiscoverSourceDirectories()
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private IClassPath
buildClassPath(IClassPathBuilder builder, IClassFactory factory)
void
execute()
Execute the search for source directories.private java.lang.String
findFullyQualifiedSourceFileName(IClassPath classPath, ClassDescriptor classDesc)
private java.util.List<java.lang.String>
findFullyQualifiedSourceFileNames(IClassPathBuilder builder, IClassPath classPath)
private void
findSourceDirectoriesForAllSourceFiles(java.util.List<java.lang.String> fullyQualifiedSourceFileNameList, java.util.List<java.lang.String> candidateSourceDirList)
java.util.List<java.lang.String>
getDiscoveredSourceDirectoryList()
Get the list of discovered source directories.static void
main(java.lang.String[] args)
Just for testing.void
setErrorLogger(IErrorLogger errorLogger)
Set the error logger to use to report errors during scanning.void
setProgress(DiscoverSourceDirectories.Progress progress)
Set the progress callback to which scanning progress should be reported.void
setProject(Project project)
Set the Project for which we want to find source directories.void
setRootSourceDirectory(java.lang.String rootSourceDirectory)
Set the "root" source directory: we expect all of the actual source directories to be underneath it.
-
-
-
Field Detail
-
DEBUG
private static boolean DEBUG
-
project
private Project project
-
rootSourceDirectory
private java.lang.String rootSourceDirectory
-
errorLogger
private IErrorLogger errorLogger
-
progress
private DiscoverSourceDirectories.Progress progress
-
discoveredSourceDirectoryList
private final java.util.List<java.lang.String> discoveredSourceDirectoryList
-
-
Method Detail
-
setProject
public void setProject(Project project)
Set the Project for which we want to find source directories.- Parameters:
project
- Project for which we want to find source directories
-
setRootSourceDirectory
public void setRootSourceDirectory(java.lang.String rootSourceDirectory)
Set the "root" source directory: we expect all of the actual source directories to be underneath it.- Parameters:
rootSourceDirectory
- the root source directory
-
setErrorLogger
public void setErrorLogger(IErrorLogger errorLogger)
Set the error logger to use to report errors during scanning. By default, a no-op error logger is used.- Parameters:
errorLogger
- error logger to use to report errors during scanning
-
setProgress
public void setProgress(DiscoverSourceDirectories.Progress progress)
Set the progress callback to which scanning progress should be reported.- Parameters:
progress
- the progress callback
-
getDiscoveredSourceDirectoryList
public java.util.List<java.lang.String> getDiscoveredSourceDirectoryList()
Get the list of discovered source directories. These can be added to a Project.- Returns:
- list of discovered source directories.
-
execute
public void execute() throws CheckedAnalysisException, java.io.IOException, java.lang.InterruptedException
Execute the search for source directories.- Throws:
CheckedAnalysisException
java.io.IOException
java.lang.InterruptedException
-
buildClassPath
private IClassPath buildClassPath(IClassPathBuilder builder, IClassFactory factory) throws java.lang.InterruptedException, java.io.IOException, CheckedAnalysisException
- Throws:
java.lang.InterruptedException
java.io.IOException
CheckedAnalysisException
-
findFullyQualifiedSourceFileName
private java.lang.String findFullyQualifiedSourceFileName(IClassPath classPath, ClassDescriptor classDesc) throws java.io.IOException, CheckedAnalysisException
- Throws:
java.io.IOException
CheckedAnalysisException
-
findFullyQualifiedSourceFileNames
private java.util.List<java.lang.String> findFullyQualifiedSourceFileNames(IClassPathBuilder builder, IClassPath classPath)
-
findSourceDirectoriesForAllSourceFiles
private void findSourceDirectoriesForAllSourceFiles(java.util.List<java.lang.String> fullyQualifiedSourceFileNameList, java.util.List<java.lang.String> candidateSourceDirList)
-
main
public static void main(java.lang.String[] args) throws java.io.IOException, CheckedAnalysisException, java.lang.InterruptedException
Just for testing.- Throws:
java.io.IOException
CheckedAnalysisException
java.lang.InterruptedException
-
-