Added ability to pass in comma-delimited list of files to PMD's command line
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@2060 51baf565-9d33-0410-a72c-fc3788e3496d
This commit is contained in:
@ -22,6 +22,7 @@ import java.io.Reader;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.StringTokenizer;
|
||||||
|
|
||||||
public class PMD {
|
public class PMD {
|
||||||
public static final String EOL = System.getProperty("line.separator", "\n");
|
public static final String EOL = System.getProperty("line.separator", "\n");
|
||||||
@ -68,18 +69,11 @@ public class PMD {
|
|||||||
String reportFormat = args[1];
|
String reportFormat = args[1];
|
||||||
String ruleSets = args[2];
|
String ruleSets = args[2];
|
||||||
|
|
||||||
File inputFile = new File(inputFileName);
|
|
||||||
if (!inputFile.exists()) {
|
|
||||||
throw new RuntimeException("File " + inputFileName + " doesn't exist");
|
|
||||||
}
|
|
||||||
|
|
||||||
List files;
|
List files;
|
||||||
if (!inputFile.isDirectory()) {
|
if (inputFileName.indexOf(',') != -1) {
|
||||||
files = new ArrayList();
|
files = collectFromCommaDelimitedString(inputFileName);
|
||||||
files.add(inputFile);
|
|
||||||
} else {
|
} else {
|
||||||
FileFinder finder = new FileFinder();
|
files = collectFilesFromOneName(inputFileName);
|
||||||
files = finder.findFilesFrom(inputFile.getAbsolutePath(), new JavaLanguage.JavaFileOrDirectoryFilter(), true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PMD pmd = new PMD();
|
PMD pmd = new PMD();
|
||||||
@ -131,6 +125,34 @@ public class PMD {
|
|||||||
System.out.println(renderer.render(ctx.getReport()));
|
System.out.println(renderer.render(ctx.getReport()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static List collectFilesFromOneName(String inputFileName) {
|
||||||
|
return collect(inputFileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static List collectFromCommaDelimitedString(String fileList) {
|
||||||
|
List files = new ArrayList();
|
||||||
|
for (StringTokenizer st = new StringTokenizer(fileList, ","); st.hasMoreTokens();) {
|
||||||
|
files.addAll(collect(st.nextToken()));
|
||||||
|
}
|
||||||
|
return files;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static List collect(String filename) {
|
||||||
|
File inputFile = new File(filename);
|
||||||
|
if (!inputFile.exists()) {
|
||||||
|
throw new RuntimeException("File " + inputFile.getName() + " doesn't exist");
|
||||||
|
}
|
||||||
|
List files;
|
||||||
|
if (!inputFile.isDirectory()) {
|
||||||
|
files = new ArrayList();
|
||||||
|
files.add(inputFile);
|
||||||
|
} else {
|
||||||
|
FileFinder finder = new FileFinder();
|
||||||
|
files = finder.findFilesFrom(inputFile.getAbsolutePath(), new JavaLanguage.JavaFileOrDirectoryFilter(), true);
|
||||||
|
}
|
||||||
|
return files;
|
||||||
|
}
|
||||||
|
|
||||||
private static void usage() {
|
private static void usage() {
|
||||||
final String EOL = System.getProperty("line.separator");
|
final String EOL = System.getProperty("line.separator");
|
||||||
System.err.println(EOL +
|
System.err.println(EOL +
|
||||||
|
Reference in New Issue
Block a user