commit | 54b9a1242385c1cde3ce742b32527ab83f5b2a31 | [log] [tgz] |
---|---|---|
author | Oliver Newman <olivernewman@google.com> | Mon Aug 28 22:28:52 2023 +0000 |
committer | CQ Bot <fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Aug 28 22:28:52 2023 +0000 |
tree | cb6d74d37a180ceffee02553eed28006c9519de4 | |
parent | 9a26b49a1f7f7be3eca954b34be8fc3e29bec096 [diff] |
[engine] Support analyzing only specified files Users can now run `shac {check,fix,fmt} file1 file2 file3 ...` to run checks only on the specified list of files, regardless of which files are affected according to the SCM. Checks that explicitly call `all_files()` will still see all files. Change-Id: Ife998392327438a1fae443e477e0b20b5f8490a8 Reviewed-on: https://fuchsia-review.googlesource.com/c/shac-project/shac/+/904638 Commit-Queue: Marc-Antoine Ruel <maruel@google.com> Reviewed-by: Marc-Antoine Ruel <maruel@google.com> Fuchsia-Auto-Submit: Oliver Newman <olivernewman@google.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.