Skip to content

dub-describe(1)

dub-describe - Prints a JSON description of the project and its dependencies

SYNOPSIS

dub describe [<package>[@<version-spec>]] OPTIONS...

DESCRIPTION

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, pre-run-commands, post-run-commands, requirements

OPTIONS

-b, --build=VALUE
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, plain, release, release-debug, release-nobounds, unittest, profile, profile-gc, docs, ddox, cov, cov-ctfe, unittest-cov, unittest-cov-ctfe, syntax and custom types
-c, --config=VALUE
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=/
--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, --arch=VALUE
Force a different architecture (e.g. x86 or x86_64)
-d, --debug=VALUE
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.

COMMON OPTIONS

See dub(1)

EXIT STATUS

0
DUB succeeded
1
usage errors, unknown command line flags
2
package not found, package failed to load, miscellaneous error

FILES

dub.sdl, dub.json

AUTHOR

Copyright (c) 1999-2022 by The D Language Foundation

ONLINE DOCUMENTATION

http://code.dlang.org/docs/commandline

SEE ALSO

dub(1), dub-generate(1)


Last update: August 5, 2022
Created: August 5, 2022