Base class for a D component.
libcurl DLL and import library for Windows.
Stub for the installer repository, which is needed by the dlang.org makefiles.
The dmd executable
Base class for a DManager Git repository.
Druntime. Installs only import files, but builds the library too.
The Dub package manager and build tool
Extras not built from source (DigitalMars and third-party tools and libraries)
The meta-repository, which contains the sub-project submodules.
Phobos library and imports.
Phobos import files. In older versions of D, Druntime depended on Phobos modules.
The rdmd build tool by itself. It predates the tools package.
Sub-project repositories.
Tools package with all its components, including rdmd.
Website (dlang.org). Only buildable on POSIX.
Begin customization, starting at the specified commit.
Build the specified components according to the specified configuration.
Shortcut for begin + build
Returns the path to cached data for the given cache engine (as in config.local.cache).
Simply check out the source code for the given submodules.
Returns the commit hash for the given branch (optionally GitHub fork). The result can then be used with addMerge/removeMerge.
Returns the isCached state for all commits in the history of the given ref.
Override this method with one which returns a command, which will invoke the unmergeRebaseEdit function below, passing to it any additional parameters. Note: Currently unused. Was previously used for unmerging things using interactive rebase.
Retrieve a component by name (as it would occur in config.build.components.enable).
Gets the D merge log (newest first).
Returns the commit hash for the given pull request # (base and tip). The result can then be used with addMerge/removeMerge.
Retrieve components built from the given submodule name.
Check if the given build is cached.
Override to add logging.
Applies a merge onto the given SubmoduleState.
Move cached files from one cache engine to another.
Get libcurl for Windows (DLL and import libraries)
Pull in a built DMD as configured. Note that this function invalidates the current repository state.
Get DMD unbuildable extras (proprietary DigitalMars utilities, 32-bit import libraries)
Optimize entire cache.
Bootstrap description resolution. See DMD.Config.Bootstrap.spec. This is essentially a hack to allow the entire Config structure to be parsed from an .ini file.
Delete cached "unbuildable" build results.
Rerun build without cleaning up any files.
Reverts a commit from the given SubmoduleState. parent is the 1-based mainline index (as per man git-revert), or 0 if commit is not a merge commit.
Run all tests for the current checkout (like rebuild).
Removes a merge from the given SubmoduleState.
Fetch latest D history. Return true if any updates were fetched.
This number increases with each incompatible change to cached data.
Unbuildable versions are saved in the cache as a single empty file with this name.
Create a build environment base.
Returns the name of the cache engine being used.
Get a specific subdirectory of the work directory.
Apply user modifications onto an environment. Supports Windows-style %VAR% expansions.
Disable the "<program> has stopped working" standard Windows dialog.
Do we need to explicitly specify a -conf= switch to DMD This is true when there exists a configuration file in the home directory.
Components disabled by default.
All components that may be enabled and built.
Components enabled by default.
DManager configuration.
Current build environment.
Gets the D merge log (newest first).
Indicates the state of a build customization.
Automatically re-clone the repository in case "git reset --hard" fails.
Executable file name suffix for the current platform.
Whether we should cache failed builds.
DManager configuration.
Whether to verify working tree state to make sure we don't clobber user changes
An optimization helper which provides a linear order in which keys should be optimized (cache entries most likely to have common data should be adjacent in the list).
Log a string.
Class which manages a D checkout and its dependencies.