dub-describe - Man Page

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=<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,  --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.

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-2023 by The D Language Foundation

Online Documentation

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

See Also

dub(1), dub-gemerate(1)

Referenced By

dub(1).

2023-03-23 The D Language Foundation