SPVMDEPS(1)
π Name π
Welcome to SPVMDEPS(1), bestie β a page from User Contributed Perl Documentation. The main character is spvmdeps, aka the Class Dependencies Analyzer. π
β¨ Description β¨
spvmdeps is literally a class dependencies analyzer. That's the whole gig: it analyzes class deps for you, no cap. π
π» Usage π»
okay so here's the whole usage menu, verbatim, because specs are sacred:
Usage: spvmdeps [OPTIONS] SCRIPT_NAME
spvmdeps myapp.spvm
spvmdeps --with-version myapp.spvm
spvmdeps --cpanm --with-version myapp.spvm
spvmdeps --cpanfile --with-version myapp.spvm
Options:
-h, --help Shows this message
-v, --version Shows the version
-I, --include-dir DIRECTORY Adds a include directory
--json Prints JSON that contains all dependent class information.
--cpanm Prints cpanm commands that contains dependent cpan modules
--cpanfile Prints cpanfile that contains dependent cpan modules
--with-version Output(default, --cpanm, --json) contains version information.
--exclude CLASS_NAME Excludes a class name. This option can be used repeatedly.
--resource-info Shows config files of dependent resources
and those are the options. We're going to go through every single one below β every flag, every argument, every default. periodt. π«Ά
π Details π
spvmdeps [OPTIONS] SCRIPT_NAME
The spvmdeps command prints class dependency information. It's giving dependency receipts. β¨
Output Examples:
Sys
Regex
Foo
Bar
# --with-version
Sys 1.201
Regex 0.980
Foo (version_from Sys)
Bar
OPTIONS are options. Yes bestie, iconic but true. π
SCRIPT_NAME is a script name that contains a bootstrap method in an anon class.
class {
static method main : void () {
}
}
For the default class search directories, see Class Search Directories.
For available environment variables, see SPVM::Document::EnvironmentVariables.
π Options π
Here we go β all the flags, no skipping. π
πΈ --help πΈ
Outputs how to use the spvmdeps command to standard output.
πΈ -h πΈ
-h
Same as --help.
πΈ --version πΈ
Outputs the version of the spvmdeps command to standard output. This version is the same as the version of SPVM.
πΈ -v πΈ
-v
Same as --version.
πΈ --include-dir πΈ
--include-dir DIRECTORY
Prepends DIRECTORY to class search directories.
This option can be specified multiple times.
--include-dir dir1 --include-dir dir2
In this case, class search directories becomes the following.
[dir1, dir2, default_dirs]
πΈ -I πΈ
-I DIRECTORY
Same as --include-dir.
πΈ --json πΈ
Prints JSON that contains all dependent class information.
Output Examples:
[
{"class_name":"Address"},
{"class_name":"Bool"},
{"class_name":"Byte"},
{"class_name":"CommandInfo"},
{"class_name":"Double"},
{"class_name":"Error"},
{"class_name":"Error::Compile"},
{"class_name":"Error::NotSupported"},
{"class_name":"Error::System"},
{"class_name":"Float"},
{"class_name":"Int"},
{"class_name":"Long"},
{"class_name":"SPVM"},
{"class_name":"Short"},
{"class_name":"TestCase::NativeAPI2"},
{"class_name":"TestCase::Precompile"}
]
# --with-version
[
{"class_name":"Address","version_from":"SPVM"},
{"class_name":"Bool","version_from":"SPVM"},
{"class_name":"Byte","version_from":"SPVM"},
{"class_name":"CommandInfo","version_from":"SPVM"},
{"class_name":"Double","version_from":"SPVM"},
{"class_name":"Error","version_from":"SPVM"},
{"class_name":"Error::Compile","version_from":"SPVM"},
{"class_name":"Error::NotSupported","version_from":"SPVM"},
{"class_name":"Error::System","version_from":"SPVM"},
{"class_name":"Float","version_from":"SPVM"},
{"class_name":"Int","version_from":"SPVM"},
{"class_name":"Long","version_from":"SPVM"},
{"class_name":"SPVM","version":"0.990036"},
{"class_name":"Short","version_from":"SPVM"},
{"class_name":"TestCase::NativeAPI2","version":"1.002"},
{"class_name":"TestCase::Precompile","version":"2.005"}
]
πΈ --cpanm πΈ
Prints cpanm commands that contains dependent CPAN modules. Classes whose version is specified are treated as dependent CPAN modules.
Output Examples:
cpanm SPVM
cpanm SPVM::Sys
cpanm SPVM::Regex
# --with-version
cpanm SPVM@1.001
cpanm SPVM::Sys@1.201
cpanm SPVM::Regex@0.980
πΈ --cpanfile πΈ
Prints cpanfile that contains dependent CPAN modules. Classes whose version is specified are treated as dependent CPAN modules.
Output Examples:
requires 'SPVM';
requires 'SPVM::Sys';
requires 'SPVM::Regex';
# --with-version
requires 'SPVM', '== 1.001';
requires 'SPVM::Sys', '== 1.201';
requires 'SPVM::Regex', '== 0.980';
πΈ --with-version πΈ
Output(default, "--cpanm", "--cpanfile", "--json") contains version information.
πΈ --exclude πΈ
--exclude=<class_name>
Excludes a class name. This option can be used repeatedly.
Examples:
--exclude TestCase::Foo
Wildcard "*" can be used.
--exclude TestCase::*
πΈ --resource-info πΈ
Shows all config files loading resources.
π lib Directive π
If the source code specified by SCRIPT_NAME contains lib directives, the directories specified by the lib directive are prepended to class search directories.
#lib "$FindBin::Bin/lib"
class {
}
order check, bestie: thoselib-directive directories are placed after the directories specified by the--include-diroption. Don't flip it. π«Ά
π Copyright & License π
Copyright 2023 Yuki Kimoto. All Rights Reserved.
MIT License.
okay bestie, that's the whole SPVMDEPS(1) manual page β signed off with perl v5.42.2 on 2026-02-03. Mwah πβ¨
π¦ where this page comes from
- alpine 3.24: spvm-doc 0.990125-r0 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms