Documentation
¶
Overview ¶
Package pkgload wraps golang.org/x/tools/go/packages.Load with lagotto's --tags and --exclude conventions. Detectors receive the already-filtered slice of *packages.Package and do not interact with the loader directly.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Load ¶
Load loads all packages under root with the given build tags and returns those whose import paths do not match any path segment in exclude. Excluded packages are filtered here so detectors do not have to repeat the check.
The second return value collects per-package load errors (syntax errors, type errors, unresolved imports) from the packages that were kept. These do not abort the audit — detectors still run on whatever type-checked — but callers must surface them so a broken package is distinguishable from a clean one.
func ShouldExclude ¶
ShouldExclude reports whether any non-empty pattern in exclude matches a run of complete path segments in path. Matching is segment-anchored, not substring: "gen" excludes "a/gen/b" but not "a/agent/b", and "design/generated" excludes "x/design/generated" but not "x/redesign/generated". Used by Load and by filesystem-walking detectors that inspect directories outside the loaded package set.
func ValidateTags ¶ added in v0.2.0
ValidateTags rejects malformed --tags values before they are handed to the go toolchain, whose own error ("go: -tags space-separated list contains comma") leaks build plumbing the user never invoked. Accepts the empty string (no tags) and comma-separated identifiers of letters, digits, underscores, and dots.
Types ¶
This section is empty.