From 48e449623e408735605a3629f5840906de6cd884 Mon Sep 17 00:00:00 2001 From: Mouad Debbar Date: Wed, 22 Feb 2023 16:07:10 -0500 Subject: [PATCH 1/2] [web] Copy everything under the local canvaskit folder --- lib/web_ui/dev/steps/compile_tests_step.dart | 42 ++++++++++---------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/lib/web_ui/dev/steps/compile_tests_step.dart b/lib/web_ui/dev/steps/compile_tests_step.dart index 235c1c8068b6e..799dd68b652f3 100644 --- a/lib/web_ui/dev/steps/compile_tests_step.dart +++ b/lib/web_ui/dev/steps/compile_tests_step.dart @@ -140,17 +140,21 @@ Future copyDart2WasmTestScript() async { await sourceFile.copy(targetDir.path); } +final io.Directory _localCanvasKitDir = io.Directory(pathlib.join( + environment.wasmReleaseOutDir.path, + 'canvaskit', +)); +final io.File _localCanvasKitWasm = io.File(pathlib.join( + _localCanvasKitDir.path, + 'canvaskit.wasm', +)); + Future copyCanvasKitFiles({bool useLocalCanvasKit = false}) async { // If CanvasKit has been built locally, use that instead of the CIPD version. - final io.File localCanvasKitWasm = io.File(pathlib.join( - environment.wasmReleaseOutDir.path, - 'canvaskit', - 'canvaskit.wasm', - )); - final bool builtLocalCanvasKit = localCanvasKitWasm.existsSync(); - if (useLocalCanvasKit && !builtLocalCanvasKit) { + final bool localCanvasKitExists = _localCanvasKitWasm.existsSync(); + if (useLocalCanvasKit && !localCanvasKitExists) { throw ArgumentError('Requested to use local CanvasKit but could not find the ' - 'built CanvasKit at ${localCanvasKitWasm.path}. Falling back to ' + 'built CanvasKit at ${_localCanvasKitWasm.path}. Falling back to ' 'CanvasKit from CIPD.'); } @@ -160,19 +164,17 @@ Future copyCanvasKitFiles({bool useLocalCanvasKit = false}) async { )); if (useLocalCanvasKit) { - final List canvasKitFiles = [ - localCanvasKitWasm, - io.File(pathlib.join( - environment.wasmReleaseOutDir.path, - 'canvaskit', - 'canvaskit.js', - )), - ]; + final Iterable canvasKitFiles = + _localCanvasKitDir.listSync(recursive: true).whereType(); for (final io.File file in canvasKitFiles) { - final io.File normalTargetFile = io.File(pathlib.join( - targetDir.path, - pathlib.basename(file.path), - )); + if (!file.path.endsWith('.wasm') || !file.path.endsWith('.js')) { + // We only need the .wasm and .js files. + continue; + } + final String relativePath = + pathlib.relative(file.path, from: _localCanvasKitDir.path); + final io.File normalTargetFile = + io.File(pathlib.join(targetDir.path, relativePath)); await normalTargetFile.create(recursive: true); await file.copy(normalTargetFile.path); } From 9167847bd00ada3229209cd2207419621b5707df Mon Sep 17 00:00:00 2001 From: Mouad Debbar Date: Wed, 22 Feb 2023 23:10:45 -0500 Subject: [PATCH 2/2] Update compile_tests_step.dart --- lib/web_ui/dev/steps/compile_tests_step.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/web_ui/dev/steps/compile_tests_step.dart b/lib/web_ui/dev/steps/compile_tests_step.dart index 799dd68b652f3..381bdfcff3cd9 100644 --- a/lib/web_ui/dev/steps/compile_tests_step.dart +++ b/lib/web_ui/dev/steps/compile_tests_step.dart @@ -167,7 +167,7 @@ Future copyCanvasKitFiles({bool useLocalCanvasKit = false}) async { final Iterable canvasKitFiles = _localCanvasKitDir.listSync(recursive: true).whereType(); for (final io.File file in canvasKitFiles) { - if (!file.path.endsWith('.wasm') || !file.path.endsWith('.js')) { + if (!file.path.endsWith('.wasm') && !file.path.endsWith('.js')) { // We only need the .wasm and .js files. continue; }