setDefinition([ new InputArgument('env', InputArgument::REQUIRED, 'Environment name'), ]); } public function getDescription() { return 'Generates empty environment config'; } public function execute(InputInterface $input, OutputInterface $output) { $conf = $this->getGlobalConfig(); if (!Configuration::envsDir()) { throw new ConfigurationException( "Path for environments configuration is not set.\n" . "Please specify envs path in your `codeception.yml`\n \n" . "envs: tests/_envs" ); } $relativePath = $conf['paths']['envs']; $env = $input->getArgument('env'); $file = "$env.yml"; $path = $this->createDirectoryFor($relativePath, $file); $saved = $this->createFile($path . $file, "# `$env` environment config goes here"); if ($saved) { $output->writeln("$env config was created in $relativePath/$file"); } else { $output->writeln("File $relativePath/$file already exists"); } } }