[kernel] Move VmTarget and FlutterTarget to package:vm

Similar to how dart2js keeps its own target in package compiler.

This allows VmTarget to use package vm specific transformations and metadata.

Change-Id: I41dd2ae241b828224fb2c9a51e6ad5073b6fdea8
Reviewed-on: https://dart-review.googlesource.com/69160
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
diff --git a/pkg/front_end/lib/src/base/processed_options.dart b/pkg/front_end/lib/src/base/processed_options.dart
index 4af1feb..0d66814 100644
--- a/pkg/front_end/lib/src/base/processed_options.dart
+++ b/pkg/front_end/lib/src/base/processed_options.dart
@@ -10,9 +10,8 @@
 
 import 'package:kernel/kernel.dart' show CanonicalName, Component, Location;
 
-import 'package:kernel/target/targets.dart' show Target, TargetFlags;
-
-import 'package:kernel/target/vm.dart' show VmTarget;
+import 'package:kernel/target/targets.dart'
+    show NoneTarget, Target, TargetFlags;
 
 import 'package:package_config/packages.dart' show Packages;
 
@@ -323,7 +322,7 @@
 
   Target _target;
   Target get target => _target ??=
-      _raw.target ?? new VmTarget(new TargetFlags(strongMode: strongMode));
+      _raw.target ?? new NoneTarget(new TargetFlags(strongMode: strongMode));
 
   /// Get an outline component that summarizes the SDK, if any.
   // TODO(sigmund): move, this doesn't feel like an "option".
diff --git a/pkg/front_end/test/fasta/expression_test.dart b/pkg/front_end/test/fasta/expression_test.dart
index b2b315c..ebe6423 100644
--- a/pkg/front_end/test/fasta/expression_test.dart
+++ b/pkg/front_end/test/fasta/expression_test.dart
@@ -38,8 +38,12 @@
 import 'package:front_end/src/fasta/incremental_compiler.dart'
     show IncrementalCompiler;
 
+import 'package:kernel/target/targets.dart' show TargetFlags;
+
 import 'package:kernel/text/ast_to_text.dart' show Printer;
 
+import 'package:vm/target/vm.dart' show VmTarget;
+
 import '../../lib/src/fasta/testing/kernel_chain.dart' show runDiff, openWrite;
 
 import '../../lib/src/fasta/kernel/utils.dart' show writeComponentToFile;
@@ -363,6 +367,7 @@
 
   final CompilerOptions optionBuilder = new CompilerOptions()
     ..strongMode = true
+    ..target = new VmTarget(new TargetFlags(strongMode: true))
     ..reportMessages = true
     ..verbose = true
     ..fileSystem = fs
diff --git a/pkg/front_end/test/fasta/incremental_hello_test.dart b/pkg/front_end/test/fasta/incremental_hello_test.dart
index 40fb9d3..bd0929e 100644
--- a/pkg/front_end/test/fasta/incremental_hello_test.dart
+++ b/pkg/front_end/test/fasta/incremental_hello_test.dart
@@ -10,6 +10,10 @@
 
 import 'package:kernel/ast.dart' show Component;
 
+import 'package:kernel/target/targets.dart' show TargetFlags;
+
+import 'package:vm/target/vm.dart' show VmTarget;
+
 import "package:front_end/src/api_prototype/compiler_options.dart"
     show CompilerOptions;
 
