Exemplo n.º 1
0
 /**
  * Show warning if the project name contains the string "php"
  *
  * @param string $projectName
  * @param \Symfony\Component\Console\Output\OutputInterface $output
  *
  * @return void
  */
 private function containsPhpWarning($projectName, $output)
 {
     if ($this->str->contains($projectName, 'php')) {
         $containsPhpWarning = 'Warning: If you are about to create a micro-package "' . $projectName . '" should optimally not contain a "php" notation in the project name.';
         $output->writeln('<error>' . $containsPhpWarning . '</error>');
     }
 }
Exemplo n.º 2
0
 /**
  * Execute command.
  *
  * @param \Symfony\Component\Console\Input\InputInterface   $input
  * @param \Symfony\Component\Console\Output\OutputInterface $output
  *
  * @return void
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $projectName = $input->getArgument('name');
     $testFramework = $input->getOption('test');
     $license = $input->getOption('license');
     $namespace = $input->getOption('namespace');
     $git = $input->getOption('git');
     $phpcs = $input->getOption('phpcs');
     $keywords = $input->getOption('keywords');
     $vagrant = $input->getOption('vagrant');
     $editorConfig = $input->getOption('editor-config');
     if (!$this->str->isValid($projectName)) {
         $output->writeln('<error>Warning: "' . $projectName . '" is not a valid project name, please use "vendor/project"</error>');
         return false;
     }
     if ($this->str->contains($projectName, 'php')) {
         $containsPhpWarning = 'Warning: If you are about to create a micro-package "' . $projectName . '" should optimally not contain a "php" notation in the project name.';
         $output->writeln('<error>' . $containsPhpWarning . '</error>');
     }
     if (!in_array($license, $this->licenses)) {
         $output->writeln('<error>Warning: "' . $license . '" is not a supported license. Using MIT.</error>');
         $license = 'MIT';
     }
     if (!in_array($testFramework, $this->testingFrameworks)) {
         $output->writeln('<error>Warning: "' . $testFramework . '" is not a supported testing framework. Using phpunit.</error>');
         $testFramework = 'phpunit';
     }
     $settings = new Settings($projectName, $testFramework, $license, $namespace, $git, $phpcs, $keywords, $vagrant, $editorConfig);
     $gitHelper = new Git();
     $composerHelper = new Composer();
     $this->construct->generate($settings, $gitHelper, $composerHelper);
     $output->writeln('<info>Project "' . $projectName . '" constructed.</info>');
 }
Exemplo n.º 3
0
 /**
  * Show warning if an invalid php version or
  * a version greater than the one on the system is specified.
  *
  * @param \Symfony\Component\Console\Output\OutputInterface $output
  *
  * @return string
  */
 private function phpVersionWarning($output)
 {
     $phpVersion = $this->settings->getPhpVersion();
     if (!$this->str->phpVersionIsValid($phpVersion)) {
         $output->writeln('<error>Warning: "' . $phpVersion . '" is not a valid php version. Using version ' . $this->systemPhpVersion . '</error>');
         $phpVersion = $this->systemPhpVersion;
     }
     if (version_compare($phpVersion, $this->systemPhpVersion, '>')) {
         $output->writeln('<error>Warning: "' . $phpVersion . '" is greater than your installed php version. Using version ' . $this->systemPhpVersion . '</error>');
         $phpVersion = $this->systemPhpVersion;
     }
     return $phpVersion;
 }