Nagelfar Bazel rules
Rules
Aspects
nagelfar_toolchain
load("@rules_tcl//tcl/nagelfar:defs.bzl", "nagelfar_toolchain")
nagelfar_toolchain(name, nagelfar, syntaxdb)
A toolchain rule for configuring the Nagelfar Tcl syntax checker.
The nagelfar_toolchain rule specifies the Nagelfar script and syntax database files
used by tcl_nagelfar_aspect and tcl_nagelfar_test for static analysis of Tcl code.
Typically, you don't need to define this directly. Instead, use the bzlmod extension:
nagelfar = use_extension("@rules_tcl//tcl/nagelfar:extensions.bzl", "nagelfar")
nagelfar.toolchain()
use_repo(nagelfar, "nagelfar_toolchains")
register_toolchains("@nagelfar_toolchains//:all")
ATTRIBUTES
| Name | Description | Type | Mandatory | Default |
|---|---|---|---|---|
| name | A unique name for this target. | Name | required | |
| nagelfar | The nagelfar.tcl script. | Label | required | |
| syntaxdb | Nagelfar syntax database files. | Label | optional | None |
tcl_nagelfar_test
load("@rules_tcl//tcl/nagelfar:defs.bzl", "tcl_nagelfar_test")
tcl_nagelfar_test(name, target)
A test rule for performing Nagelfar static analysis on a Tcl target.
Usage:
load("@rules_tcl//tcl/nagelfar:tcl_nagelfar_test.bzl", "tcl_nagelfar_test")
tcl_nagelfar_test(
name = "mylib_nagelfar",
target = ":mylib",
)
ATTRIBUTES
| Name | Description | Type | Mandatory | Default |
|---|---|---|---|---|
| name | A unique name for this target. | Name | required | |
| target | The Tcl target to perform Nagelfar analysis on. | Label | required |
tcl_nagelfar_aspect
load("@rules_tcl//tcl/nagelfar:defs.bzl", "tcl_nagelfar_aspect")
tcl_nagelfar_aspect()
An aspect for performing Nagelfar static analysis on Tcl targets.
The tcl_nagelfar_aspect applies Nagelfar
checks to all Tcl targets in the dependency graph.
Usage:
bazel build //my:target \
--aspects=@rules_tcl//tcl/nagelfar:tcl_nagelfar_aspect.bzl%tcl_nagelfar_aspect \
--output_groups=+tcl_nagelfar_checks
Or configure it in your .bazelrc:
build:nagelfar --aspects=@rules_tcl//tcl/nagelfar:tcl_nagelfar_aspect.bzl%tcl_nagelfar_aspect
build:nagelfar --output_groups=+tcl_nagelfar_checks
Ignoring targets:
To skip Nagelfar for specific targets, add one of these tags:
no_tcl_nagelfarno_nagelfarno_lintnolint
ASPECT ATTRIBUTES
ATTRIBUTES