protected function rebuild(InputInterface $input, OutputInterface $output)
    {
        $puli = new Puli(Path::join([getcwd(), NANBANDO_DIR]));
        $puli->start();

        /** @var EmbeddedComposerInterface $embeddedComposer */
        $embeddedComposer = $this->getApplication()->getEmbeddedComposer();

        $packageManager = $puli->getPackageManager();
        $io = new ConsoleIO($input, $output, $this->getApplication()->getHelperSet());
        $composer = $embeddedComposer->createComposer($io);
        $installationManager = $composer->getInstallationManager();
        $rootPackage = $composer->getPackage();

        $repository = $composer->getRepositoryManager()->getLocalRepository();
        $packages = [];
        foreach ($repository->getPackages() as $package) {
            $packages[$package->getName()] = $package;
        }

        foreach ($rootPackage->getRequires() as $require) {
            if (!array_key_exists($require->getTarget(), $packages)) {
                continue;
            }

            $packageManager->installPackage(
                Path::normalize($installationManager->getInstallPath($packages[$require->getTarget()])),
                $require->getTarget(),
                'nanbando'
            );
        }

        $filesystem = new Filesystem();
        $filesystem->remove(Path::join([getcwd(), NANBANDO_DIR, '.puli']));

        $discoveryManager = $puli->getDiscoveryManager();
        if (!$discoveryManager->hasRootTypeDescriptor('nanbando/bundle')) {
            $discoveryManager->addRootTypeDescriptor(new BindingTypeDescriptor(new BindingType('nanbando/bundle')), 0);
        }

        $discoveryManager->clearDiscovery();
        $discoveryManager->buildDiscovery();

        $filesystem = new Filesystem();
        $filesystem->remove(Path::join([getcwd(), NANBANDO_DIR, 'app', 'cache']));
    }
protected function rebuild(InputInterface $input, OutputInterface $output)
    {
        $puli = new Puli(Path::join([getcwd(), NANBANDO_DIR]));
        $puli->start();

        /** @var EmbeddedComposerInterface $embeddedComposer */
        $embeddedComposer = $this->getApplication()->getEmbeddedComposer();

        $packageManager = $puli->getPackageManager();
        $io = new ConsoleIO($input, $output, $this->getApplication()->getHelperSet());
        $composer = $embeddedComposer->createComposer($io);
        $installationManager = $composer->getInstallationManager();
        $rootPackage = $composer->getPackage();

        $repository = $composer->getRepositoryManager()->getLocalRepository();
        $packages = [];
        foreach ($repository->getPackages() as $package) {
            $packages[$package->getName()] = $package;
        }

        foreach ($rootPackage->getRequires() as $require) {
            if (!array_key_exists($require->getTarget(), $packages)) {
                continue;
            }

            $packageManager->installPackage(
                Path::normalize($installationManager->getInstallPath($packages[$require->getTarget()])),
                $require->getTarget(),
                'nanbando'
            );
        }

        $filesystem = new Filesystem();
        $filesystem->remove(Path::join([getcwd(), NANBANDO_DIR, '.puli']));

        $discoveryManager = $puli->getDiscoveryManager();
        if (!$discoveryManager->hasRootTypeDescriptor('nanbando/bundle')) {
            $discoveryManager->addRootTypeDescriptor(new BindingTypeDescriptor(new BindingType('nanbando/bundle')), 0);
        }

        $discoveryManager->clearDiscovery();
        $discoveryManager->buildDiscovery();

        $filesystem = new Filesystem();
        $filesystem->remove(Path::join([getcwd(), NANBANDO_DIR, 'app', 'cache']));
    }
protected function rebuild ( InputInterface $ input , OutputInterface $ output ) { $ puli = new Puli ( Path :: join ( [ getcwd ( ) , NANBANDO_DIR ] ) ) ; $ puli -> start ( ) ; /** @var EmbeddedComposerInterface $embeddedComposer */ $ embeddedComposer = $ this -> getApplication ( ) -> getEmbeddedComposer ( ) ; $ packageManager = $ puli -> getPackageManager ( ) ; $ io = new ConsoleIO ( $ input , $ output , $ this -> getApplication ( ) -> getHelperSet ( ) ) ; $ composer = $ embeddedComposer -> createComposer ( $ io ) ; $ installationManager = $ composer -> getInstallationManager ( ) ; $ rootPackage = $ composer -> getPackage ( ) ; $ repository = $ composer -> getRepositoryManager ( ) -> getLocalRepository ( ) ; $ packages = [ ] ; foreach ( $ repository -> getPackages ( ) as $ package ) { $ packages [ $ package -> getName ( ) ] = $ package ; } foreach ( $ rootPackage -> getRequires ( ) as $ require ) { if ( ! array_key_exists ( $ require -> getTarget ( ) , $ packages ) ) { continue ; } $ packageManager -> installPackage ( Path :: normalize ( $ installationManager -> getInstallPath ( $ packages [ $ require -> getTarget ( ) ] ) ) , $ require -> getTarget ( ) , 'nanbando' ) ; } $ filesystem = new Filesystem ( ) ; $ filesystem -> remove ( Path :: join ( [ getcwd ( ) , NANBANDO_DIR , '.puli' ] ) ) ; $ discoveryManager = $ puli -> getDiscoveryManager ( ) ; if ( ! $ discoveryManager -> hasRootTypeDescriptor ( 'nanbando/bundle' ) ) { $ discoveryManager -> addRootTypeDescriptor ( new BindingTypeDescriptor ( new BindingType ( 'nanbando/bundle' ) ) , 0 ) ; } $ discoveryManager -> clearDiscovery ( ) ; $ discoveryManager -> buildDiscovery ( ) ; $ filesystem = new Filesystem ( ) ; $ filesystem -> remove ( Path :: join ( [ getcwd ( ) , NANBANDO_DIR , 'app' , 'cache' ] ) ) ; }
Rebuild the puli dependencies for symfony container.
Rebuild the puli dependencies for symfony container .