protected function mergeFile(RootPackageInterface $root, $path)
    {
        if (isset($this->loaded[$path]) ||
            (isset($this->loadedNoDev[$path]) && !$this->state->isDevMode())
        ) {
            $this->logger->debug(
                "Already merged <comment>$path</comment> completely"
            );
            return;
        }

        $package = new ExtraPackage($path, $this->composer, $this->logger);

        if (isset($this->loadedNoDev[$path])) {
            $this->logger->info(
                "Loading -dev sections of <comment>{$path}</comment>..."
            );
            $package->mergeDevInto($root, $this->state);
        } else {
            $this->logger->info("Loading <comment>{$path}</comment>...");
            $package->mergeInto($root, $this->state);
        }

        if ($this->state->isDevMode()) {
            $this->loaded[$path] = true;
        } else {
            $this->loadedNoDev[$path] = true;
        }

        if ($this->state->recurseIncludes()) {
            $this->mergeFiles($package->getIncludes(), false);
            $this->mergeFiles($package->getRequires(), true);
        }
    }
protected function mergeFile(RootPackageInterface $root, $path)
    {
        if (isset($this->loaded[$path]) ||
            (isset($this->loadedNoDev[$path]) && !$this->state->isDevMode())
        ) {
            $this->logger->debug(
                "Already merged <comment>$path</comment> completely"
            );
            return;
        }

        $package = new ExtraPackage($path, $this->composer, $this->logger);

        if (isset($this->loadedNoDev[$path])) {
            $this->logger->info(
                "Loading -dev sections of <comment>{$path}</comment>..."
            );
            $package->mergeDevInto($root, $this->state);
        } else {
            $this->logger->info("Loading <comment>{$path}</comment>...");
            $package->mergeInto($root, $this->state);
        }

        if ($this->state->isDevMode()) {
            $this->loaded[$path] = true;
        } else {
            $this->loadedNoDev[$path] = true;
        }

        if ($this->state->recurseIncludes()) {
            $this->mergeFiles($package->getIncludes(), false);
            $this->mergeFiles($package->getRequires(), true);
        }
    }
protected function mergeFile ( RootPackageInterface $ root , $ path ) { if ( isset ( $ this -> loaded [ $ path ] ) || ( isset ( $ this -> loadedNoDev [ $ path ] ) && ! $ this -> state -> isDevMode ( ) ) ) { $ this -> logger -> debug ( "Already merged <comment>$path</comment> completely" ) ; return ; } $ package = new ExtraPackage ( $ path , $ this -> composer , $ this -> logger ) ; if ( isset ( $ this -> loadedNoDev [ $ path ] ) ) { $ this -> logger -> info ( "Loading -dev sections of <comment>{$path}</comment>..." ) ; $ package -> mergeDevInto ( $ root , $ this -> state ) ; } else { $ this -> logger -> info ( "Loading <comment>{$path}</comment>..." ) ; $ package -> mergeInto ( $ root , $ this -> state ) ; } if ( $ this -> state -> isDevMode ( ) ) { $ this -> loaded [ $ path ] = true ; } else { $ this -> loadedNoDev [ $ path ] = true ; } if ( $ this -> state -> recurseIncludes ( ) ) { $ this -> mergeFiles ( $ package -> getIncludes ( ) , false ) ; $ this -> mergeFiles ( $ package -> getRequires ( ) , true ) ; } }
Read a JSON file and merge its contents

@param RootPackageInterface $root
@param string $path
Read a JSON file and merge its contents