DManager

Class which manages a D checkout and its dependencies.

class DManager : ICacheHost {}

Members

Aliases

MergeMode
alias MergeMode = ManagedRepository.MergeMode
Undocumented in source.
binDir
alias binDir = subDir!"bin"
Undocumented in source.
buildDir
alias buildDir = subDir!"build"
Undocumented in source.
dlDir
alias dlDir = subDir!"dl"
Undocumented in source.
githubDir
alias githubDir = subDir!"github-cache"
Undocumented in source.
homeDir
alias homeDir = subDir!"home"
Undocumented in source.
repoDir
alias repoDir = subDir!"repo"
Undocumented in source.
tmpDir
alias tmpDir = subDir!"tmp"
Undocumented in source.

Classes

Component
class Component

Base class for a D component.

Curl
class Curl

libcurl DLL and import library for Windows.

DMD
class DMD

The dmd executable

DManagerRepository
class DManagerRepository
Undocumented in source.
Druntime
class Druntime

Druntime. Installs only import files, but builds the library too.

Dub
class Dub

The Dub package manager and build tool

Extras
class Extras

Extras not built from source (DigitalMars and third-party tools and libraries)

MetaRepository
class MetaRepository
Undocumented in source.
Phobos
class Phobos

Phobos library and imports.

PhobosIncludes
class PhobosIncludes

Phobos import files. In older versions of D, Druntime depended on Phobos modules.

RDMD
class RDMD

The rdmd build tool by itself. It predates the tools package.

SubmoduleRepository
class SubmoduleRepository
Undocumented in source.
Tools
class Tools

Tools package with all its components, including rdmd.

Website
class Website

Website (dlang.org). Only buildable on POSIX.

Functions

begin
SubmoduleState begin(string commit)

Begin customization, starting at the specified commit.

build
void build(SubmoduleState submoduleState, bool incremental)

Build the specified components according to the specified configuration.

buildRev
void buildRev(string rev)

Shortcut for begin + build

cacheEngineDir
string cacheEngineDir(string engineName)
Undocumented in source. Be warned that the author may not have intended to support it.
callback
void callback(string[] args)
Undocumented in source. Be warned that the author may not have intended to support it.
checkout
void checkout(SubmoduleState submoduleState)

Simply check out the source code for the given submodules.

componentNameFromKey
string componentNameFromKey(string key)
Undocumented in source. Be warned that the author may not have intended to support it.
cp
void cp(string src, string dst)
Undocumented in source. Be warned that the author may not have intended to support it.
getBranch
string[2] getBranch(string submoduleName, string user, string base, string tip)

Returns the commit hash for the given branch (optionally GitHub fork). The result can then be used with addMerge/removeMerge.

getCacheState
bool[string] getCacheState(string[string][string] history)
bool[string] getCacheState(string[] refs)

Returns the isCached state for all commits in the history of the given ref.

getCallbackCommand
string getCallbackCommand()

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.

getComponent
Component getComponent(string name)
Undocumented in source. Be warned that the author may not have intended to support it.
getKeyOrder
string[][] getKeyOrder(string key)
Undocumented in source. Be warned that the author may not have intended to support it.
getLog
LogEntry[] getLog(string refName)

Gets the D merge log (newest first).

getMetaRepo
MetaRepository getMetaRepo()
Undocumented in source. Be warned that the author may not have intended to support it.
getPull
string[2] getPull(string submoduleName, int pullNumber)

Returns the commit hash for the given pull request # (base and tip). The result can then be used with addMerge/removeMerge.

getSubmodule
ManagedRepository getSubmodule(string name)
Undocumented in source. Be warned that the author may not have intended to support it.
getSubmoduleComponents
Component[] getSubmoduleComponents(string submoduleName)
Undocumented in source. Be warned that the author may not have intended to support it.
getVSInstaller
auto getVSInstaller()
Undocumented in source. Be warned that the author may not have intended to support it.
haveEnumerateTLV
bool haveEnumerateTLV()
Undocumented in source. Be warned that the author may not have intended to support it.
isCached
bool isCached(SubmoduleState submoduleState)
Undocumented in source. Be warned that the author may not have intended to support it.
log
void log(string line)

Override to add logging.

merge
void merge(SubmoduleState submoduleState, string submoduleName, string[2] branch, MergeMode mode)

Applies a merge onto the given SubmoduleState.

migrateCache
void migrateCache(string sourceEngineName, string targetEngineName)

Move cached files from one cache engine to another.

