public function generate()
    {
        $this->dirctoryName = $this->getPluginDir($this->name);

        $pluginDir = $this->targetDir.'/'.$this->dirctoryName;

        if (file_exists($pluginDir)) {
            throw new \RuntimeException(sprintf('Unable to generate the plugin as the plugin directory "%s" exists.', $pluginDir));
        }

        $model = [
            'name' => $this->name,
            'classname' => $this->getClassname($this->name),
            'namespace' => $this->namespace,
            'namespace_psr4' => $this->getNamespacePsr4($this->namespace),
            'author' => $this->author,
            'email' => $this->email,
            'description' => $this->description,
            'license' => $this->license,
        ];

        $this->cleanFilesAffected();

        $pluginTemplateFile = 'plugin/plugin.php.twig';

        if (empty($this->commandName) === false) {
            $pluginTemplateFile = 'plugin/commandPlugin.php.twig';

            $model['command_name'] = $this->commandName;
            $model['command_description'] = $this->commandDescription;
            $model['command_help'] = $this->commandHelp;
        }

        $this->renderFile($pluginTemplateFile, $pluginDir.'/'.$this->getPluginFilename($this->name), $model);
        $this->renderFile('plugin/composer.json.twig', $pluginDir.'/composer.json', $model);

        $licenseFile = $this->getLicenseFile($this->license);

        if ($licenseFile) {
            $model = [
                'author' => $this->author,
            ];

            $this->renderFile($licenseFile, $pluginDir.'/LICENSE', $model);
        }

        return $this->getFilesAffected();
    }
public function generate()
    {
        $this->dirctoryName = $this->getPluginDir($this->name);

        $pluginDir = $this->targetDir.'/'.$this->dirctoryName;

        if (file_exists($pluginDir)) {
            throw new \RuntimeException(sprintf('Unable to generate the plugin as the plugin directory "%s" exists.', $pluginDir));
        }

        $model = [
            'name' => $this->name,
            'classname' => $this->getClassname($this->name),
            'namespace' => $this->namespace,
            'namespace_psr4' => $this->getNamespacePsr4($this->namespace),
            'author' => $this->author,
            'email' => $this->email,
            'description' => $this->description,
            'license' => $this->license,
        ];

        $this->cleanFilesAffected();

        $pluginTemplateFile = 'plugin/plugin.php.twig';

        if (empty($this->commandName) === false) {
            $pluginTemplateFile = 'plugin/commandPlugin.php.twig';

            $model['command_name'] = $this->commandName;
            $model['command_description'] = $this->commandDescription;
            $model['command_help'] = $this->commandHelp;
        }

        $this->renderFile($pluginTemplateFile, $pluginDir.'/'.$this->getPluginFilename($this->name), $model);
        $this->renderFile('plugin/composer.json.twig', $pluginDir.'/composer.json', $model);

        $licenseFile = $this->getLicenseFile($this->license);

        if ($licenseFile) {
            $model = [
                'author' => $this->author,
            ];

            $this->renderFile($licenseFile, $pluginDir.'/LICENSE', $model);
        }

        return $this->getFilesAffected();
    }
public function generate ( ) { $ this -> dirctoryName = $ this -> getPluginDir ( $ this -> name ) ; $ pluginDir = $ this -> targetDir . '/' . $ this -> dirctoryName ; if ( file_exists ( $ pluginDir ) ) { throw new \ RuntimeException ( sprintf ( 'Unable to generate the plugin as the plugin directory "%s" exists.' , $ pluginDir ) ) ; } $ model = [ 'name' => $ this -> name , 'classname' => $ this -> getClassname ( $ this -> name ) , 'namespace' => $ this -> namespace , 'namespace_psr4' => $ this -> getNamespacePsr4 ( $ this -> namespace ) , 'author' => $ this -> author , 'email' => $ this -> email , 'description' => $ this -> description , 'license' => $ this -> license , ] ; $ this -> cleanFilesAffected ( ) ; $ pluginTemplateFile = 'plugin/plugin.php.twig' ; if ( empty ( $ this -> commandName ) === false ) { $ pluginTemplateFile = 'plugin/commandPlugin.php.twig' ; $ model [ 'command_name' ] = $ this -> commandName ; $ model [ 'command_description' ] = $ this -> commandDescription ; $ model [ 'command_help' ] = $ this -> commandHelp ; } $ this -> renderFile ( $ pluginTemplateFile , $ pluginDir . '/' . $ this -> getPluginFilename ( $ this -> name ) , $ model ) ; $ this -> renderFile ( 'plugin/composer.json.twig' , $ pluginDir . '/composer.json' , $ model ) ; $ licenseFile = $ this -> getLicenseFile ( $ this -> license ) ; if ( $ licenseFile ) { $ model = [ 'author' => $ this -> author , ] ; $ this -> renderFile ( $ licenseFile , $ pluginDir . '/LICENSE' , $ model ) ; } return $ this -> getFilesAffected ( ) ; }
Generates a plugin.

@return array
Generates a plugin .