summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2024-10-24 16:46:39 +0200
committerKlaus Aehlig <klaus.aehlig@huawei.com>2024-10-25 16:48:13 +0200
commitee06e3ec3b3deb0a9bf43165ba477e54f4ccbcc5 (patch)
treefe05eb95635ae121af0f2e324e06fcc1480b9d48
parent7ece7d37f7840b27b799fbe36c62034e816829a1 (diff)
downloadrules-cc-ee06e3ec3b3deb0a9bf43165ba477e54f4ccbcc5.tar.gz
["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.
-rw-r--r--lint/RULES23
-rwxr-xr-xlint/call_lint1
2 files changed, 24 insertions, 0 deletions
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