From ee06e3ec3b3deb0a9bf43165ba477e54f4ccbcc5 Mon Sep 17 00:00:00 2001 From: Klaus Aehlig Date: Thu, 24 Oct 2024 16:46:39 +0200 Subject: ["lint", "targets"]: Also have a metadata file ... containing the names of artifacts (files or directories) that are from the target itself of the runfiles of direct dependencies. This allows tools to check some form of strict dependency structure. --- lint/RULES | 23 +++++++++++++++++++++++ lint/call_lint | 1 + 2 files changed, 24 insertions(+) diff --git a/lint/RULES b/lint/RULES index fef578a..04ad230 100644 --- a/lint/RULES +++ b/lint/RULES @@ -63,6 +63,10 @@ , " by the field \"config\", and" , "- OUT pointing to a directory to which files with the lint result" , " can be written." + , "- META pointing to a json file contaning" + , " - at key \"direct deps artifact names\" a list of all input" + , " artifacts that come from the target itself or are runfiles of a" + , " direct dependency." , "It is supposed to indicate by the exit code whether the file to lint" , "complies with the given linting policy, with 0 meaning" , "compliant." @@ -152,6 +156,12 @@ , "dep": {"type": "var", "name": "_"} } ] + , [ "direct deps artifact names" + , { "type": "DEP_PROVIDES" + , "dep": {"type": "var", "name": "_"} + , "provider": "direct deps artifact names" + } + ] ] , "body": { "type": "TREE" @@ -170,6 +180,19 @@ , "subdir": "config" , "$1": {"type": "var", "name": "config"} } + , { "type": "singleton_map" + , "key": "meta.json" + , "value": + { "type": "BLOB" + , "data": + { "type": "json_encode" + , "$1": + { "type": "env" + , "vars": ["direct deps artifact names"] + } + } + } + } ] } , "cmd": diff --git a/lint/call_lint b/lint/call_lint index ab9c2b8..ca7e4ef 100755 --- a/lint/call_lint +++ b/lint/call_lint @@ -23,6 +23,7 @@ echo "${RESULT}" > result export OUT="$(pwd)/out" mkdir -p config export CONFIG="$(pwd)/config" +export META="$(pwd)/meta.json" cd work -- cgit v1.2.3