commit | e96454eb5f41b95446b2e0f728f344ac2c6ad6c2 | [log] [tgz] |
---|---|---|
author | Oliver Newman <olivernewman@google.com> | Tue Sep 26 17:11:56 2023 +0000 |
committer | CQ Bot <fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Sep 26 17:11:56 2023 +0000 |
tree | 0ad4cad258a8fd62b1ead0c0cd5d5e0cda713983 | |
parent | 72856ff8501a97d4b53a94127d8d7f7e237b09d5 [diff] |
[engine] Prioritize version warning over unknown fields If `shac.textproto` specifies a `min_shac_version`, check that shac is running at that version before validating the remaining fields of `shac.textproto` in case one of the fields is unknown only because it was introduced in a later version of shac. Change-Id: I253468cf81e1a7d7a0488942a6e691ecbb8c9aa1 Reviewed-on: https://fuchsia-review.googlesource.com/c/shac-project/shac/+/921276 Reviewed-by: Marc-Antoine Ruel <maruel@google.com> Fuchsia-Auto-Submit: Oliver Newman <olivernewman@google.com> Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
Shac (Scalable Hermetic Analysis and Checks) is a unified and ergonomic tool and framework for writing and running static analysis checks.
Shac checks are written in Starlark.
go install go.fuchsia.dev/shac-project/shac@latest shac check shac doc shac.star | less
Planned features/changes, in descending order by priority:
shac.textproto
shac.star
files.shac
cache directory that checks can write toctx.scm
glob
arguments to ctx.scm.{all,affected}_files()
functions for easier filtering⚠ The source of truth is at https://fuchsia.googlesource.com/shac-project/shac.git and uses Gerrit for code review.
See CONTRIBUTING.md to submit changes.