From f90bce76c821aab94d312ff11d7fb23b71d1a312 Mon Sep 17 00:00:00 2001
From: Jens Steidl <Jens.Steidl@slub-dresden.de>
Date: Wed, 13 Dec 2023 11:43:06 +0100
Subject: [PATCH] - changed exit code behaviour for validating multiple files

---
 .../repository/plugin/XmlFormatValidationPlugin.java   | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/java/org/slub/rosetta/dps/repository/plugin/XmlFormatValidationPlugin.java b/java/org/slub/rosetta/dps/repository/plugin/XmlFormatValidationPlugin.java
index 50b7006..2b45564 100644
--- a/java/org/slub/rosetta/dps/repository/plugin/XmlFormatValidationPlugin.java
+++ b/java/org/slub/rosetta/dps/repository/plugin/XmlFormatValidationPlugin.java
@@ -516,6 +516,7 @@ public class XmlFormatValidationPlugin implements FormatValidationPlugin {
             System.out.println("Debug          : '" + plugin.debug + "'");
             System.out.println();
         }
+        boolean atLeastOneFileNotValid = false;
         for (String file : args) {
             System.out.println("----------------------------------");
             System.out.println("Validation of file '" + file + "'");
@@ -536,13 +537,16 @@ public class XmlFormatValidationPlugin implements FormatValidationPlugin {
                 System.out.println("\t..........");
             }
             System.out.println("\tisValid: " + plugin.isValid());
+            if (! plugin.isValid()) {
+                atLeastOneFileNotValid = true;
+            }
         }
 
         // exit code
-        if (plugin.isValid()) {
-            System.exit(0);
-        } else {
+        if (atLeastOneFileNotValid) {
             System.exit(1);
+        } else {
+            System.exit(0);
         }
     }
 }
-- 
GitLab