Issue #23571 Bash script able to validate jar files locally

- check only our products and ignore errors about dependencies
- not all modules are osgi modules
- some modules have dependency on system classpath or code generated at runtime
- some modules are really broken, but we are not sure because we don't have any
  tests for them. That will improve soon.
- embedded glassfishes will need some attention too
diff --git a/validateJars.sh b/validateJars.sh
new file mode 100755
index 0000000..daa5ef3
--- /dev/null
+++ b/validateJars.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+set -e
+set -v
+
+path="${1:-./}";
+
+find "${path}" -type f -regex ".*\/target\/[^\/]*\.jar" ! -path '*/appserver/tests/tck/*' ! -regex ".*/\(glassfish\-embedded\-[a-z]+\)\.jar" -print0 | while IFS= read -r -d '' file; do
+	echo "Processing file: ${file}";
+	# ignorance: bnd tries to resolve dependencies, but:
+	# - not all modules are osgi modules
+	# - some modules have dependency on system classpath or code generated at runtime
+	# - some modules are really broken, but we are not sure because we don't have any tests for them: TODO/FIXME
+	bnd --ignore 'Unresolved references' print --verify "${file}"
+done
+