commit | ea49ce43869935f17396dfd438c5fc6638851bd1 | [log] [tgz] |
---|---|---|
author | Oliver Newman <olivernewman@google.com> | Thu Jul 20 17:49:59 2023 +0000 |
committer | CQ Bot <fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Jul 20 17:49:59 2023 +0000 |
tree | 6db899208bf5b74d17687e5d635a38f5377281a9 | |
parent | 9e29bab36d6acb4d34acd44668bd221f83362b09 [diff] |
[engine] Make `filepath` a requirement for `replacements` or `line` It doesn't make sense to specify a line range in a finding without specifying a file. Likewise, it doesn't make sense to suggest replacements without specifying a file in which to apply the replacements. Change-Id: Iabfe0e34e1af3797b573b49e079207d5f270340a Reviewed-on: https://fuchsia-review.googlesource.com/c/shac-project/shac/+/887574 Reviewed-by: Marc-Antoine Ruel <maruel@google.com> Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.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.