gendoc.modmgr
D's Module manager
Provides data structures and helper functions to manage
module paths, package names, and which dub package they belong to.
- struct
ModInfo; - Source file (D's module) information
- string
src; - Source file with relative path from source root path, or absolute path as external files.
- string
dst; - Distination file with relative path from target.
- string
dubPkgName; - Dub package name
- string
pkgName; - (D's) Package name (eg.
hoge/fuga/piyo.d->hoge.fuga) - string
modName; - Module name (
hoge/fuga/piyo.d->piyo) - string
title; - Title of moduleFirst line of documented module comment. Note that it is NOT strictly same from the DDoc's Sammery section.
- const @property @safe string
fullModuleName(); - Concatinated package and module name (eg.
hoge/fuga/piyo.d->hoge.fuga.piyo) - @safe this(string srcFile);
- Constructor
- struct
PkgInfo; - Source file (D's package) information
- string
name; nameof package (eg.hoge/fuga/piyo.d->fuga)- string
dubPkgName; - dub package name
- string
pkgName; - full package name (eg.
hoge/fuga/piyo.d->hoge.fuga) - ModInfo
packageD; - package.d module information if exists.
ModInfo - ModInfo[]
modules; - module informations of package children.
ModInfo - PkgInfo[]
packages; - package informations of package children.
- const nothrow @nogc @property @safe bool
hasPackageD(); trueif package.d module exists- const @property @safe PkgInfo
dup(); - Duplicate
- @safe void
append(in PkgInfo[] pkgInfos);
@safe voidappend(in ref PkgInfo pkgInfo);
@safe voidappend(in ModInfo[] modInfos); - Append other package information to this information
- @safe void
append(in ref ModInfo modInfo);
- struct
PackageAndModuleData; -
- @safe this(ref return scope ModInfo modInfo);
- @safe this(ref return scope PkgInfo d);
- const @safe this(ref return scope const ModInfo modInfo);
- const @safe this(ref return scope const PkgInfo d);
- const @property @safe string
name(); - const @property @safe bool
isPackage(); - const @property @safe bool
isModule(); - const @property @safe bool
isPackageModule(); - inout @property ref @safe inout(PkgInfo)
packageInfo(); - inout @property ref @safe inout(ModInfo)
moduleInfo(); - inout @property @trusted inout(PackageAndModuleData)[]
children();
- struct
PackageAndModuleRange; -
- this(PackageAndModuleData[] pkgs);
- this(PkgInfo[] pkgs);
const @safe this(ref return scope const PkgInfo[] pkgs); - inout @property inout(PackageAndModuleData)
front(); - void
popFront(); - const @property bool
empty();
- struct
DubPkgInfo; -
- string
name; - string
packageVersion; - PkgInfo
root; - string
dir; - string[]
options; - @safe this(string dubPkgName, string ver, string rootDir, string[] opts);
- const @property @safe DubPkgInfo
dup(); - Duplicate
- @trusted PackageAndModuleRange
entries();
const @trusted const(PackageAndModuleRange)entries(); - @trusted PackageAndModuleData[]
children(); - const @trusted const(PackageAndModuleData)[]
children();
- @safe void
moduleSort(ref PackageAndModuleData[] datas); - @trusted void
moduleSort(ref const(PackageAndModuleData)[] datas); - struct
ModuleManager; -
- @safe void
addSources(string dubPkgName, string pkgVer, string root, in string[] files, in string[] options); - const @safe bool
hasPackage(string dubPkgName); - inout ref @safe inout(PkgInfo)
getPackageInfo(string dubPkgName); - inout ref @safe inout(DubPkgInfo)
getDubPackageInfo(string dubPkgName); - @safe void
clearSources(); - @property @safe void
target(string dstDir); - void
exclude(in string[] packages, in string[] packagePatterns, in string[] paths, in string[] patterns);