diff --git a/pkgs/code_assets/lib/src/code_assets/validation.dart b/pkgs/code_assets/lib/src/code_assets/validation.dart index 6915d8cb0..1ae5ae44a 100644 --- a/pkgs/code_assets/lib/src/code_assets/validation.dart +++ b/pkgs/code_assets/lib/src/code_assets/validation.dart @@ -295,10 +295,10 @@ ValidationErrors _validateFile( }) { final errors = []; if (mustBeAbsolute && !uri.isAbsolute) { - errors.add('$name (${uri.toFilePath()}) must be an absolute path.'); + errors.add('$name at ${uri.toFilePath()} must be an absolute path.'); } if (mustExist && !File.fromUri(uri).existsSync()) { - errors.add('$name (${uri.toFilePath()}) does not exist as a file.'); + errors.add('$name at ${uri.toFilePath()} does not exist as a file.'); } return errors; } diff --git a/pkgs/data_assets/lib/src/data_assets/validation.dart b/pkgs/data_assets/lib/src/data_assets/validation.dart index fc6687524..abecec1c9 100644 --- a/pkgs/data_assets/lib/src/data_assets/validation.dart +++ b/pkgs/data_assets/lib/src/data_assets/validation.dart @@ -31,7 +31,7 @@ List _validateHookInput(List assets) { final dataAsset = DataAsset.fromEncoded(asset); errors.addAll( _validateFile( - 'LinkInput.assets.data asset "${dataAsset.id}" file', + 'LinkInput.assets.data asset "${dataAsset.id}"', dataAsset.file, ), ); @@ -98,7 +98,7 @@ void _validateDataAsset( errors.add('More than one data asset with same "${dataAsset.name}" name.'); } final file = dataAsset.file; - errors.addAll(_validateFile('Data asset ${dataAsset.name} file', file)); + errors.addAll(_validateFile('Data asset "${dataAsset.name}"', file)); } ValidationErrors _validateDataAssetSyntax(EncodedAsset encodedAsset) { @@ -129,10 +129,12 @@ ValidationErrors _validateFile( }) { final errors = []; if (mustBeAbsolute && !uri.isAbsolute) { - errors.add('$name (${uri.toFilePath()}) must be an absolute path.'); + errors.add( + '$name points to "${uri.toFilePath()}", which must be an absolute path.', + ); } if (mustExist && !File.fromUri(uri).existsSync()) { - errors.add('$name (${uri.toFilePath()}) does not exist as a file.'); + errors.add('$name points to "${uri.toFilePath()}", which does not exist.'); } return errors; } diff --git a/pkgs/hooks/lib/src/validation.dart b/pkgs/hooks/lib/src/validation.dart index 8e7f537e6..9b674b21f 100644 --- a/pkgs/hooks/lib/src/validation.dart +++ b/pkgs/hooks/lib/src/validation.dart @@ -151,9 +151,26 @@ class ProtocolBase { final errors = []; if (!input.config.linkingEnabled) { if (output.assets.encodedAssetsForLinking.isNotEmpty) { - const error = - 'BuildOutput.assets_for_linking is not empty while ' - 'BuildInput.config.linkingEnabled is false'; + final error = + ''' +`BuildOutput.assets_for_linking` is not empty while `BuildInput.config.linkingEnabled` is `false`. + +The assets ${output.assets.encodedAssetsForLinking} where sent to linking, but should either be bundled with the app or linked only when linking is enabled. + +This might be caused by writing something like + +``` +routing: ToLinkHook(input.packageName), +``` + +Try writing this instead: + +``` +routing: input.config.linkingEnabled + ? ToLinkHook(input.packageName) + : ToAppBundle(), +``` +'''; errors.add(error); } }