blob: c6a24b0a0db44869afb876b88e80a77181e67273 [file] [log] [blame]
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/// Helper to run fasta with the right target configuration to build dart2js
/// applications using the dart2js platform libraries.
// TODO(sigmund): delete this file once we can configure fasta directly on the
// command line.
library compiler.tool.generate_kernel;
import 'dart:io' show exitCode;
import 'package:front_end/src/fasta/compiler_command_line.dart'
show CompilerCommandLine;
import 'package:front_end/src/fasta/compiler_context.dart' show CompilerContext;
import 'package:front_end/src/fasta/errors.dart' show InputError;
import 'package:front_end/src/fasta/ticker.dart' show Ticker;
import 'package:compiler/src/kernel/fasta_support.dart' show Dart2jsCompileTask;
main(List<String> arguments) async {
try {
await CompilerCommandLine.withGlobalOptions("generate_kernel", arguments,
(CompilerContext c) async {
if (c.options.verbose) {
print("Compiling directly to Kernel: ${arguments.join(' ')}");
}
var task =
new Dart2jsCompileTask(c, new Ticker(isVerbose: c.options.verbose));
await task.compile();
});
} on InputError catch (e) {
exitCode = 1;
print(e.format());
return null;
}
}