diff --git a/pkgs/hooks_runner/lib/src/build_runner/build_planner.dart b/pkgs/hooks_runner/lib/src/build_runner/build_planner.dart index 15d83b9240..2dc88e4c14 100644 --- a/pkgs/hooks_runner/lib/src/build_runner/build_planner.dart +++ b/pkgs/hooks_runner/lib/src/build_runner/build_planner.dart @@ -75,12 +75,15 @@ class NativeAssetsBuildPlanner { Future> _runPackagesWithHook(Hook hook) async { final packageNamesInDependencies = packageGraph.vertices.toSet(); final result = []; + final watch = Stopwatch()..start(); + var length = 0; for (final package in packageLayout.packageConfig.packages) { if (!packageNamesInDependencies.contains(package.name)) { continue; } final packageRoot = package.root; if (packageRoot.scheme == 'file') { + length++; if (await fileSystem .file(packageRoot.resolve('hook/').resolve(hook.scriptName)) .exists()) { @@ -88,6 +91,11 @@ class NativeAssetsBuildPlanner { } } } + watch.stop(); + logger.finest( + 'Checking $length packages for hook/${hook.scriptName} ' + 'took ${watch.elapsedMilliseconds} ms.', + ); return result; } diff --git a/pkgs/hooks_runner/test/build_runner/build_planner_test.dart b/pkgs/hooks_runner/test/build_runner/build_planner_test.dart index 2c8897e413..a98840106e 100644 --- a/pkgs/hooks_runner/test/build_runner/build_planner_test.dart +++ b/pkgs/hooks_runner/test/build_runner/build_planner_test.dart @@ -36,6 +36,10 @@ void main() async { packageLayout: packageLayout, fileSystem: const LocalFileSystem(), ); + final packagesWithHook = await nativeAssetsBuildPlanner.packagesWithHook( + Hook.build, + ); + expect(packagesWithHook.length, 1); final buildPlan = await nativeAssetsBuildPlanner.makeBuildHookPlan(); expect(buildPlan.success.length, 1); expect(buildPlan.success.single.name, 'native_add');