  public void execute() {
    if (this.outputFile == null) {
      throw new BuildException("outputFile attribute must be set");
    }
    Compiler.setLoggingLevel(Level.OFF);
    CompilerOptions options = createCompilerOptions();
    Compiler compiler = createCompiler(options);
    JSSourceFile[] externs = findExternFiles();
    JSSourceFile[] sources = findSourceFiles();
    log("Compiling " + sources.length + " file(s) with " +
        externs.length + " extern(s)");
    Result result = compiler.compile(externs, sources, options);
    if (result.success) {
      writeResult(compiler.toSource());
    }
  }

  public void execute() {
    if (this.outputFile == null) {
      throw new BuildException("outputFile attribute must be set");
    }
    Compiler.setLoggingLevel(Level.OFF);
    CompilerOptions options = createCompilerOptions();
    Compiler compiler = createCompiler(options);
    JSSourceFile[] externs = findExternFiles();
    JSSourceFile[] sources = findSourceFiles();
    log("Compiling " + sources.length + " file(s) with " +
        externs.length + " extern(s)");
    Result result = compiler.compile(externs, sources, options);
    if (result.success) {
      writeResult(compiler.toSource());
    } else {
      throw new BuildException("Compilation failed.");
    }
  }
