Ejemplo n.º 1
0
  private void compileChunk(ModuleChunk chunk) throws IOException {
    final String chunkPresentableName = getPresentableNameFor(chunk);
    myModuleName = chunkPresentableName;

    // validate encodings
    if (chunk.getModuleCount() > 1) {
      validateEncoding(chunk, chunkPresentableName);
      // todo: validation for bytecode target?
    }

    runTransformingCompilers(chunk);

    final List<OutputDir> outs = new ArrayList<OutputDir>();
    File fileToDelete = getOutputDirsToCompileTo(chunk, outs);

    try {
      for (final OutputDir outputDir : outs) {
        chunk.setSourcesFilter(outputDir.getKind());
        doCompile(chunk, outputDir.getPath());
      }
    } finally {
      if (fileToDelete != null) {
        FileUtil.asyncDelete(fileToDelete);
      }
    }
  }