validate method
Future<ValidateResult>
validate(
- HookConfigImpl config,
- HookOutputImpl output,
- PackageLayout packageLayout
Implementation
Future<ValidateResult> validate(
HookConfigImpl config,
HookOutputImpl output,
PackageLayout packageLayout,
) async {
var (errors: errors, success: success) = config is BuildConfigImpl
? await validateBuild(config, output)
: await validateLink(config as LinkConfigImpl, output);
if (config is BuildConfigImpl) {
final packagesWithLink =
(await packageLayout.packagesWithAssets(Hook.link))
.map((p) => p.name);
for (final targetPackage in output.assetsForLinking.keys) {
if (!packagesWithLink.contains(targetPackage)) {
for (final asset in output.assetsForLinking[targetPackage]!) {
success &= false;
errors.add(
'Asset "${asset.id}" is sent to package "$targetPackage" for'
' linking, but that package does not have a link hook.',
);
}
}
}
}
return (errors: errors, success: success);
}