Expand description
.app.src discovery and parsing.
Walks a source tree, finds every *.app.src file, and extracts
the application name, declared modules, and listed dependencies.
The parser is targeted: it accepts the small handful of Erlang
syntactic shapes that appear in real .app.src files and rejects
anything else as a parse error. It is not a general Erlang term
parser.
Structs§
- AppSrc
Spec - Parsed contents of one
.app.srcfile. - Discovery
Output
Enums§
Constants§
- SKIP_
DIRS - Directories skipped entirely during discovery. Common build-output and
vendored-dependency layouts: rebar3’s
_build, Erlang.mk’s_relandlogs, npm-stylenode_modules, Nix’s.direnv, plus.git.targetis included so cross-language repos that vendor Rust artifacts don’t bloat the scan.
Functions§
- application_
of_ path - Resolves a file path under
repo_rootto the application it belongs to: the app whose.app.srcsits in the deepest shared prefix ofpath. - discover
- Walks
rootrecursively, parses every*.app.srcfound, returns aDiscoveryOutputcarrying the parsed specs plus any per-file warnings. - parse
- Parses a single
.app.srcfile’s text. The accepted shape is{application, <name>, [<prop>, ...]}.with optional whitespace,%-line comments, and any prop order. Unknown props are ignored.