big-code-analysis-cli 2.0.0__py3-none-manylinux_2_28_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- big_code_analysis_cli-2.0.0.data/scripts/bca +0 -0
- big_code_analysis_cli-2.0.0.dist-info/METADATA +195 -0
- big_code_analysis_cli-2.0.0.dist-info/RECORD +26 -0
- big_code_analysis_cli-2.0.0.dist-info/WHEEL +4 -0
- big_code_analysis_cli-2.0.0.dist-info/licenses/LICENSE +355 -0
- big_code_analysis_cli-2.0.0.dist-info/licenses/THIRD-PARTY-LICENSES-bca.md +5463 -0
- big_code_analysis_cli-2.0.0.dist-info/sboms/big-code-analysis-cli.cyclonedx.json +8288 -0
- man/bca-check.1 +208 -0
- man/bca-count.1 +73 -0
- man/bca-diff-baseline.1 +55 -0
- man/bca-diff.1 +104 -0
- man/bca-dump.1 +92 -0
- man/bca-exemptions.1 +109 -0
- man/bca-find.1 +95 -0
- man/bca-functions.1 +86 -0
- man/bca-init.1 +76 -0
- man/bca-list-metrics.1 +26 -0
- man/bca-metrics.1 +125 -0
- man/bca-ops.1 +116 -0
- man/bca-preproc.1 +69 -0
- man/bca-report.1 +105 -0
- man/bca-strip-comments.1 +76 -0
- man/bca-vcs-commit.1 +45 -0
- man/bca-vcs-trend.1 +43 -0
- man/bca-vcs.1 +173 -0
- man/bca.1 +93 -0
man/bca.1
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
.ie \n(.g .ds Aq \(aq
|
|
2
|
+
.el .ds Aq '
|
|
3
|
+
.TH BCA 1 "big-code-analysis 2.0.0" "big-code-analysis Manual"
|
|
4
|
+
.SH NAME
|
|
5
|
+
bca \- Analyze source code.
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
\fBbca\fR [\fB\-w\fR|\fB\-\-warnings\fR] [\fB\-\-report\-skipped\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIsubcommands\fR>
|
|
8
|
+
.SH DESCRIPTION
|
|
9
|
+
Analyze source code.
|
|
10
|
+
.SH OPTIONS
|
|
11
|
+
.TP
|
|
12
|
+
\fB\-w\fR, \fB\-\-warnings\fR
|
|
13
|
+
Print warnings (skipped files, unrecognized languages). `\-\-warning` (singular) is kept as a hidden alias for one release cycle and is slated for removal in the next major
|
|
14
|
+
.TP
|
|
15
|
+
\fB\-\-report\-skipped\fR
|
|
16
|
+
Log a "skipped (generated): <path>" line to stderr for each file auto\-skipped by the generated\-code detector. Useful for auditing which files were excluded
|
|
17
|
+
.TP
|
|
18
|
+
\fB\-h\fR, \fB\-\-help\fR
|
|
19
|
+
Print help
|
|
20
|
+
.TP
|
|
21
|
+
\fB\-V\fR, \fB\-\-version\fR
|
|
22
|
+
Print version
|
|
23
|
+
.SH SUBCOMMANDS
|
|
24
|
+
.TP
|
|
25
|
+
bca\-metrics(1)
|
|
26
|
+
Compute per\-file metrics and emit them in a structured format
|
|
27
|
+
.TP
|
|
28
|
+
bca\-ops(1)
|
|
29
|
+
Extract per\-file operands and operators
|
|
30
|
+
.TP
|
|
31
|
+
bca\-vcs(1)
|
|
32
|
+
Rank files by change\-history (VCS) risk: churn, commit and author counts, ownership dilution, and bug\- / security\-fix history over a git working tree. Errors clearly outside a repo
|
|
33
|
+
.TP
|
|
34
|
+
bca\-report(1)
|
|
35
|
+
Generate an aggregated report across the analyzed source
|
|
36
|
+
.TP
|
|
37
|
+
bca\-dump(1)
|
|
38
|
+
Dump the AST to stdout. Each file\*(Aqs tree is prefixed with a `== <path> ==` banner so a multi\-file dump is attributable. Requires an explicit path — unlike the other walking subcommands, bare `bca dump` errors instead of dumping the whole current directory (a whole\-tree AST dump has no plausible use)
|
|
39
|
+
.TP
|
|
40
|
+
bca\-find(1)
|
|
41
|
+
Find nodes of one or more types
|
|
42
|
+
.TP
|
|
43
|
+
bca\-count(1)
|
|
44
|
+
Count nodes of one or more types
|
|
45
|
+
.TP
|
|
46
|
+
bca\-functions(1)
|
|
47
|
+
List functions/methods and their spans
|
|
48
|
+
.TP
|
|
49
|
+
bca\-strip\-comments(1)
|
|
50
|
+
Remove comments from source files
|
|
51
|
+
.TP
|
|
52
|
+
bca\-preproc(1)
|
|
53
|
+
Generate preprocessor\-data JSON for C/C++ analysis
|
|
54
|
+
.TP
|
|
55
|
+
bca\-list\-metrics(1)
|
|
56
|
+
List the metrics this tool can compute and exit
|
|
57
|
+
.TP
|
|
58
|
+
bca\-check(1)
|
|
59
|
+
Check per\-function metrics against thresholds. Exits 2 when any threshold is exceeded; reserve exit 1 for tool errors so CI can distinguish "metric regression" from "tool crashed". `\-\-strict\-exit\-codes` opts into tiered codes (2\-5) that split the violation case by severity
|
|
60
|
+
.TP
|
|
61
|
+
bca\-init(1)
|
|
62
|
+
Scaffold the canonical adoption files (`bca.toml` manifest, `.bcaignore`, `.bca\-baseline.toml`) in the current directory. Replaces the six\-step copy\-paste flow from the book\*(Aqs adoption recipe. Refuses to overwrite existing files without `\-\-force`
|
|
63
|
+
.TP
|
|
64
|
+
bca\-diff\-baseline(1)
|
|
65
|
+
Diff two `.bca\-baseline.toml` files and report what was added, removed, worsened, or improved. Replaces the in\-the\-head TOML diff parsing the book\*(Aqs PR\-review recipe used to walk through. Exits 0 on success by default — the diff is informational, not a gate. With `\-\-exit\-code`, exits 2 when the filtered diff is non\-empty
|
|
66
|
+
.TP
|
|
67
|
+
bca\-diff(1)
|
|
68
|
+
Compare two metric\-output runs and report, per metric, which files changed (old to new), plus files added/removed between the two sets. Each side is a per\-file JSON file or a directory tree of them (the form `bca metrics \-O json \-\-output\-dir DIR` writes). Replaces the grammar\-bump glue chain — the external `json\-minimal\-tests` binary plus `split\-minimal\-tests.py` — with one native command. Exits 0 on success by default; the diff is informational, not a gate. With `\-\-exit\-code`, exits 2 when the filtered diff is non\-empty
|
|
69
|
+
.TP
|
|
70
|
+
bca\-exemptions(1)
|
|
71
|
+
Audit everything the `bca check` gate skips in one view: in\-source suppression markers (`bca: suppress`, `#lizard forgives`, …), `[check.exclude]` globs, and `.bca\-baseline.toml` entries. Read\-only; always exits 0 on success
|
|
72
|
+
.TP
|
|
73
|
+
bca\-help(1)
|
|
74
|
+
Print this message or the help of the given subcommand(s)
|
|
75
|
+
.SH EXTRA
|
|
76
|
+
Exit codes:
|
|
77
|
+
0 success
|
|
78
|
+
1 tool error (bad flag/threshold/glob spec, unreadable input, parse failure)
|
|
79
|
+
2 metric gate: `check` thresholds exceeded / `vcs commit \-\-fail\-above` breached / `diff \-\-exit\-code` non\-empty (default contract)
|
|
80
|
+
3\-5 `check \-\-strict\-exit\-codes` only: tiered violation severity
|
|
81
|
+
|
|
82
|
+
Exit code 1 is always a tool error, never a metric signal — usage errors
|
|
83
|
+
(unknown flag, bad subcommand, malformed `\-\-threshold` value) exit 1, not 2.
|
|
84
|
+
Codes 2\-5 are gate signals emitted only by `check`, `vcs commit \-\-fail\-above`,
|
|
85
|
+
and `diff` / `diff\-baseline` when run with the opt\-in `\-\-exit\-code` flag.
|
|
86
|
+
Every other subcommand exits 0 on success and 1 on error.
|
|
87
|
+
|
|
88
|
+
Migrating from the flag\-style CLI? See the migration guide:
|
|
89
|
+
https://dekobon.github.io/big\-code\-analysis/migration.html
|
|
90
|
+
.SH VERSION
|
|
91
|
+
v2.0.0
|
|
92
|
+
.SH AUTHORS
|
|
93
|
+
Calixte Denizet <cdenizet@mozilla.com>, Elijah Zupancic <elijah@zupancic.name>
|