describeUnmatchedProjectPatterns function

String describeUnmatchedProjectPatterns(
  1. List<String> patterns, {
  2. required String scanRoot,
})

The error message for ProcessingResult.unmatchedProjectPatterns.

Names both the patterns and scanRoot, because the same selector is right or wrong depending on where the tool was pointed — "no such project" is only actionable together with "looked here". Shared so that every caller that turns unmatched selectors into a failure words it identically.

Implementation

String describeUnmatchedProjectPatterns(
  List<String> patterns, {
  required String scanRoot,
}) {
  final quoted = patterns.map((pattern) => "'$pattern'").join(', ');
  final label = patterns.length == 1 ? 'selector' : 'selectors';
  return '--project $label matched no project: $quoted (scanned $scanRoot)';
}