This is an automated email from the ASF dual-hosted git repository.

cziegeler pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-analyser.git


The following commit(s) were added to refs/heads/master by this push:
     new 4cd45c5  SLING-12404 : Support strict configuration for analysers
4cd45c5 is described below

commit 4cd45c57837a2bdc8f8906a3342274426a7af3e3
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Fri Aug 9 07:08:28 2024 +0200

    SLING-12404 : Support strict configuration for analysers
---
 .../java/org/apache/sling/feature/analyser/Analyser.java   | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/main/java/org/apache/sling/feature/analyser/Analyser.java 
b/src/main/java/org/apache/sling/feature/analyser/Analyser.java
index 7a0dd96..a2c3ecf 100644
--- a/src/main/java/org/apache/sling/feature/analyser/Analyser.java
+++ b/src/main/java/org/apache/sling/feature/analyser/Analyser.java
@@ -236,6 +236,8 @@ public class Analyser {
             final long startTask = System.currentTimeMillis();
             final Map<String, String> taskConfiguration = 
getConfiguration(task.getId());
 
+            final boolean strict = 
Boolean.valueOf(taskConfiguration.getOrDefault("strict", "false"));
+
             task.execute(new AnalyserTaskContext() {
                 private final FeatureProvider cachingFeatureProvider = 
featureProvider != null ? new FeatureProvider() {
                     private final ConcurrentHashMap<ArtifactId, Feature> cache 
= new ConcurrentHashMap<>();
@@ -272,6 +274,9 @@ public class Analyser {
 
                 @Override
                 public void reportWarning(final String message) {
+                    if (strict) {
+                        reportError(message);
+                    }
                     if (analyserMetaDataExtension == null || 
analyserMetaDataExtension.reportWarning(feature.getId())) {
                         globalWarnings.add(new 
AnalyserResult.GlobalReport(message, task.getId()));
                     }
@@ -279,6 +284,9 @@ public class Analyser {
 
                 @Override
                 public void reportArtifactWarning(ArtifactId artifactId, 
String message) {
+                    if (strict) {
+                        reportArtifactError(artifactId, message);
+                    }
                     if (analyserMetaDataExtension == null || 
(analyserMetaDataExtension.reportWarning(artifactId) && 
analyserMetaDataExtension.reportWarning(feature.getId()))) {
                         artifactWarnings.add(new 
AnalyserResult.ArtifactReport(artifactId, message, task.getId()));
                     }
@@ -293,6 +301,9 @@ public class Analyser {
 
                 @Override
                 public void reportExtensionWarning(String extension, String 
message) {
+                    if (strict) {
+                        reportExtensionError(extension, message);
+                    }
                     if (analyserMetaDataExtension == null || 
analyserMetaDataExtension.reportWarning(feature.getId())) {
                         extensionWarnings.add(new 
AnalyserResult.ExtensionReport(extension, message, task.getId()));
                     }
@@ -321,6 +332,9 @@ public class Analyser {
 
                 @Override
                 public void reportConfigurationWarning(Configuration cfg, 
String message) {
+                    if (strict) {
+                        reportConfigurationError(cfg, message);
+                    }
                     if (analyserMetaDataExtension == null || 
analyserMetaDataExtension.reportWarning(feature.getId())) {
                         configurationWarnings.add(new 
AnalyserResult.ConfigurationReport(cfg, message, task.getId()));
                     }

Reply via email to