needCacheEngine
DCache needCacheEngine()
Undocumented in source. Be warned that the author may not have intended to support it.
needCurl
string needCurl()

Get libcurl for Windows (DLL and import libraries)

needDMC
void needDMC(Environment env, string ver)
Undocumented in source. Be warned that the author may not have intended to support it.
needDMD
void needDMD(Environment env, string dmdVer)

Pull in a built DMD as configured. Note that this function invalidates the current repository state.

needExtras
string needExtras()

Get DMD unbuildable extras (proprietary DigitalMars utilities, 32-bit import libraries)

needGitHub
GitHub needGitHub()
Undocumented in source. Be warned that the author may not have intended to support it.
needKindleGen
void needKindleGen(Environment env)
Undocumented in source. Be warned that the author may not have intended to support it.
needMSYS
void needMSYS(Environment env)
Undocumented in source. Be warned that the author may not have intended to support it.
needVC
void needVC(Environment env, string model)
Undocumented in source. Be warned that the author may not have intended to support it.
needWorkingCC
void needWorkingCC()
Undocumented in source. Be warned that the author may not have intended to support it.
optimizeCache
void optimizeCache()

Optimize entire cache.

parseSpec
SubmoduleState parseSpec(string spec)

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.

purgeUnbuildable
void purgeUnbuildable()

Delete cached "unbuildable" build results.

rebuild
void rebuild()

Rerun build without cleaning up any files.

revert
void revert(SubmoduleState submoduleState, string submoduleName, string[2] branch, MergeMode mode)

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.

shouldPurge
bool shouldPurge(string key)
Undocumented in source. Be warned that the author may not have intended to support it.
test
void test(bool incremental)

Run all tests for the current checkout (like rebuild).

unmerge
void unmerge(SubmoduleState submoduleState, string submoduleName, string[2] branch, MergeMode mode)

Removes a merge from the given SubmoduleState.

update
bool update()

Fetch latest D history. Return true if any updates were fetched.

Manifest constants

cacheVersion
enum cacheVersion;

This number increases with each incompatible change to cached data.

configFileName
enum configFileName;
Undocumented in source.
configFileName
enum configFileName;
Undocumented in source.
unbuildableMarker
enum unbuildableMarker;
Undocumented in source.

Properties

baseEnvironment
Environment baseEnvironment [@property getter]

Create a build environment base.

cacheEngineName
string cacheEngineName [@property getter]
Undocumented in source. Be warned that the author may not have intended to support it.
subDir
string subDir [@property getter]

Get a specific subdirectory of the work directory.

Static functions

applyEnv
string[string] applyEnv(string[string] target, string[string] source)

Apply user modifications onto an environment. Supports Windows-style %VAR% expansions.

disableCrashDialog
void disableCrashDialog()

Disable the "<program> has stopped working" standard Windows dialog.

msvcModelDir
string msvcModelDir(string model, string dir64)
Undocumented in source. Be warned that the author may not have intended to support it.
msvcModelStr
string msvcModelStr(string model, string str32, string str64)
Undocumented in source. Be warned that the author may not have intended to support it.
needConfSwitch
bool needConfSwitch()
Undocumented in source. Be warned that the author may not have intended to support it.

Static variables

additionalComponents
string[] additionalComponents;
Undocumented in source.
allComponents
string[] allComponents;
Undocumented in source.
defaultComponents
string[] defaultComponents;
Undocumented in source.

Structs

Config
struct Config
Undocumented in source.
Environment
struct Environment

Current build environment.

LogEntry
struct LogEntry
Undocumented in source.
SubmoduleState
struct SubmoduleState
Undocumented in source.

Variables

autoClean
bool autoClean;

Automatically re-clone the repository in case "git reset --hard" fails.

binExt
enum string binExt;
Undocumented in source.
binExt
enum string binExt;
Undocumented in source.
cacheEngine
DCache cacheEngine;
Undocumented in source.
cacheFailures
bool cacheFailures;

Whether we should cache failed builds.

config
Config config;

ditto

github
GitHub github;
Undocumented in source.
haveEnumerateTLVChecked
bool haveEnumerateTLVChecked;
haveEnumerateTLVValue
bool haveEnumerateTLVValue;
Undocumented in source.
needWorkingCCChecked
bool needWorkingCCChecked;
Undocumented in source.
verifyWorkTree
bool verifyWorkTree;

Whether to verify working tree state to make sure we don't clobber user changes

Inherited Members

From ICacheHost

getKeyOrder
string[][] getKeyOrder(string key)

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
void log(string s)

Log a string.

Meta