- Package
- A locally available version of a dub package, consisting of sources, binaries, and described by it's dub.sdl/json file.
- PackageSupplier
- A source to search and fetch package versions (zip bundles) from.
- PackageManager
- Responsible to manage packages (fetched or add-local packages), and overrides.
- PackageRecipe
- Abstract description of package sources, targets, configurations, and build settings.
- Generator
- Responsible for generating a build recipe (e.g. CMakeLists.txt, VS .sln) for a package, config, and build type. Direct builds (dmd, rdmd) are also implemented as generators.
- PackageDependency
- Unresolved, abstract specification of a dependency, e.g.
dependency "vibe-d" version="~>0.8.1"
. - DependencyResolver
- Algorithm to resolve package dependencies to specific package versions (dub.selections.json), searching available package versions in package suppliers.
- Target
- A build output like a static library or executable.
- BuildCache
- Caches targets for a specific build id.