public function mergeExtra(RootPackageInterface $root, PluginState $state)
    {
        $extra = $this->package->getExtra();
        unset($extra['merge-plugin']);
        if (!$state->shouldMergeExtra() || empty($extra)) {
            return;
        }

        $rootExtra = $root->getExtra();
        $unwrapped = self::unwrapIfNeeded($root, 'setExtra');

        if ($state->replaceDuplicateLinks()) {
            $unwrapped->setExtra(
                self::mergeExtraArray($state->shouldMergeExtraDeep(), $rootExtra, $extra)
            );
        } else {
            if (!$state->shouldMergeExtraDeep()) {
                foreach (array_intersect(
                    array_keys($extra),
                    array_keys($rootExtra)
                ) as $key) {
                    $this->logger->info(
                        "Ignoring duplicate <comment>{$key}</comment> in ".
                        "<comment>{$this->path}</comment> extra config."
                    );
                }
            }
            $unwrapped->setExtra(
                self::mergeExtraArray($state->shouldMergeExtraDeep(), $extra, $rootExtra)
            );
        }
    }
public function mergeExtra(RootPackageInterface $root, PluginState $state)
    {
        $extra = $this->package->getExtra();
        unset($extra['merge-plugin']);
        if (!$state->shouldMergeExtra() || empty($extra)) {
            return;
        }

        $rootExtra = $root->getExtra();
        $unwrapped = self::unwrapIfNeeded($root, 'setExtra');

        if ($state->replaceDuplicateLinks()) {
            $unwrapped->setExtra(
                self::mergeExtraArray($state->shouldMergeExtraDeep(), $rootExtra, $extra)
            );
        } else {
            if (!$state->shouldMergeExtraDeep()) {
                foreach (array_intersect(
                    array_keys($extra),
                    array_keys($rootExtra)
                ) as $key) {
                    $this->logger->info(
                        "Ignoring duplicate <comment>{$key}</comment> in ".
                        "<comment>{$this->path}</comment> extra config."
                    );
                }
            }
            $unwrapped->setExtra(
                self::mergeExtraArray($state->shouldMergeExtraDeep(), $extra, $rootExtra)
            );
        }
    }
public function mergeExtra ( RootPackageInterface $ root , PluginState $ state ) { $ extra = $ this -> package -> getExtra ( ) ; unset ( $ extra [ 'merge-plugin' ] ) ; if ( ! $ state -> shouldMergeExtra ( ) || empty ( $ extra ) ) { return ; } $ rootExtra = $ root -> getExtra ( ) ; $ unwrapped = self :: unwrapIfNeeded ( $ root , 'setExtra' ) ; if ( $ state -> replaceDuplicateLinks ( ) ) { $ unwrapped -> setExtra ( self :: mergeExtraArray ( $ state -> shouldMergeExtraDeep ( ) , $ rootExtra , $ extra ) ) ; } else { if ( ! $ state -> shouldMergeExtraDeep ( ) ) { foreach ( array_intersect ( array_keys ( $ extra ) , array_keys ( $ rootExtra ) ) as $ key ) { $ this -> logger -> info ( "Ignoring duplicate <comment>{$key}</comment> in " . "<comment>{$this->path}</comment> extra config." ) ; } } $ unwrapped -> setExtra ( self :: mergeExtraArray ( $ state -> shouldMergeExtraDeep ( ) , $ extra , $ rootExtra ) ) ; } }
Merge extra config into a RootPackageInterface

@param RootPackageInterface $root
@param PluginState $state
Merge extra config into a RootPackageInterface