示例#1
0
  public static void processFiles(
      final PMDConfiguration configuration,
      final RuleSetFactory ruleSetFactory,
      final List<DataSource> files,
      final RuleContext ctx,
      final List<Renderer> renderers) {

    sortFiles(configuration, files);

    /*
     * Check if multithreaded support is available. ExecutorService can also be
     * disabled if threadCount is not positive, e.g. using the "-threads 0"
     * command line option.
     */
    if (SystemUtils.MT_SUPPORTED && configuration.getThreads() > 0) {
      new MultiThreadProcessor(configuration).processFiles(ruleSetFactory, files, ctx, renderers);
    } else {
      new MonoThreadProcessor(configuration).processFiles(ruleSetFactory, files, ctx, renderers);
    }
  }