@@ -36,6 +40,7 @@
 test({bool sdkFromSource}) async {
   final CompilerOptions optionBuilder = new CompilerOptions()
     ..packagesFileUri = Uri.base.resolve(".packages")
+    ..target = new VmTarget(new TargetFlags(strongMode: false))
     ..strongMode = false
     ..onProblem = problemHandler;
 
diff --git a/pkg/front_end/test/fasta/messages_test.dart b/pkg/front_end/test/fasta/messages_test.dart
index 9ba85b8..55797a8 100644
--- a/pkg/front_end/test/fasta/messages_test.dart
+++ b/pkg/front_end/test/fasta/messages_test.dart
@@ -10,9 +10,13 @@
 
 import "dart:typed_data" show Uint8List;
 
+import "package:kernel/target/targets.dart" show TargetFlags;
+
 import "package:testing/testing.dart"
     show Chain, ChainContext, Result, Step, TestDescription, runMe;
 
+import "package:vm/target/vm.dart" show VmTarget;
+
 import "package:yaml/yaml.dart" show YamlList, YamlMap, YamlNode, loadYamlNode;
 
 import 'package:front_end/src/api_prototype/compiler_options.dart'
@@ -455,6 +459,7 @@
         new CompilerOptions()
           ..sdkSummary = computePlatformBinariesLocation()
               .resolve("vm_platform_strong.dill")
+          ..target = new VmTarget(new TargetFlags(strongMode: true))
           ..fileSystem = new HybridFileSystem(suite.fileSystem)
           ..onProblem = (FormattedMessage problem, Severity severity,
               List<FormattedMessage> context) {
diff --git a/pkg/front_end/test/fasta/testing/suite.dart b/pkg/front_end/test/fasta/testing/suite.dart
index 23d0dba..b23f998 100644
--- a/pkg/front_end/test/fasta/testing/suite.dart
+++ b/pkg/front_end/test/fasta/testing/suite.dart
@@ -64,12 +64,12 @@
 
 import 'package:kernel/target/targets.dart' show TargetFlags;
 
-import 'package:kernel/target/vm.dart' show VmTarget;
-
 import 'package:kernel/class_hierarchy.dart' show ClassHierarchy;
 
 import 'package:kernel/core_types.dart' show CoreTypes;
 
+import 'package:vm/target/vm.dart' show VmTarget;
+
 export 'package:testing/testing.dart' show Chain, runMe;
 
 const String STRONG_MODE = " strong mode ";
diff --git a/pkg/front_end/test/incremental_load_from_dill_test.dart b/pkg/front_end/test/incremental_load_from_dill_test.dart
index 2d2e2b7..70f828e 100644
--- a/pkg/front_end/test/incremental_load_from_dill_test.dart
+++ b/pkg/front_end/test/incremental_load_from_dill_test.dart
@@ -33,9 +33,13 @@
 
 import 'package:kernel/kernel.dart' show Component;
 
+import 'package:kernel/target/targets.dart' show TargetFlags;
+
 import "package:testing/testing.dart"
     show Chain, ChainContext, Result, Step, TestDescription, runMe;
 
+import "package:vm/target/vm.dart" show VmTarget;
+
 import "package:yaml/yaml.dart" show YamlList, YamlMap, loadYamlNode;
 
 import "incremental_utils.dart" as util;
@@ -353,6 +357,7 @@
   final Uri sdkRoot = computePlatformBinariesLocation();
   CompilerOptions options = new CompilerOptions()
     ..sdkRoot = sdkRoot
+    ..target = new VmTarget(new TargetFlags(strongMode: strong))
     ..librariesSpecificationUri = Uri.base.resolve("sdk/lib/libraries.json")
     ..onProblem = (FormattedMessage problem, Severity severity,
         List<FormattedMessage> context) {
diff --git a/pkg/front_end/test/src/base/processed_options_test.dart b/pkg/front_end/test/src/base/processed_options_test.dart
index 0cb398a..bf575e6 100644
--- a/pkg/front_end/test/src/base/processed_options_test.dart
+++ b/pkg/front_end/test/src/base/processed_options_test.dart
@@ -112,7 +112,7 @@
         .writeAsStringSync('');
     fileSystem
         .entityForUri(Uri.parse('org-dartlang-test:///libraries.json'))
-        .writeAsStringSync('{"vm":{"libraries":{"foo":{"uri":"bar.dart"}}}}');
+        .writeAsStringSync('{"none":{"libraries":{"foo":{"uri":"bar.dart"}}}}');
     var raw = new CompilerOptions()
       ..packagesFileUri = Uri.parse('org-dartlang-test:///.packages')
       ..fileSystem = fileSystem
@@ -131,7 +131,7 @@
     fileSystem
         .entityForUri(
             Uri.parse('org-dartlang-test:///mysdk/lib/libraries.json'))
-        .writeAsStringSync('{"vm":{"libraries":{"foo":{"uri":"bar.dart"}}}}');
+        .writeAsStringSync('{"none":{"libraries":{"foo":{"uri":"bar.dart"}}}}');
     var raw = new CompilerOptions()
       ..fileSystem = fileSystem
       ..packagesFileUri = Uri.parse('org-dartlang-test:///.packages')
@@ -150,7 +150,7 @@
     fileSystem
         .entityForUri(
             Uri.parse('org-dartlang-test:///mysdk/lib/libraries.json'))
-        .writeAsStringSync('{"vm":{"libraries":{"foo":{"uri":"bar.dart"}}}}');
+        .writeAsStringSync('{"none":{"libraries":{"foo":{"uri":"bar.dart"}}}}');
     var raw = new CompilerOptions()
       ..fileSystem = fileSystem
       ..packagesFileUri = Uri.parse('org-dartlang-test:///.packages')
diff --git a/pkg/front_end/tool/_fasta/additional_targets.dart b/pkg/front_end/tool/_fasta/additional_targets.dart
index dd9a0a3..9dd557e 100644
--- a/pkg/front_end/tool/_fasta/additional_targets.dart
+++ b/pkg/front_end/tool/_fasta/additional_targets.dart
@@ -8,9 +8,8 @@
 
 import 'package:compiler/src/kernel/dart2js_target.dart' show Dart2jsTarget;
 
-import 'package:vm/target/dart_runner.dart' show DartRunnerTarget;
-
-import 'package:vm/target/flutter_runner.dart' show FlutterRunnerTarget;
+import 'package:vm/target/install.dart' as vm_target_install
+    show installAdditionalTargets;
 
 void installAdditionalTargets() {
   // If you add new targets here, please also update FastaUsageLong in
@@ -19,7 +18,5 @@
       (TargetFlags flags) => new Dart2jsTarget("dart2js", flags);
   targets["dart2js_server"] =
       (TargetFlags flags) => new Dart2jsTarget("dart2js_server", flags);
-  targets["dart_runner"] = (TargetFlags flags) => new DartRunnerTarget(flags);
-  targets["flutter_runner"] =
-      (TargetFlags flags) => new FlutterRunnerTarget(flags);
+  vm_target_install.installAdditionalTargets();
 }
diff --git a/pkg/front_end/tool/fasta_perf.dart b/pkg/front_end/tool/fasta_perf.dart
index 39cb453..ea099cd 100644
--- a/pkg/front_end/tool/fasta_perf.dart
+++ b/pkg/front_end/tool/fasta_perf.dart
@@ -39,7 +39,7 @@
   var bench = options.rest[0];
   var entryUri = Uri.base.resolve(options.rest[1]);
 
-  await setup(entryUri);
+  await setup(entryUri, strongMode: strongMode);
 
   Map<Uri, List<int>> files = await scanReachableFiles(entryUri);
   var handlers = {
@@ -89,14 +89,15 @@
 
 /// Preliminary set up to be able to correctly resolve URIs on the given
 /// program.
-Future setup(Uri entryUri) async {
+Future setup(Uri entryUri, {bool strongMode: false}) async {
   var options = new CompilerOptions()
     ..sdkRoot = sdkRoot
     // Because this is only used to create a uriResolver, we don't allow any
     // whitelisting of error messages in the error handler.
     ..onError = onErrorHandler(false)
     ..compileSdk = true
-    ..packagesFileUri = Uri.base.resolve('.packages');
+    ..packagesFileUri = Uri.base.resolve('.packages')
+    ..target = createTarget(isFlutter: false, strongMode: strongMode);
   uriResolver = await new ProcessedOptions(options).getUriTranslator();
 }
 
diff --git a/pkg/front_end/tool/perf_common.dart b/pkg/front_end/tool/perf_common.dart
index c866f13..085e50b 100644
--- a/pkg/front_end/tool/perf_common.dart
+++ b/pkg/front_end/tool/perf_common.dart
@@ -7,11 +7,11 @@
 
 import 'dart:io' show exitCode, stderr;
 
-import 'package:kernel/target/flutter.dart' show FlutterTarget;
-
 import 'package:kernel/target/targets.dart' show Target, TargetFlags;
 
-import 'package:kernel/target/vm.dart' show VmTarget;
+import 'package:vm/target/flutter.dart' show FlutterTarget;
+
+import 'package:vm/target/vm.dart' show VmTarget;
 
 import 'package:front_end/src/api_prototype/front_end.dart'
     show CompilationMessage;
@@ -52,8 +52,8 @@
     if (m.severity == Severity.internalProblem ||
         m.severity == Severity.error) {
       if (!isStrong || !whitelistMessageCode.contains(m.code)) {
-        var uri = m.span.start.sourceUrl;
-        var offset = m.span.start.offset;
+        var uri = m.span?.start?.sourceUrl ?? "?";
+        var offset = m.span?.start?.offset ?? "?";
         stderr.writeln('$uri:$offset: '
             '${severityPrefixes[m.severity]}: ${m.message}');
         exitCode = 1;
@@ -140,7 +140,7 @@
       for (double duration in durations.skip(3)) {
         total += duration;
       }
-      print("$key took: ${total/(durations.length - 3)}ms");
+      print("$key took: ${total / (durations.length - 3)}ms");
     });
   }
 }
diff --git a/pkg/kernel/lib/target/targets.dart b/pkg/kernel/lib/target/targets.dart
index 76fb9ff..9604ad8 100644
--- a/pkg/kernel/lib/target/targets.dart
+++ b/pkg/kernel/lib/target/targets.dart
@@ -7,8 +7,6 @@
 import '../class_hierarchy.dart';
 import '../core_types.dart';
 import '../transformations/treeshaker.dart' show ProgramRoot;
-import 'flutter.dart' show FlutterTarget;
-import 'vm.dart' show VmTarget;
 
 final List<String> targetNames = targets.keys.toList();
 
@@ -33,8 +31,6 @@
 
 final Map<String, _TargetBuilder> targets = <String, _TargetBuilder>{
   'none': (TargetFlags flags) => new NoneTarget(flags),
-  'vm': (TargetFlags flags) => new VmTarget(flags),
-  'flutter': (TargetFlags flags) => new FlutterTarget(flags),
 };
 
 Target getTarget(String name, TargetFlags flags) {
diff --git a/pkg/vm/bin/gen_kernel.dart b/pkg/vm/bin/gen_kernel.dart
index b5e949a..a655aeb 100644
--- a/pkg/vm/bin/gen_kernel.dart
+++ b/pkg/vm/bin/gen_kernel.dart
@@ -10,12 +10,12 @@
 import 'package:kernel/binary/ast_to_binary.dart';
 import 'package:kernel/src/tool/batch_util.dart' as batch_util;
 import 'package:kernel/target/targets.dart' show TargetFlags;
-import 'package:kernel/target/vm.dart' show VmTarget;
 import 'package:kernel/text/ast_to_text.dart'
     show globalDebuggingNames, NameSystem;
 import 'package:vm/bytecode/gen_bytecode.dart' show isKernelBytecodeEnabled;
 import 'package:vm/kernel_front_end.dart'
     show compileToKernel, ErrorDetector, ErrorPrinter, parseCommandLineDefines;
+import 'package:vm/target/vm.dart' show VmTarget;
 
 final ArgParser _argParser = new ArgParser(allowTrailingOptions: true)
   ..addOption('platform',
diff --git a/pkg/vm/bin/kernel_service.dart b/pkg/vm/bin/kernel_service.dart
index 1d47530..6814e1c 100644
--- a/pkg/vm/bin/kernel_service.dart
+++ b/pkg/vm/bin/kernel_service.dart
@@ -37,9 +37,9 @@
 import 'package:front_end/src/fasta/hybrid_file_system.dart';
 import 'package:kernel/kernel.dart' show Component, Procedure;
 import 'package:kernel/target/targets.dart' show TargetFlags;
-import 'package:kernel/target/vm.dart' show VmTarget;
 import 'package:vm/incremental_compiler.dart';
 import 'package:vm/http_filesystem.dart';
+import 'package:vm/target/vm.dart' show VmTarget;
 
 final bool verbose = new bool.fromEnvironment('DFE_VERBOSE');
 const String platformKernelFile = 'virtual_platform_kernel.dill';
diff --git a/pkg/vm/lib/target/dart_runner.dart b/pkg/vm/lib/target/dart_runner.dart
index fe75c94..ba877f2 100644
--- a/pkg/vm/lib/target/dart_runner.dart
+++ b/pkg/vm/lib/target/dart_runner.dart
@@ -1,10 +1,10 @@
 // Copyright (c) 2018, 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.
-library kernel.target.dart_runner;
+library vm.target.dart_runner;
 
 import 'package:kernel/target/targets.dart';
-import 'package:kernel/target/vm.dart' show VmTarget;
+import 'package:vm/target/vm.dart' show VmTarget;
 
 class DartRunnerTarget extends VmTarget {
   DartRunnerTarget(TargetFlags flags) : super(flags);
diff --git a/pkg/kernel/lib/target/flutter.dart b/pkg/vm/lib/target/flutter.dart
similarity index 89%
rename from pkg/kernel/lib/target/flutter.dart
rename to pkg/vm/lib/target/flutter.dart
index d0d73b7..3be0d7c 100644
--- a/pkg/kernel/lib/target/flutter.dart
+++ b/pkg/vm/lib/target/flutter.dart
@@ -1,10 +1,10 @@
 // Copyright (c) 2016, 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.
-library kernel.target.flutter;
+library vm.target.flutter;
 
-import 'targets.dart';
-import 'vm.dart' show VmTarget;
+import 'package:kernel/target/targets.dart';
+import 'package:vm/target/vm.dart' show VmTarget;
 
 class FlutterTarget extends VmTarget {
   FlutterTarget(TargetFlags flags) : super(flags);
diff --git a/pkg/vm/lib/target/flutter_runner.dart b/pkg/vm/lib/target/flutter_runner.dart
index 8878c01..acb04e8 100644
--- a/pkg/vm/lib/target/flutter_runner.dart
+++ b/pkg/vm/lib/target/flutter_runner.dart
@@ -1,10 +1,10 @@
 // Copyright (c) 2018, 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.
-library kernel.target.flutter_runner;
+library vm.target.flutter_runner;
 
 import 'package:kernel/target/targets.dart';
-import 'package:kernel/target/vm.dart' show VmTarget;
+import 'package:vm/target/vm.dart' show VmTarget;
 
 class FlutterRunnerTarget extends VmTarget {
   FlutterRunnerTarget(TargetFlags flags) : super(flags);
diff --git a/pkg/vm/lib/target/install.dart b/pkg/vm/lib/target/install.dart
new file mode 100644
index 0000000..adce65a
--- /dev/null
+++ b/pkg/vm/lib/target/install.dart
@@ -0,0 +1,23 @@
+// Copyright (c) 2018, 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.
+
+library vm.target.install;
+
+import 'package:kernel/target/targets.dart' show targets, TargetFlags;
+
+import 'package:vm/target/dart_runner.dart' show DartRunnerTarget;
+
+import 'package:vm/target/flutter.dart' show FlutterTarget;
+
+import 'package:vm/target/flutter_runner.dart' show FlutterRunnerTarget;
+
+import 'package:vm/target/vm.dart' show VmTarget;
+
+void installAdditionalTargets() {
+  targets["dart_runner"] = (TargetFlags flags) => new DartRunnerTarget(flags);
+  targets["flutter"] = (TargetFlags flags) => new FlutterTarget(flags);
+  targets["flutter_runner"] =
+      (TargetFlags flags) => new FlutterRunnerTarget(flags);
+  targets["vm"] = (TargetFlags flags) => new VmTarget(flags);
+}
diff --git a/pkg/kernel/lib/target/vm.dart b/pkg/vm/lib/target/vm.dart
similarity index 95%
rename from pkg/kernel/lib/target/vm.dart
rename to pkg/vm/lib/target/vm.dart
index eea56a4..71eb1caf 100644
--- a/pkg/kernel/lib/target/vm.dart
+++ b/pkg/vm/lib/target/vm.dart
@@ -1,21 +1,19 @@
 // Copyright (c) 2016, 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.
-library kernel.target.vm;
+library vm.target.vm;
 
 import 'dart:core' hide MapEntry;
 
-import '../ast.dart';
-import '../class_hierarchy.dart';
-import '../core_types.dart';
-
-import '../transformations/mixin_full_resolution.dart' as transformMixins
-    show transformLibraries;
-import '../transformations/continuation.dart' as transformAsync
+import 'package:kernel/ast.dart';
+import 'package:kernel/class_hierarchy.dart';
+import 'package:kernel/core_types.dart';
+import 'package:kernel/target/targets.dart';
+import 'package:kernel/transformations/mixin_full_resolution.dart'
+    as transformMixins show transformLibraries;
+import 'package:kernel/transformations/continuation.dart' as transformAsync
     show transformLibraries, transformProcedure;
 
-import 'targets.dart';
-
 /// Specializes the kernel IR to the Dart VM.
 class VmTarget extends Target {
   final TargetFlags flags;
diff --git a/pkg/vm/test/common_test_utils.dart b/pkg/vm/test/common_test_utils.dart
index b16ce78..5960361 100644
--- a/pkg/vm/test/common_test_utils.dart
+++ b/pkg/vm/test/common_test_utils.dart
@@ -12,9 +12,10 @@
 import 'package:kernel/text/ast_to_text.dart' show Printer;
 import 'package:kernel/binary/ast_to_binary.dart' show BinaryPrinter;
 import 'package:kernel/target/targets.dart';
-import 'package:kernel/target/vm.dart';
 import 'package:test/test.dart';
 
+import 'package:vm/target/vm.dart' show VmTarget;
+
 const bool kDumpActualResult = const bool.fromEnvironment('dump.actual.result');
 
 class TestingVmTarget extends VmTarget {
diff --git a/pkg/vm/test/incremental_compiler_test.dart b/pkg/vm/test/incremental_compiler_test.dart
index 221871c..f7204ca 100644
--- a/pkg/vm/test/incremental_compiler_test.dart
+++ b/pkg/vm/test/incremental_compiler_test.dart
@@ -14,13 +14,14 @@
 import 'package:kernel/binary/limited_ast_to_binary.dart';
 import 'package:kernel/kernel.dart';
 import 'package:kernel/target/targets.dart';
-import 'package:kernel/target/vm.dart';
 import 'package:kernel/text/ast_to_text.dart';
 import 'package:stream_channel/stream_channel.dart';
 import 'package:test/test.dart';
-import 'package:vm/incremental_compiler.dart';
 import 'package:web_socket_channel/io.dart';
 
+import 'package:vm/incremental_compiler.dart';
+import 'package:vm/target/vm.dart';
+
 main() {
   final platformKernel =
       computePlatformBinariesLocation().resolve('vm_platform_strong.dill');
diff --git a/sdk/lib/libraries.json b/sdk/lib/libraries.json
index a84c362..a178398 100644
--- a/sdk/lib/libraries.json
+++ b/sdk/lib/libraries.json
@@ -144,6 +144,9 @@
       }
     }
   },
+  "none": {
+    "libraries": {}
+  },
   "dart2js": {
     "libraries": {
       "async": {
diff --git a/sdk/lib/libraries.yaml b/sdk/lib/libraries.yaml
index f184789..e7da30f 100644
--- a/sdk/lib/libraries.yaml
+++ b/sdk/lib/libraries.yaml
@@ -11,6 +11,9 @@
 # changing libraries, sources, and patch files.  See
 # https://github.com/dart-lang/sdk/issues/28836.
 
+none:
+  libraries: {}
+
 vm:
   libraries:
     _builtin:
diff --git a/tools/patch_sdk.dart b/tools/patch_sdk.dart
index b4ca60d..f025a04 100644
--- a/tools/patch_sdk.dart
+++ b/tools/patch_sdk.dart
@@ -14,22 +14,18 @@
 
 import 'package:analyzer/analyzer.dart';
 import 'package:analyzer/src/generated/sdk.dart';
+import 'package:compiler/src/kernel/dart2js_target.dart' show Dart2jsTarget;
 import 'package:path/path.dart' as path;
-
 import 'package:front_end/src/api_prototype/front_end.dart';
-
 import 'package:front_end/src/base/processed_options.dart';
 import 'package:front_end/src/kernel_generator_impl.dart';
 import 'package:front_end/src/fasta/util/relativize.dart' show relativizeUri;
-
 import 'package:front_end/src/fasta/get_dependencies.dart' show getDependencies;
 import 'package:front_end/src/fasta/kernel/utils.dart'
     show writeComponentToFile;
-
 import 'package:kernel/target/targets.dart';
-import 'package:kernel/target/vm.dart' show VmTarget;
-import 'package:kernel/target/flutter.dart' show FlutterTarget;
-import 'package:compiler/src/kernel/dart2js_target.dart' show Dart2jsTarget;
+import 'package:vm/target/vm.dart' show VmTarget;
+import 'package:vm/target/flutter.dart' show FlutterTarget;
 
 /// Set of input files that were read by this script to generate patched SDK.
 /// We will dump it out into the depfile for ninja to use.
diff --git a/utils/bazel/kernel_worker.dart b/utils/bazel/kernel_worker.dart
index f069fcb..5ea4206 100644
--- a/utils/bazel/kernel_worker.dart
+++ b/utils/bazel/kernel_worker.dart
@@ -18,7 +18,7 @@
 import 'package:front_end/src/api_unstable/bazel_worker.dart' as fe;
 import 'package:kernel/ast.dart' show Component, Library;
 import 'package:kernel/target/targets.dart';
-import 'package:kernel/target/vm.dart';
+import 'package:vm/target/vm.dart';
 
 main(List<String> args) async {
   args = preprocessArgs(args);