Skip to content

Commit be97d03

Browse files
Use depfile with dart2wasm to determine when to rebuild. (#122817)
Use depfile with dart2wasm to determine when to rebuild.
1 parent 245d6d4 commit be97d03

File tree

2 files changed

+11
-0
lines changed
  • packages/flutter_tools

2 files changed

+11
-0
lines changed

packages/flutter_tools/lib/src/build_system/targets/web.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,7 @@ class Dart2WasmTarget extends Dart2WebTarget {
295295
final BuildMode buildMode = getBuildModeForName(buildModeEnvironment);
296296
final Artifacts artifacts = globals.artifacts!;
297297
final File outputWasmFile = environment.buildDir.childFile('main.dart.wasm');
298+
final File depFile = environment.buildDir.childFile('dart2wasm.d');
298299
final String dartSdkPath = artifacts.getArtifactPath(Artifact.engineDartSdkPath, platform: TargetPlatform.web_javascript);
299300
final String dartSdkRoot = environment.fileSystem.directory(dartSdkPath).parent.path;
300301

@@ -319,10 +320,12 @@ class Dart2WasmTarget extends Dart2WebTarget {
319320
dartSdkRoot,
320321
'--libraries-spec',
321322
artifacts.getHostArtifact(HostArtifact.flutterWebLibrariesJson).path,
323+
'--depfile=${depFile.path}',
322324

323325
environment.buildDir.childFile('main.dart').path, // dartfile
324326
outputWasmFile.path,
325327
];
328+
globals.printTrace('compiling dart code to wasm with command "${compilationArgs.join(' ')}"');
326329
final ProcessResult compileResult = await globals.processManager.run(compilationArgs);
327330
if (compileResult.exitCode != 0) {
328331
throw Exception(_collectOutput(compileResult));
@@ -335,6 +338,11 @@ class Dart2WasmTarget extends Dart2WebTarget {
335338
@override
336339
String get name => 'dart2wasm';
337340

341+
@override
342+
List<String> get depfiles => const <String>[
343+
'dart2wasm.d',
344+
];
345+
338346
@override
339347
List<Source> get outputs => const <Source>[
340348
Source.pattern('{OUTPUT_DIR}/main.dart.wasm'),

packages/flutter_tools/test/general.shard/build_system/targets/web_test.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -778,6 +778,8 @@ void main() {
778778
environment.defines[kBuildMode] = 'profile';
779779
environment.defines[kDartDefines] = encodeDartDefines(<String>['FOO=bar', 'BAZ=qux']);
780780

781+
final File depFile = environment.buildDir.childFile('dart2wasm.d');
782+
781783
processManager.addCommand(FakeCommand(
782784
command: <String>[
783785
'bin/cache/dart-sdk/bin/dartaotruntime',
@@ -796,6 +798,7 @@ void main() {
796798
'bin/cache',
797799
'--libraries-spec',
798800
'bin/cache/flutter_web_sdk/libraries.json',
801+
'--depfile=${depFile.absolute.path}',
799802

800803
environment.buildDir.childFile('main.dart').absolute.path,
801804
environment.buildDir.childFile('main.dart.wasm').absolute.path,

0 commit comments

Comments
 (0)