Unverified Commit f7bcfa8e authored by Michael Goderbauer's avatar Michael Goderbauer Committed by GitHub

Be more helpful when l10n generation fails (#83134)

parent a05076e4
......@@ -9,6 +9,7 @@ import 'package:yaml/yaml.dart';
import '../base/common.dart';
import '../base/file_system.dart';
import '../base/utils.dart';
import '../build_system/build_system.dart';
import '../build_system/targets/localizations.dart';
......@@ -62,7 +63,14 @@ Future<void> generateLocalizationsSyntheticPackage({
environment,
);
if (result == null || result.hasException) {
throwToolExit('Generating synthetic localizations package has failed.');
if (result == null) {
throwToolExit('Generating synthetic localizations package failed: result is null.');
}
if (result.hasException) {
throwToolExit(
'Generating synthetic localizations package failed with ${result.exceptions.length} ${pluralize('error', result.exceptions.length)}:'
'\n\n'
'${result.exceptions.values.map<Object>((ExceptionMeasurement e) => e.exception).join('\n\n')}',
);
}
}
......@@ -45,7 +45,7 @@ void main() {
);
final Completer<void> completer = Completer<void>();
final BuildResult exception = BuildResult(success: false, exceptions: <String, ExceptionMeasurement>{
'hello': ExceptionMeasurement('hello', 'bar', null),
'hello': ExceptionMeasurement('hello', const FormatException('illegal character in input string'), null),
});
final TestBuildSystem buildSystem = TestBuildSystem.all(exception, (Target target, Environment environment) {
expect(target, const GenerateLocalizationsTarget());
......@@ -58,7 +58,11 @@ void main() {
environment: environment,
buildSystem: buildSystem,
),
throwsToolExit(message: 'Generating synthetic localizations package has failed.'),
throwsToolExit(message:
'Generating synthetic localizations package failed with 1 error:'
'\n\n'
'FormatException: illegal character in input string',
),
);
await completer.future;
});
......@@ -90,7 +94,7 @@ void main() {
);
final Completer<void> completer = Completer<void>();
final BuildResult exception = BuildResult(success: false, exceptions: <String, ExceptionMeasurement>{
'hello': ExceptionMeasurement('hello', 'bar', null),
'hello': ExceptionMeasurement('hello', const FormatException('illegal character in input string'), null),
});
final TestBuildSystem buildSystem = TestBuildSystem.all(exception, (Target target, Environment environment) {
expect(target, const GenerateLocalizationsTarget());
......@@ -103,7 +107,11 @@ void main() {
environment: environment,
buildSystem: buildSystem,
),
throwsToolExit(message: 'Generating synthetic localizations package has failed.'),
throwsToolExit(message:
'Generating synthetic localizations package failed with 1 error:'
'\n\n'
'FormatException: illegal character in input string',
),
);
await completer.future;
});
......@@ -133,7 +141,7 @@ void main() {
);
final Completer<void> completer = Completer<void>();
final BuildResult exception = BuildResult(success: false, exceptions: <String, ExceptionMeasurement>{
'hello': ExceptionMeasurement('hello', 'bar', null),
'hello': ExceptionMeasurement('hello', const FormatException('illegal character in input string'), null),
});
final TestBuildSystem buildSystem = TestBuildSystem.all(exception, (Target target, Environment environment) {
expect(target, const GenerateLocalizationsTarget());
......@@ -146,7 +154,11 @@ void main() {
environment: environment,
buildSystem: buildSystem,
),
throwsToolExit(message: 'Generating synthetic localizations package has failed.'),
throwsToolExit(message:
'Generating synthetic localizations package failed with 1 error:'
'\n\n'
'FormatException: illegal character in input string',
),
);
await completer.future;
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment