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
- --d-version=VALUE
- Define the specified `version` identifier when building - can be used multiple times. Use sparingly, with great power comes great responsibility! For commonly used or combined versions and versions that dependees should be able to use, create configurations in your package.
- --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-2024 by The D Language Foundation
ONLINE DOCUMENTATION
http://code.dlang.org/docs/commandline
SEE ALSO
Created: September 1, 2023