SLING-9884: use artifact level for warnings
diff --git a/src/main/java/org/apache/sling/feature/analyser/task/impl/CheckRequirementsCapabilities.java b/src/main/java/org/apache/sling/feature/analyser/task/impl/CheckRequirementsCapabilities.java
index 15bc39d..3492ae3 100644
--- a/src/main/java/org/apache/sling/feature/analyser/task/impl/CheckRequirementsCapabilities.java
+++ b/src/main/java/org/apache/sling/feature/analyser/task/impl/CheckRequirementsCapabilities.java
@@ -116,12 +116,22 @@
}
else
{
- ctx.reportWarning(String.format(format, info.getName(), requirement.toString(), entry.getKey(), "while the requirement is optional no artifact is providing a matching capability in this start level."));
+ String message = String.format(format, info.getName(), requirement.toString(), entry.getKey(), "while the requirement is optional no artifact is providing a matching capability in this start level.");
+ if (info instanceof ArtifactDescriptor) {
+ ctx.reportArtifactWarning(((ArtifactDescriptor) info).getArtifact().getId(), message);
+ } else {
+ ctx.reportWarning(message);
+ }
}
}
else if (candidates.size() > 1)
{
- ctx.reportWarning(String.format(format, info.getName(), requirement.toString(), entry.getKey(), "there is more than one matching capability in this start level: " + candidates));
+ String message = String.format(format, info.getName(), requirement.toString(), entry.getKey(), "there is more than one matching capability in this start level: " + candidates);
+ if (info instanceof ArtifactDescriptor) {
+ ctx.reportArtifactWarning(((ArtifactDescriptor) info).getArtifact().getId(), message);
+ } else {
+ ctx.reportWarning(message);
+ }
}
}
}