Skip to content

Commit 4d0d2eb

Browse files
committed
Progress.
1 parent b4bb40d commit 4d0d2eb

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

build_runner/lib/src/bootstrap/bootstrapper.dart

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import 'package:built_collection/built_collection.dart';
88
import 'package:io/io.dart';
99
import 'package:package_config/package_config.dart';
1010

11+
import '../exceptions.dart';
1112
import '../internal.dart';
1213
import 'compiler.dart';
1314
import 'depfiles.dart';
@@ -119,6 +120,7 @@ class Bootstrapper {
119120
Future<void> _checkBuildSource({required bool force}) async {
120121
if (!force && buildSourceDepfile.outputIsUpToDate()) {
121122
buildLog.debug('build script up to date');
123+
// Generate the build script anyway so warnings are issued.
122124
buildYamlHasChanged = false;
123125
} else {
124126
buildLog.debug('build script update (force: $force)');
@@ -145,7 +147,16 @@ class Bootstrapper {
145147
buildDillHasChanged = true;
146148

147149
final result = await compiler.compile();
148-
if (!result.succeeded) throw 'failed: ${result.messages}';
150+
if (!result.succeeded) {
151+
if (result.messages != null) {
152+
buildLog.error(result.messages!);
153+
}
154+
buildLog.error(
155+
'Failed to compile build script. '
156+
'Check builder definitions and generated script $scriptLocation.',
157+
);
158+
throw const CannotBuildException();
159+
}
149160
// TODO(davidmorgan): this is weird.
150161
dillDepfile.loadDeps();
151162
dillDepfile.write();

build_runner/lib/src/bootstrap/compiler.dart

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,8 @@ class Compiler {
2727
'--depfile',
2828
'.dart_tool/build/entrypoint/build.dart.dill.deps',
2929
]);
30-
if (result.exitCode != 0) {
31-
print('Compile failed: ${result.stdout} ${result.stderr}');
32-
return CompileResult(messages: result.stderr as String);
33-
}
34-
return CompileResult(messages: null);
30+
return CompileResult(
31+
messages: result.exitCode == 0 ? null : result.stderr as String,
32+
);
3533
}
3634
}

0 commit comments

Comments
 (0)