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 | 输出至标输出 ,而不是磁盘 |