dub命令选项:
省略命令,则为run
,--
用于分割选项.
取包或包元数据
时http_proxy
为环境变量设置.
dub -a x86 --compiler dmd
,x86架构下用dmd
编译器
一般命令:
-h
选项 |
解释 |
--help |
显示一般命令帮助 |
--root= |
操作的根目录 |
--registry= |
解析依赖时搜索的网径,默认为dub注册项,或类似mvn+http://localhost:8040/maven/libs-release/dubpackages 的maven 格式 |
--skip-registry=<值> |
跳过注册 |
--annotate |
只注解,不执行. |
--bare |
仅读当前目录包. |
-v
选项 |
解释 |
--verbose |
诊断输出 |
--vverbose |
调试输出 |
-q
选项 |
解释 |
--quiet |
仅打印警告和错误 |
--verror |
仅打印错误 |
--vquiet |
不打印 |
--cache=<值> |
把包放进特定目录[本地/系统/用户] |
命令概览
选项 |
解释 |
init |
初化空包 |
run |
(默认)构建并运行 |
build |
(默认用当前目录主包)构建包 |
test |
执行选择包的测试 |
lint |
执行lint 测试 |
generate |
用特定生成器生成项目文件 |
describe |
打印项目和依赖的json 描述 |
clean |
清理中间构建和缓存结果 |
dustmite |
为生成错误构建简单测试案例 |
管理包
选项 |
解释 |
fetch |
取并缓存包 |
install |
同上 |
add |
加依赖 |
remove |
移除缓存包 |
uninstall |
同上 |
upgrade |
强制升级依赖 |
add-path |
加默认包搜索路径 |
remove-path |
移除包搜索路径 |
add-local |
加本地包目录(git仓库 ) |
remove-local |
移除本地包目录 |
list |
列举dub知道的所有包 |
search |
搜索可用包 |
add-override |
加包盖 |
remove-override |
移包盖 |
list-overrides |
列包盖 |
clean-caches |
清缓存元数据 |
convert |
转换包配置格式 |
创建(init)包选项
选项 |
详细 |
解释 |
-t |
--type= |
置类型(minimal ,vibe.d ,deimos ,custom ) |
-f |
--format= |
包配置格式(默认json ,sdl) |
-n |
--non-interactive |
非交互 |
构建,测试,运行命令
构建运行(build/run),差不多一样
选项 |
解释 |
--temp-build |
在临时目录构建 |
--rdmd |
用rdmd构建 |
--nodeps |
构建前,不解析缺少的依赖 |
--build-mode=<值> |
编译器/链接器调用方式可为separate(默认),allAtOnce,singleFile |
--single |
把包名当作文件名,必须包含包节注释 |
--force-remove |
过时选项 |
--filter-versions |
[实验],过滤版本和调试标识来提高构建缓存效率 |
--combined |
单趟构建整个工程 |
--print-builds |
打印可用构建类型 |
--print-configs |
打印可用配置列表 |
--print-platform |
dub.json 中构建平台字段的标识 |
--parallel |
尽量并行编译实例 |
--override-config=<值> |
对特定依赖覆盖特定配置如--override-config=<依赖>/<配置> ,可多次指定 |
--compiler=<值> |
指定用的编译器如ldc2/dmd/gdc/gdmd/ldmd 可为路径 |
选项 |
详细 |
解释 |
-n |
--non-interactive |
不进入交互模式 |
-b |
--build=<值> |
构建类型,可能值为debug (默认), plain, release, release-debug, release-nobounds, unittest, profile, profile-gc, docs, ddox, cov, unittest-cov, syntax and custom types ,DFLAGS 将覆盖这个值,重要选项 |
-f |
--force |
强制重构 |
-y |
--yes |
自动回复是. |
-c |
--config=<值> |
构建特定配置 ,可在dub.json 中指定 |
-a |
--arch=<值> |
强制不同架构如x86/x86_64 |
-d |
--debug=<值> |
指定调试版本,可多次用 |
测试(test)
执行所有包含的单元测试,如果包
包含测试包的依赖
,则自动生成的主文件
将用它来跑单元测试.
选项 |
解释 |
--main-file=<值> |
指定包含主() 函数来跑测试 |
--coverage |
生成覆盖 |
其余与上一样
,
lint(执行d-scanner
测试)
选项 |
解释 |
--syntax-check |
词法语法分析源文件打印符号错误 |
--style-check |
词法语法分析源文件打印静态分析检查错误 |
--error-format=<值> |
上面分析器得出的格式错误 |
--report |
用json格式生成静态分析报告 |
--report-format=<值> |
指定静态分析报告格式 |
--import-paths=<值> |
导入路径 |
其余构建运行一样
.
生成
选项 |
解释 |
visuald |
VisualD项目文件 |
sublimetext |
SublimeText项目文件 |
cmake |
CMake |
build |
直接构建 |
可给定可选包名
描述
根包及依赖包的构建描述,对ide有用,所有有用选项对构建/运行/生成
也有用.将打印相应的特定构建配置.
–data=值可为:main-source-file, dflags, lflags, libs, linker-files, source-files, versions, debug-versions, import-paths, string-import-paths, import-files, options
有--data-list
时可为:target-type, target-path, target-name, working-directory, copy-files, string-import-files, pre-generate-commands, post-generate-commands, pre-build-commands, post-build-commands, requirements
选项 |
解释 |
--import-paths |
--data=import-paths --data-list 的简写 |
--string-import-paths |
--data=string-import-paths --data-list 的简写 |
--data=值 |
特定构建配置的值 |
--data-list |
按列配置 |
--data-0 |
按\0 配置,用于xargs -0 |
清理(clean)
选项 |
解释 |
--all-packages |
删除所有已知包 |
dustmite
通过检查编译器/链接器
的错误码和他们的输出来决定期望的错误条件,如果提供--program-status/--program-regex
并要生成二进制,则执行它的结果也将整合至二进制.
选项 |
解释 |
--compiler-status |
编译器状态代码 |
--compiler-regex |
匹配编译器输出正则式 |
--linker-status |
链接器状态码 |
--linker-regex |
匹配链接器输出正则式 |
--program-status |
可执行文件状态码 |
--program-regex |
匹配程序输出正则式 |
--test-package |
运行测试仅在内部使用 |
管理包
fetch
add(remove)
与加依赖至dub.json/dub.sdl
的dependencies
一样.
如无版本
,则找最新的.
更新(upgrade)
更新dub.selections.json
里的直接和间接
依赖.
选项 |
解释 |
--prerelease |
即使有发布版本 ,也用最新的预发布版本, |
--verify |
更新项目并构建,成功的话重写版本 |
--dry-run |
仅打印要更新的,但不更新 |
--missing-only |
仅更新无版本号的依赖,每次构建自动运行 |
加/删路径(add/remove-path)
加/删搜索路径,在此路径及直接子层下搜索包描述
加/删本地(add/remove-local)
加/删本地依赖解析,用于注册本地包,上面是路径(及其子目录),本地是包,只一个目录
转换(convert)
转换格式(sdl/json)
选项 |
详细 |
解释 |
-f |
--format=<值> |
目标格式json,sdl |
-s |
--stdout |
输出至标输出 ,而不是磁盘 |