dub - Package and build management system for D
dub describe
[<package>[@<version-spec>]] OPTIONS...
Prints a JSON build description for the root package an all of
their dependencies in a format similar to a JSON package description file.
This is useful mostly for IDEs.
All usual options that are also used for build/run/generate
apply.
When --data=VALUE is supplied, specific build settings for a
project will be printed instead (by default, formatted for the current
compiler).
The --data=VALUE option can be specified multiple times to
retrieve several pieces of information at once. A comma-separated list is
also acceptable (ex: --data=dflags,libs). The data will be output in the
same order requested on the command line.
The accepted values for --data=VALUE are:
main-source-file, dflags, lflags, libs, linker-files,
source-files, versions, debug-versions, import-paths, string-import-paths,
import-files, options
The following are also accepted by --data if --data-list is
used:
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
- -b,
- Specifies the type of build to perform. Note that setting the DFLAGS
environment variable will override the build type with custom flags.
Possible names:
debug (default), plain, release, release-debug, release-nobounds, unittest,
profile, profile-gc, docs, ddox, cov, unittest-cov, syntax and custom
types
- -c,
- Builds the specified configuration. Configurations can be defined in
dub.json
- --override-config=VALUE
- Uses the specified configuration for a certain dependency. Can be
specified multiple times. Format:
--override-config=<dependency>/<config>
- --compiler=VALUE
- Specifies the compiler binary to use (can be a path). Arbitrary pre- and
suffixes to the identifiers below are recognized (e.g. ldc2 or dmd-2.063)
and matched to the proper compiler type:
dmd, gdc, ldc, gdmd, ldmd
- -a,
- Force a different architecture (e.g. x86 or x86_64)
- -d,
- Define the specified debug version identifier when building - can be used
multiple times
- --nodeps
- Do not resolve missing dependencies before building
- --build-mode=VALUE
- Specifies the way the compiler and linker are invoked. Valid values:
separate (default), allAtOnce, singleFile
- --single
- Treats the package name as a filename. The file must contain a package
recipe comment.
- --force-remove
- Deprecated option that does nothing.
- --filter-versions
- [Experimental] Filter version identifiers and debug version identifiers to
improve build cache efficiency.
- --import-paths
- Shortcut for --data=import-paths --data-list
- --string-import-paths
- Shortcut for --data=string-import-paths --data-list
- --data=VALUE
- Just list the values of a particular build setting, either for this
package alone or recursively including all dependencies. Accepts a
comma-separated list. See above for more details and accepted
possibilities for VALUE.
- --data-list
- Output --data information in list format (line-by-line), instead of
formatting for a compiler command line.
- --data-0
- Output --data information using null-delimiters, rather than spaces or
newlines. Result is usable with, ex., xargs -0.
Copyright (c) 1999-2022 by The D Language Foundation