OpenTAP 9.25
API Reference
Public Member Functions | Public Attributes | Properties | List of all members
OpenTap.Package.PackageDependencyGraph Class Reference

This graph describes every version of every package in a memory-efficient way. Each unique name version and version specifier is represented by one value, connections between them are some dictionaries. The graph can be merged from multiple different sources - both file repositories and http repositories, but the source of each becomes lost when building the graph. When the source is needed a new lookup will be needed from a different place, this code is not really concerned with that. More...

Public Member Functions

void LoadFromJson (JsonElement packages)
 This is only used in unittests. It works for respones from the 3.1/query API, but not the 4.0/query API.
 
IEnumerable< PackageDefPackageSpecifiers ()
 Turn all the data back into PackageDefs, note that these PackageDefs are severly limited and should only be used for testing or for building another graph. More...
 
IEnumerable< PackageSpecifierGetDependencies (string pkgName, SemanticVersion version)
 Gets the dependencies for a specific package version.
 
void Absorb (PackageDependencyGraph graph)
 Absorbs another package dependency graph into the structure.
 

Public Attributes

Action< string, string > UpdatePrerelease
 Callback for when additional packages are needed. For example if only release packages of one specific package name has been defined, this can be called to extend with e.g beta packages.
 

Properties

int Count [get]
 The total number of packages contained in this graph.
 

Detailed Description

This graph describes every version of every package in a memory-efficient way. Each unique name version and version specifier is represented by one value, connections between them are some dictionaries. The graph can be merged from multiple different sources - both file repositories and http repositories, but the source of each becomes lost when building the graph. When the source is needed a new lookup will be needed from a different place, this code is not really concerned with that.

Member Function Documentation

◆ PackageSpecifiers()

IEnumerable< PackageDef > OpenTap.Package.PackageDependencyGraph.PackageSpecifiers ( )
inline

Turn all the data back into PackageDefs, note that these PackageDefs are severly limited and should only be used for testing or for building another graph.

Returns

OpenTAP 9.25 API built Tue Aug 6 2024 07:49:25