private List getArguments()

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;
  }