commit | e41b94339422e81f5f3df023ac768e90a6129d97 | [log] [tgz] |
---|---|---|
author | Oliver Newman <olivernewman@google.com> | Fri Sep 01 05:53:46 2023 +0000 |
committer | CQ Bot <fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Sep 01 05:53:46 2023 +0000 |
tree | c813f3c2ecd5eb5a108ba71aefe5987131a3398f | |
parent | d59a7dbb51268a336eb1df47eaaa683d9ec8a7f9 [diff] |
[engine] Remove restriction on executable paths An executable with path "foo.sh" relative to a shac.star file can now be run with `ctx.os.exec(["foo.sh"])`, whereas previously it had to be `ctx.os.exec(["./foo.sh"])`, with "./" necessary to bypass $PATH-based resolution. Now $PATH-based resolution will only occur if the executable does not exist in the repository root. Change-Id: I64faf5baebbb7e87bf8048e9bfbc914706e985d2 Reviewed-on: https://fuchsia-review.googlesource.com/c/shac-project/shac/+/910615 Fuchsia-Auto-Submit: Oliver Newman <olivernewman@google.com> Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com> Reviewed-by: Anthony Fandrianto <atyfto@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.