Do not hide problems in kernel_sdk.dart This addresses the most concerning problem in #37117 Change-Id: I38feb310023b066922a8049c5026a49572c3e399 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105461 Reviewed-by: Vijay Menon <vsm@google.com> Commit-Queue: Sigmund Cherem <sigmund@google.com>
diff --git a/pkg/dev_compiler/tool/kernel_sdk.dart b/pkg/dev_compiler/tool/kernel_sdk.dart index d7e000d..0366522 100755 --- a/pkg/dev_compiler/tool/kernel_sdk.dart +++ b/pkg/dev_compiler/tool/kernel_sdk.dart
@@ -14,7 +14,12 @@ import 'package:dev_compiler/src/kernel/command.dart'; import 'package:dev_compiler/src/kernel/compiler.dart'; import 'package:front_end/src/api_unstable/ddc.dart' - show CompilerOptions, kernelForComponent; + show + CompilerOptions, + kernelForComponent, + DiagnosticMessage, + printDiagnosticMessage, + Severity; import 'package:kernel/kernel.dart'; import 'package:kernel/target/targets.dart'; import 'package:path/path.dart' as path; @@ -38,14 +43,25 @@ } var librarySpecPath = parserOptions['libraries'] as String; + var packagesPath = path.join(ddcPath, '../../.packages'); var target = DevCompilerTarget(TargetFlags()); + void onDiagnostic(DiagnosticMessage message) { + printDiagnosticMessage(message, print); + if (message.severity == Severity.error || + message.severity == Severity.internalProblem) { + exitCode = 1; + } + } + var options = CompilerOptions() ..compileSdk = true - // TODO(sigmund): remove this unnecessary option when possible. + // TODO(sigmund): remove these two unnecessary options when possible. ..sdkRoot = Uri.base + ..packagesFileUri = Uri.base.resolveUri(Uri.file(packagesPath)) ..librariesSpecificationUri = Uri.base.resolveUri(Uri.file(librarySpecPath)) - ..target = target; + ..target = target + ..onDiagnostic = onDiagnostic; var inputs = target.extraRequiredLibraries.map(Uri.parse).toList(); var component = await kernelForComponent(inputs, options);