/**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $finder = new Finder();
     $iconSet = $this->getContainer()->getParameter('mopa_bootstrap.icons.icon_set');
     $webPath = $this->getContainer()->get('kernel')->getRootDir() . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'web';
     $iconWebPath = $webPath . DIRECTORY_SEPARATOR . "fonts";
     $fs = new Filesystem();
     if (!$fs->exists($iconWebPath)) {
         $fs->mkdir($iconWebPath);
     }
     $composer = ComposerAdapter::getComposer($input, $output);
     $cmanager = new ComposerPathFinder($composer);
     $sourcePackage = $cmanager->findPackage('mopa/bootstrap-bundle');
     $bsbPath = $composer->getInstallationManager()->getInstallPath($sourcePackage);
     $iconSetPath = $bsbPath . DIRECTORY_SEPARATOR . "Resources" . DIRECTORY_SEPARATOR . "public" . DIRECTORY_SEPARATOR . self::$iconSetsPaths[$iconSet];
     $finder->files()->in($iconSetPath);
     foreach ($finder as $file) {
         $fs->copy($file->getRealpath(), $iconWebPath . DIRECTORY_SEPARATOR . $file->getRelativePathname());
     }
     $output->writeln("Font: " . $iconSet . " Installed... <info>OK</info>");
 }
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $this->input = $input;
     $this->output = $output;
     if ($input->getOption('manual')) {
         list($symlinkTarget, $symlinkName) = $this->getBootstrapPathsfromUser();
     } elseif (false !== ($composer = ComposerAdapter::getComposer($input, $output))) {
         $cmanager = new ComposerPathFinder($composer);
         $options = array('targetSuffix' => DIRECTORY_SEPARATOR . "Resources" . DIRECTORY_SEPARATOR . "bootstrap-sass", 'sourcePrefix' => '..' . DIRECTORY_SEPARATOR);
         list($symlinkTarget, $symlinkName) = $cmanager->getSymlinkFromComposer(self::$mopaBootstrapBundleName, self::$twitterBootstrapName, $options);
     } else {
         $this->output->writeln("<error>Could not find composer and manual option not secified!</error>");
         return;
     }
     $this->output->write("Checking Symlink");
     if (false === self::checkSymlink($symlinkTarget, $symlinkName, true)) {
         $this->output->writeln(" ... <comment>not existing</comment>");
         $this->output->writeln("Creating Symlink: " . $symlinkName);
         $this->output->write("for Target: " . $symlinkTarget);
         self::createSymlink($symlinkTarget, $symlinkName);
     }
     $this->output->writeln(" ... <info>OK</info>");
 }
 /**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $this->input = $input;
     $this->output = $output;
     if ($input->getOption('manual')) {
         list($symlinkTarget, $symlinkName) = $this->getBootstrapPathsfromUser();
     } elseif (false !== ($composer = ComposerAdapter::getComposer($input, $output))) {
         $targetPath = $this->getContainer()->getParameter("mopa_bootstrap.bootstrap.install_path");
         $cmanager = new ComposerPathFinder($composer);
         $options = array('targetSuffix' => DIRECTORY_SEPARATOR . $targetPath . static::$targetSuffix, 'sourcePrefix' => '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR);
         list($symlinkTarget, $symlinkName) = $cmanager->getSymlinkFromComposer(self::$mopaBootstrapBundleName, $this->getTwitterBootstrapName(), $options);
     } else {
         $this->output->writeln("<error>Could not find composer and manual option not specified!</error>");
         return;
     }
     // Automatically detect if on Win XP where symlink will allways fail
     if ($input->getOption('no-symlink') or PHP_OS == "WINNT") {
         $this->output->write("Checking destination");
         if (true === self::checkSymlink($symlinkTarget, $symlinkName)) {
             $this->output->writeln(" ... <comment>symlink already existing</comment>");
         } else {
             $this->output->writeln(" ... <comment>not existing</comment>");
             $this->output->writeln("Mirroring from: " . $symlinkName);
             $this->output->write("for Target: " . $symlinkTarget);
             self::createMirror($symlinkTarget, $symlinkName);
         }
     } else {
         $this->output->write("Checking Symlink");
         if (false === self::checkSymlink($symlinkTarget, $symlinkName, true)) {
             $this->output->writeln(" ... <comment>not existing</comment>");
             $this->output->writeln("Creating Symlink: " . $symlinkName);
             $this->output->write("for Target: " . $symlinkTarget);
             self::createSymlink($symlinkTarget, $symlinkName);
         }
     }
     $this->output->writeln(" ... <info>OK</info>");
 }