pathDependencyInputs function
Input files a kernel/AOT fingerprint must cover beyond the project's own
sources: every path dependency's pubspec.yaml + lib/**.dart.
flutter assemble compiles path dependencies into the kernel, so an edit
in a sibling checkout (monorepo layout) must invalidate assemble/AOT
step caches — without this the step cache serves a stale snapshot.
Implementation
List<String> pathDependencyInputs(String projectPath) {
final config = packageConfigFor(projectPath);
if (config == null) return const [];
final json = config.readAsStringSync();
final roots = pathDependencyRoots(json, configDir: p.dirname(config.path));
final inputs = <String>[];
for (final root in roots) {
final pubspec = File(p.join(root, 'pubspec.yaml'));
if (pubspec.existsSync()) inputs.add(pubspec.path);
inputs.addAll(filesUnder(p.join(root, 'lib'), extension: '.dart'));
}
return inputs;
}