Support groovy lint exclusions

makefiles/utils/include.mk
--------------------------
  o Added helper method path-by-makefile.
  o Derive a path relative to an active makefile.

makefiles/lint/groovy/include.mk
makefiles/lint/groovy/.groovylintrc.json
makefiles/lint/groovy/urls
----------------------------------------
  o make lint-groovy: pass argument --config to npm-groovy-lint.
  o Bulk filter subjective and personal-preference items to help
    shrink logfile size until the warning volume is under control.
  o https://github.com/nvuillam/npm-groovy-lint/blob/main/lib/.groovylintrc-recommended.json

[HOWTO: test]
  % git clone onf-make
  % cd onf-make
  % make lint-groovy HIDE=

Display command line being launched (HIDE=@ cleared):
[...] npm-groovy-lint --config "...../onf-make/makefiles/lint/groovy/.groovylintrc.json"

Change-Id: I0f3bf3f7f949d7911c89e809f1702a1615418ea6
diff --git a/makefiles/lint/groovy/.groovylintrc.json b/makefiles/lint/groovy/.groovylintrc.json
new file mode 100644
index 0000000..3392108
--- /dev/null
+++ b/makefiles/lint/groovy/.groovylintrc.json
@@ -0,0 +1,46 @@
+{
+  "extends": "all",
+  "rules": {
+    "basic.DeadCode": "error",
+    "convention.CompileStatic": {
+      "severity": "info"
+    },
+    "convention.FieldTypeRequired": "info",
+    "convention.IfStatementCouldBeTernary": "info",
+    "convention.NoDef": "info",
+    "convention.TrailingComma": "off",
+    "convention.VariableTypeRequired": "info",
+    "dry.DuplicateListLiteral": "info",
+    "dry.DuplicateMapLiteral": "warning",
+    "dry.DuplicateNumberLiteral": {
+      "ignoreNumbers": [0, 1, 2, 3, -1],
+      "severity": "info"
+    },
+    "dry.DuplicateStringLiteral": "info",
+    "exceptions.ThrowException": "info",
+    "exceptions.ThrowNullPointerException": "info",
+    "exceptions.ThrowRuntimeException": "info",
+    "exceptions.ThrowThrowable": "info",
+    "formatting.BracesForClass": "info",
+    "formatting.BracesForForLoop": "info",
+    "formatting.BracesForIfElse": "off",
+    "formatting.BracesForMethod": "off",
+    "formatting.BracesForTryCatchFinally": "off",
+    "formatting.Indentation": {
+      "spacesPerIndentLevel": 4,
+      "severity": "info"
+    },
+    "formatting.SpaceAroundMapEntryColon": "off",
+    "groovyism.ExplicitCallToEqualsMethod": "info",
+    "logging.Println": "off",
+    "unused.UnusedArray": "error",
+    "unused.UnusedObject": "error",
+    "unused.UnusedPrivateField": "error",
+    "unused.UnusedPrivateMethod": "error",
+    "unused.UnusedPrivateMethodParameter": "error",
+    "unused.UnusedVariable": "error",
+    "unnecessary.UnnecessaryReturnKeyword": "off"
+  },
+  "see-also" : {
+      ".groovylintrc-recommended.json" : "https://github.com/nvuillam/npm-groovy-lint/blob/main/lib/.groovylintrc-recommended.json"  }
+}