Represents a full project, a root package with its dependencies and package selection.
All dependencies must be available locally so that the package dependency graph can be built. Use Project.reinit if necessary for reloading dependencies after more packages are available.
Loads a project.
Fills dst with values from this project.
Fills dst with build settings specific to the given build type.
Outputs a build description of the project, including its dependencies.
Returns the name of the default build configuration for the specified target platform.
Retrieves a particular dependency by name.
Returns a map with the configuration for all packages in the dependency tree.
Allows iteration of the dependency tree in topological order
Returns the currently cached upgrade information.
Determines if all dependencies necessary to build have been collected.
Checks if the cached upgrade information is still considered up to date.
Outputs requested data for the project, optionally including its dependencies.
Overrides the configuration chosen for a particular package in the dependency graph.
Saves the currently selected dependency versions to disk.
Sets a new set of versions for the upgrade cache.
Performs basic validation of various aspects of the package.
Returns the names of all configurations of the root package.
List of all resolved dependencies.
Returns the name of the root package.
Package manager instance used by the project.
The root package of the project.
The versions to use for all dependencies. Call reinit() after changing these.