commit | 1bb9fa155a7ae88cd9a33e3f7507f7d94cf87154 | [log] [tgz] |
---|---|---|
author | Oliver Newman <olivernewman@google.com> | Mon Sep 11 21:11:46 2023 +0000 |
committer | CQ Bot <fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Sep 11 21:11:46 2023 +0000 |
tree | 9d37aa62b1a7efd4744ec20f2b87cd0a8e7db266 | |
parent | 9b6143b7486a35da6e90b4a0b46a55103ee032e4 [diff] |
[engine] Apply fixes for checks of all levels Previously `shac fix` and `shac fmt` would only apply fixes for findings with a level or "error", which meant there was no automatic way to apply fixes for non-error findings. I considered making it configurable whether or not non-error findings' replacements are applied (e.g. via a `--level` flag that specifies the minimum level of findings to automatically fix) but I couldn't think of a nice interface, so for now it's simplest to not filter findings based on level. Change-Id: I12e49839163a0e0ae4f86b52cdc28fb7584e1bae Reviewed-on: https://fuchsia-review.googlesource.com/c/shac-project/shac/+/912740 Fuchsia-Auto-Submit: Oliver Newman <olivernewman@google.com> Reviewed-by: Anthony Fandrianto <atyfto@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.