/** * Generate phpspec file/settings. * * @return void */ protected function phpspec() { $this->testingVersion = '~2.0'; $file = $this->file->get(__DIR__ . '/stubs/phpspec.stub'); $content = str_replace('{namespace}', $this->createNamespace(), $file); $this->file->put($this->projectLower . '/' . 'phpspec.yml', $content); $this->exportIgnores[] = 'phpspec.yml'; }
/** * Generate phpspec config file, create a specs directory and * add package to development requirements. * * @return void */ protected function phpspec() { $this->developmentRequirements[] = 'phpspec/phpspec'; $file = $this->file->get(__DIR__ . '/stubs/phpspec.stub'); $content = str_replace('{namespace}', $this->createNamespace(), $file); $this->file->makeDirectory($this->projectLower . '/specs'); $this->exportIgnores[] = 'specs/'; $this->file->put($this->projectLower . '/' . 'phpspec.yml.dist', $content); $this->exportIgnores[] = 'phpspec.yml.dist'; $this->gitIgnores[] = 'phpspec.yml'; }
/** * Get settings derived from the configuration file. * * @param string $configurationFile Path to the configuration file. * @param string $projectName Name of the project. * @param string $keywords Composer keywords. * @param \JonathanTorres\Construct\Helpers\Filesystem $filesystemHelper * * @return \JonathanTorres\Construct\Settings */ public static function getSettings($configurationFile, $projectName, $keywords, $filesystemHelper) { if (!$filesystemHelper->isFile($configurationFile)) { $exceptionMessage = "Configuration file '{$configurationFile}' is not existent."; throw new \RuntimeException($exceptionMessage); } if (!$filesystemHelper->isReadable($configurationFile)) { $exceptionMessage = "Configuration file '{$configurationFile}' is not readable."; throw new \RuntimeException($exceptionMessage); } $configuration = Yaml::parse($filesystemHelper->get($configurationFile)); $defaults = new Defaults(); if (isset($configuration['construct-with'])) { $configuration['construct-with'] = array_flip($configuration['construct-with']); } if (isset($configuration['construct-with']['github'])) { $configuration['construct-with']['github-templates'] = true; $configuration['construct-with']['github-docs'] = true; } return new Settings($projectName, isset($configuration['test-framework']) ? $configuration['test-framework'] : $defaults->testingFrameworks[0], isset($configuration['license']) ? $configuration['license'] : $defaults->licenses[0], isset($configuration['namespace']) ? $configuration['namespace'] : null, isset($configuration['construct-with']['git']) ? true : false, isset($configuration['construct-with']['phpcs']) ? true : false, $keywords, isset($configuration['construct-with']['vagrant']) ? true : false, isset($configuration['construct-with']['editor-config']) ? true : false, isset($configuration['php']) ? (string) $configuration['php'] : PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION, isset($configuration['construct-with']['env']) ? true : false, isset($configuration['construct-with']['lgtm']) ? true : false, isset($configuration['construct-with']['github-templates']) ? true : false, isset($configuration['construct-with']['code-of-conduct']) ? true : false, isset($configuration['construct-with']['github-docs']) ? true : false); }