Base class for a D component.
libcurl DLL and import library for Windows.
The dmd executable
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)
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.
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
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.
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.
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.
Create a build environment base.
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.
Current build environment.
Automatically re-clone the repository in case "git reset --hard" fails.
Whether we should cache failed builds.
ditto
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.