Skip to content
docsv0.1.0

DependencyResolver

Resolves plugin and Composer dependencies before installation. Checks: - Plugin dependencies (dependencies.plugins in milpa.json) - Composer packages (dependencies.composer in milpa.json) - Contract requirements (contracts.requires)

DependencyResolver::__construct()

public function __construct(string $rootPath):

Parameters

Parameters of __construct()
NameTypeDescription
$rootPathstring

DependencyResolver::resolve()

public function resolve(Milpa\Plugin\PluginManifest $manifest, array $installedPlugins): Milpa\DTO\DependencyResolution

Resolve all dependencies for a plugin to be installed.

Parameters

Parameters of resolve()
NameTypeDescription
$manifestPluginManifestThe plugin to install
$installedPluginsarray<array{name: string, version?: string, provides?: array<string>, requires?: array<string>}>

DependencyResolver::checkComposerDeps()

public function checkComposerDeps(array $requiredPackages): array

Check Composer dependencies against what's currently installed. Reads root composer.lock to check installed versions.

Parameters

Parameters of checkComposerDeps()
NameTypeDescription
$requiredPackagesarray<string, string>Package => constraint

Returns

Packages that need to be installed (package => constraint)