/** * Handle an event callback for pre-dependency solving phase of an install * or update by adding any duplicate package dependencies found during * initial merge processing to the request that will be processed by the * dependency solver. * * @param InstallerEvent $event */ public function onDependencySolve(InstallerEvent $event) { $request = $event->getRequest(); foreach ($this->state->getDuplicateLinks('require') as $link) { $this->logger->info("Adding dependency <comment>{$link}</comment>"); $request->install($link->getTarget(), $link->getConstraint()); } if ($this->state->isDevMode()) { foreach ($this->state->getDuplicateLinks('require-dev') as $link) { $this->logger->info("Adding dev dependency <comment>{$link}</comment>"); $request->install($link->getTarget(), $link->getConstraint()); } } }
/** * Handle an event callback for pre-dependency solving phase of an install * or update by adding any duplicate package dependencies found during * initial merge processing to the request that will be processed by the * dependency solver. * * @param InstallerEvent $event */ public function onDependencySolve(InstallerEvent $event) { $request = $event->getRequest(); foreach ($this->state->getDuplicateLinks('require') as $link) { $this->logger->info("Adding dependency <comment>{$link}</comment>"); $request->install($link->getTarget(), $link->getConstraint()); } // Issue #113: Check devMode of event rather than our global state. // Composer fires the PRE_DEPENDENCIES_SOLVING event twice for // `--no-dev` operations to decide which packages are dev only // requirements. if ($this->state->shouldMergeDev() && $event->isDevMode()) { foreach ($this->state->getDuplicateLinks('require-dev') as $link) { $this->logger->info("Adding dev dependency <comment>{$link}</comment>"); $request->install($link->getTarget(), $link->getConstraint()); } } }