blob: ca147194e8bc5bb6be89a2b6626d49cc07b69ae5 [file] [log] [blame]
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:build/build.dart';
import 'src/kernel_builder.dart';
/// Utility method called by build_runner to generate a build script.
///
/// This method does not need to be invoked manually, and instead should
/// be configured via the `build.yaml` file.
Builder flutterKernelBuilder(BuilderOptions builderOptions) {
final Map<String, Object> config = builderOptions.config;
final List<Object> extraFrontEndOptions = config['extraFrontEndOptions'] ?? const <String>[];
return FlutterKernelBuilder(
aot: config['aot'],
disabled: config['disabled'],
engineDartBinaryPath: config['engineDartBinaryPath'],
frontendServerPath: config['frontendServerPath'],
incrementalCompilerByteStorePath: config['incrementalCompilerByteStorePath'],
linkPlatformKernelIn: config['linkPlatformKernelIn'],
mainPath: config['mainPath'],
packagesPath: config['packagesPath'],
sdkRoot: config['sdkRoot'],
targetProductVm: config['targetProductVm'],
trackWidgetCreation: config['trackWidgetCreation'],
extraFrontEndOptions: extraFrontEndOptions.cast<String>(),
);
}