PackageOrderResolver
class PackageOrderResolver (View source)
A simple package dependency order solver. Just sorts by simple dependencies, does no checking or versions.
Properties
protected array | $manifestData | ||
protected array | $packageStates | ||
protected array | $sortedPackages | ||
protected array | $unsortedPackages | Array with state information of still unsorted packages. |
Methods
No description
Sorts the packages and returns the sorted packages array
Recursively sort dependencies of a package. This is a depth-first approach that recursively adds all dependent packages to the sorted list before adding the given package. Visited packages are flagged to break up cyclic dependencies.
Tries to sort packages from the given list before the named package key.
Check whether the given package requirement (like "neos/flow" or "php") is a composer package or not
Details
__construct(array $packages, array $manifestData)
No description
array
sort()
Sorts the packages and returns the sorted packages array
protected bool
sortPackage(string $packageKey)
Recursively sort dependencies of a package. This is a depth-first approach that recursively adds all dependent packages to the sorted list before adding the given package. Visited packages are flagged to break up cyclic dependencies.
protected int
sortListBefore(string $packageKey, array $packagesToLoadBefore)
Tries to sort packages from the given list before the named package key.
Ignores non existing packages and any composer key without "/" (eg. "php").
protected bool
packageRequirementIsComposerPackage(string $requirement)
Check whether the given package requirement (like "neos/flow" or "php") is a composer package or not