in fxcop-agent/src/jetbrains/buildServer/fxcop/agent/FxCopCommandLineBuilder.java [63:113]
private List<String> getArguments(List<String> files, boolean escapeAdditionalProp) throws RunBuildException {
List<String> arguments = new Vector<String>();
arguments.add("/forceoutput");
// Search in GAC
if (isParameterEnabled(myRunParameters, FxCopConstants.SETTINGS_SEARCH_IN_GAC)) {
arguments.add("/gac");
}
// Ignore generated code
if (isParameterEnabled(myRunParameters, FxCopConstants.SETTINGS_IGNORE_GENERATED_CODE)) {
arguments.add("/ignoregeneratedcode");
}
// Search in dirs
final String searchDirsString = myRunParameters.get(FxCopConstants.SETTINGS_SEARCH_DIRS);
if (searchDirsString != null) {
for (String file : StringUtil.splitCommandArgumentsAndUnquote(searchDirsString)) {
arguments.add("/d:" + file);
}
}
// Additional options
final String additionalOptions = myRunParameters.get(FxCopConstants.SETTINGS_ADDITIONAL_OPTIONS);
if (additionalOptions != null) {
arguments.addAll(escapeAdditionalProp ? StringUtil.splitCommandArgumentsAndUnquote(additionalOptions) : Collections.singletonList(additionalOptions));
}
// Files to be processed
final String what = myRunParameters.get(FxCopConstants.SETTINGS_WHAT_TO_INSPECT);
if (FxCopConstants.WHAT_TO_INSPECT_PROJECT.equals(what)) {
final String project = myRunParameters.get(FxCopConstants.SETTINGS_PROJECT);
if (project != null) {
arguments.add("/project:" + project);
}
} else if (FxCopConstants.WHAT_TO_INSPECT_FILES.equals(what)) {
if (files != null) {
for (String file : files) {
arguments.add("/f:" + file);
}
}
} else {
throw new RunBuildException("Unknown target to inspect: " + what);
}
// Output file
arguments.add("/out:" + myXmlReportFile.getPath());
return arguments;
}