/** * Executes the current command. * * This method is not abstract because you can use this class * as a concrete class. In this case, instead of defining the * execute() method, you set the code to execute by passing * a Closure to the setCode() method. * * @param InputInterface $input An InputInterface instance * @param OutputInterface $output An OutputInterface instance * * @return null|integer null or 0 if everything went fine, or an error code * * @throws \LogicException When this abstract method is not implemented * @see setCode() */ protected function execute(InputInterface $input, OutputInterface $output) { $loggerHelper = new LoggerHelper(); $logger = $loggerHelper->create($input->getOption('debug')); $logger->info('Build started.'); $buildFolder = $input->getOption('output'); $buildGenerator = new BuildGenerator($input->getOption('resources'), $buildFolder); $writerCollectionFactory = new FullCollectionFactory(); $writerCollection = $writerCollectionFactory->createCollection($logger, $buildFolder); $buildGenerator->setLogger($logger)->setCollectionCreator(new CollectionCreator())->setWriterCollection($writerCollection); $buildGenerator->run($input->getArgument('version')); $logger->info('Build done.'); }
/** * Executes the current command. * * This method is not abstract because you can use this class * as a concrete class. In this case, instead of defining the * execute() method, you set the code to execute by passing * a Closure to the setCode() method. * * @param InputInterface $input An InputInterface instance * @param OutputInterface $output An OutputInterface instance * * @throws \LogicException When this abstract method is not implemented * @return null|int null or 0 if everything went fine, or an error code * * @see setCode() */ protected function execute(InputInterface $input, OutputInterface $output) { $leftFilename = $input->getArgument('left'); $rightFilename = $input->getArgument('right'); $debug = $input->getOption('debug'); $loggerHelper = new LoggerHelper(); $logger = $loggerHelper->create($debug); if (!$rightFilename || !file_exists($rightFilename)) { $logger->info('right file not set or invalid - creating right file from resources'); $cacheDir = sys_get_temp_dir() . '/browscap-diff/' . microtime(true) . '/'; $rightFilename = $cacheDir . 'full_php_browscap.ini'; if (!file_exists($cacheDir)) { mkdir($cacheDir, 0777, true); } $buildGenerator = new BuildGenerator($input->getOption('resources'), $cacheDir); $writerCollectionFactory = new FullPhpWriterFactory(); $writerCollection = $writerCollectionFactory->createCollection($logger, $cacheDir); $buildGenerator->setLogger($logger)->setCollectionCreator(new CollectionCreator())->setWriterCollection($writerCollection); $buildGenerator->run($input->getArgument('version'), false); } $generator = new DiffGenerator(); $generator->setLogger($logger)->run($leftFilename, $rightFilename); $logger->info('Diff done.'); }
/** * Executes the current command. * * This method is not abstract because you can use this class * as a concrete class. In this case, instead of defining the * execute() method, you set the code to execute by passing * a Closure to the setCode() method. * * @param InputInterface $input An InputInterface instance * @param OutputInterface $output An OutputInterface instance * * @throws \Exception * @return null|integer null or 0 if everything went fine, or an error code * * @see setCode() */ protected function execute(InputInterface $input, OutputInterface $output) { $inputFile = $input->getArgument('inputFile'); $mode = $input->getOption('mode'); if (!in_array($mode, array(self::MODE_MATCHED, self::MODE_UNMATCHED))) { throw new \Exception('Mode must be "matched" or "unmatched"'); } if (!file_exists($inputFile)) { throw new \Exception('Input File "' . $inputFile . '" does not exist, or cannot access'); } $cacheDir = sys_get_temp_dir() . '/browscap-grep/' . microtime(true) . '/'; if (!file_exists($cacheDir)) { mkdir($cacheDir, 0777, true); } $debug = $input->getOption('debug'); $loggerHelper = new LoggerHelper(); $this->logger = $loggerHelper->create($debug); $iniFile = $input->getArgument('iniFile'); if (!$iniFile || !file_exists($iniFile)) { $this->logger->info('iniFile Argument not set or invalid - creating iniFile from resources'); $iniFile = $cacheDir . 'full_php_browscap.ini'; $buildGenerator = new BuildGenerator($input->getOption('resources'), $cacheDir); $writerCollectionFactory = new FullPhpWriterFactory(); $writerCollection = $writerCollectionFactory->createCollection($this->logger, $cacheDir); $buildGenerator->setLogger($this->logger)->setCollectionCreator(new CollectionCreator())->setWriterCollection($writerCollection); $buildGenerator->run($input->getArgument('version'), false); } $generator = new GrepGenerator(); $browscap = new Browscap($cacheDir); $browscap->localFile = $iniFile; $generator->setLogger($this->logger)->run($browscap, $inputFile, $mode); $this->logger->info('Grep done.'); }
/** * Generate a build for build number specified * * @param string $buildNumber * @param \Composer\IO\IOInterface $io * @param bool $debug */ public static function createBuild($buildNumber, IOInterface $io = null, $debug = false) { $buildFolder = 'build/build-' . $buildNumber . '/'; $resourceFolder = 'vendor/browscap/browscap/resources/'; if (!file_exists($buildFolder)) { if ($io) { $io->write(' - Creating build folder'); } mkdir($buildFolder, 0775, true); } // Create a logger if ($io) { $io->write(' - Setting up logging'); } $loggerHelper = new LoggerHelper(); $logger = $loggerHelper->create($debug); $collectionCreator = new CollectionCreator(); if ($io) { $io->write(' - Creating writer collection'); } $writerCollectionFactory = new FullCollectionFactory(); $writerCollection = $writerCollectionFactory->createCollection($logger, $buildFolder); // Generate the actual browscap.ini files if ($io) { $io->write(' - Creating actual build'); } $buildGenerator = new BuildGenerator($resourceFolder, $buildFolder); $buildGenerator->setLogger($logger); $buildGenerator->setCollectionCreator($collectionCreator); $buildGenerator->setWriterCollection($writerCollection); $buildGenerator->run($buildNumber, false); if ($io) { $io->write(' - Creating cache'); } $iniFile = $buildFolder . 'full_php_browscap.ini'; $cache = new File(array(File::DIR => 'cache/')); $browscap = new Browscap(); $browscap->setCache($cache)->setLogger($logger); $browscap->convertFile($iniFile); }
/** * tests creating a logger instance * * @group helper * @group sourcetest */ public function testCreate() { $helper = new LoggerHelper(); self::assertInstanceOf('\\Monolog\\Logger', $helper->create()); }