diff --git a/RoboFile.php b/RoboFile.php index 1d278ee..b2df03b 100644 --- a/RoboFile.php +++ b/RoboFile.php @@ -43,7 +43,7 @@ public function __construct() */ public function map($target, $params = ['base' => JPATH_BASE]) { - (new \Joomla\Jorobo\Tasks\Map($target, $params))->run(); + $this->task(\Joomla\Jorobo\Tasks\Map::class, $target, $params)->run(); } /** @@ -55,13 +55,13 @@ public function map($target, $params = ['base' => JPATH_BASE]) */ public function build(ConsoleIO $io, $params = ['dev' => false, 'base' => JPATH_BASE]) { - (new \Joomla\Jorobo\Tasks\Build($params))->run(); + $this->task(\Joomla\Jorobo\Tasks\Build::class, $params)->run(); } /** * Generate an extension skeleton - not implemented yet * - * @param array $extensions Extensions to build (com_xy, mod_xy) + * @param array $extensions Extensions to build (com_xy, mod_xy, pkg_name, plg_type_name, tpl_name) * * @return void */ @@ -70,19 +70,19 @@ public function generate(array $extensions, $params = ['base' => JPATH_BASE]) foreach ($extensions as $extension) { switch (substr($extension, 0, 3)) { case 'com': - (new \Joomla\Jorobo\Tasks\Generate\Component($extension, $params))->run(); + $this->task(\Joomla\Jorobo\Tasks\Generate\Component::class, $extension, $params)->run(); break; case 'mod': - (new \Joomla\Jorobo\Tasks\Generate\Module($extension, $params))->run(); + $this->task(\Joomla\Jorobo\Tasks\Generate\Module::class, $extension, $params)->run(); break; case 'pkg': - (new \Joomla\Jorobo\Tasks\Generate\Package($extension, $params))->run(); + $this->task(\Joomla\Jorobo\Tasks\Generate\Package::class, $extension, $params)->run(); break; case 'plg': - (new \Joomla\Jorobo\Tasks\Generate\Plugin($extension, $params))->run(); + $this->task(\Joomla\Jorobo\Tasks\Generate\Plugin::class, $extension, $params)->run(); break; case 'tpl': - (new \Joomla\Jorobo\Tasks\Generate\Template($extension, $params))->run(); + $this->task(\Joomla\Jorobo\Tasks\Generate\Template::class, $extension, $params)->run(); break; } } @@ -97,7 +97,7 @@ public function generate(array $extensions, $params = ['base' => JPATH_BASE]) */ public function generateComponent($name, $params = ['base' => JPATH_BASE, 'site' => true, 'api' => false, 'media' => false]) { - (new \Joomla\Jorobo\Tasks\Generate\Component($name, $params))->run(); + $this->task(\Joomla\Jorobo\Tasks\Generate\Component::class, $name, $params)->run(); } /** @@ -110,7 +110,7 @@ public function generateComponent($name, $params = ['base' => JPATH_BASE, 'site' */ public function generateView($name, $view, $params = ['base' => JPATH_BASE]) { - (new \Joomla\Jorobo\Tasks\Generate\Component($name, $params))->run(); + $this->task(\Joomla\Jorobo\Tasks\Generate\Component::class, $name, $params)->run(); } /** @@ -129,7 +129,7 @@ public function generateView($name, $view, $params = ['base' => JPATH_BASE]) */ public function generateModule($name, $params = ['base' => JPATH_BASE, 'client' => 'site']) { - (new \Joomla\Jorobo\Tasks\Generate\Module($name, $params))->run(); + $this->task(\Joomla\Jorobo\Tasks\Generate\Module::class, $name, $params)->run(); } /** @@ -139,7 +139,7 @@ public function generateModule($name, $params = ['base' => JPATH_BASE, 'client' */ public function headers($params = ['base' => JPATH_BASE]) { - (new \Joomla\Jorobo\Tasks\CopyrightHeader($params))->run(); + $this->task(\Joomla\Jorobo\Tasks\CopyrightHeader::class, $params)->run(); } /** @@ -151,6 +151,6 @@ public function headers($params = ['base' => JPATH_BASE]) */ public function bump($params = ['base' => JPATH_BASE]) { - (new \Joomla\Jorobo\Tasks\BumpVersion($params))->run(); + $this->task(\Joomla\Jorobo\Tasks\BumpVersion::class, $params)->run(); } } diff --git a/src/Tasks/Build/Tasks.php b/src/Tasks/Build/Tasks.php index 52243ac..db4e4e7 100644 --- a/src/Tasks/Build/Tasks.php +++ b/src/Tasks/Build/Tasks.php @@ -9,6 +9,8 @@ namespace Joomla\Jorobo\Tasks\Build; +use Robo\Collection\CollectionBuilder; + trait Tasks { /** @@ -16,13 +18,13 @@ trait Tasks * * @param array $params Opt params * - * @return Extension + * @return CollectionBuilder * * @since 1.0 */ protected function buildExtension($params = []) { - return new Extension($params); + return $this->task(Extension::class, $params); } /** @@ -30,13 +32,13 @@ protected function buildExtension($params = []) * * @param array $params Opt params * - * @return Component + * @return CollectionBuilder * * @since 1.0 */ protected function buildComponent($params = []) { - return new Component($params); + return $this->task(Component::class, $params); } /** @@ -45,13 +47,13 @@ protected function buildComponent($params = []) * @param string $source The media folder (an extension could have multiple) * @param string $extName The extension name (e.g. mod_xy) * - * @return Media + * @return CollectionBuilder * * @since 1.0 */ protected function buildMedia($source, $extName, $params = []) { - return new Media($source, $extName, $params); + return $this->task(Media::class, $source, $extName, $params); } /** @@ -59,13 +61,13 @@ protected function buildMedia($source, $extName, $params = []) * * @param string $extension The extension (not the whole, but mod_xy or plg_) * - * @return Language + * @return CollectionBuilder * * @since 1.0 */ protected function buildLanguage($extension, $params = []) { - return new Language($extension, $params); + return $this->task(Language::class, $extension, $params); } /** @@ -75,25 +77,25 @@ protected function buildLanguage($extension, $params = []) * @param array $params Opt params * @param bool $hasComponent has the extension a component (then we need to build different) * - * @return Library + * @return CollectionBuilder * * @since 1.0 */ protected function buildLibrary($libName, $params, $hasComponent) { - return new Library($libName, $params, $hasComponent); + return $this->task(Library::class, $libName, $params, $hasComponent); } /** * Build cli folder * - * @return Cli + * @return CollectionBuilder * * @since 1.0 */ protected function buildCli($params = []) { - return new Cli($params); + return $this->task(Cli::class, $params); } /** @@ -102,13 +104,13 @@ protected function buildCli($params = []) * @param String $modName Name of the module * @param array $params Opt params * - * @return Module + * @return CollectionBuilder * * @since 1.0 */ protected function buildModule($modName, $params = []) { - return new Module($modName, $params); + return $this->task(Module::class, $modName, $params); } /** @@ -116,13 +118,13 @@ protected function buildModule($modName, $params = []) * * @param array $params Opt params * - * @return Package + * @return CollectionBuilder * * @since 1.0 */ protected function buildPackage($params = []) { - return new Package($params); + return $this->task(Package::class, $params); } /** @@ -132,29 +134,28 @@ protected function buildPackage($params = []) * @param String $name Name of the plugin * @param array $params Opt params * - * @return Plugin + * @return CollectionBuilder * * @since 1.0 */ protected function buildPlugin($type, $name, $params = []) { - return new Plugin($type, $name, $params); + return $this->task(Plugin::class, $type, $name, $params); } /** - * Build a CBPlugin + * Build a File extension * - * @param String $type Type of the plugin * @param String $name Name of the plugin * @param array $params Opt params * - * @return CBPlugin + * @return CollectionBuilder * * @since 1.0 */ - protected function buildCBPlugin($type, $name, $params = []) + protected function buildFile($name, $params = []) { - return new CBPlugin($type, $name, $params); + return $this->task(File::class, $name, $params); } /** @@ -163,12 +164,12 @@ protected function buildCBPlugin($type, $name, $params = []) * @param String $templateName Name of the template * @param array $params Opt params * - * @return Template + * @return CollectionBuilder * * @since 1.0 */ protected function buildTemplate($templateName, $params = []) { - return new Template($templateName, $params); + return $this->task(Template::class, $templateName, $params); } } diff --git a/src/Tasks/Deploy/Tasks.php b/src/Tasks/Deploy/Tasks.php index 94c3353..16c69ab 100644 --- a/src/Tasks/Deploy/Tasks.php +++ b/src/Tasks/Deploy/Tasks.php @@ -9,54 +9,56 @@ namespace Joomla\Jorobo\Tasks\Deploy; +use Robo\Collection\CollectionBuilder; + trait Tasks { /** * Build extension * - * @return Zip + * @return CollectionBuilder * * @since 1.0 */ protected function deployZip($params = []) { - return new Zip($params); + return $this->task(Zip::class, $params); } /** * Build extension * - * @return Package + * @return CollectionBuilder * * @since 1.0 */ protected function deployPackage($params = []) { - return new Package($params); + return $this->task(Package::class, $params); } /** * Build extension * - * @return Release + * @return CollectionBuilder * * @since 1.0 */ protected function deployRelease($params = []) { - return new Release($params); + return $this->task(Release::class, $params); } /** * Deploy to FTP * (Depends on package or zip deploy task) * - * @return FtpUpload + * @return CollectionBuilder * * @since 1.0 */ protected function deployFtp($params = []) { - return new FtpUpload($params); + return $this->task(FtpUpload::class, $params); } } diff --git a/src/Tasks/Generate/Tasks.php b/src/Tasks/Generate/Tasks.php index 858af39..9b33e0e 100644 --- a/src/Tasks/Generate/Tasks.php +++ b/src/Tasks/Generate/Tasks.php @@ -9,6 +9,8 @@ namespace Joomla\Jorobo\Tasks\Generate; +use Robo\Collection\CollectionBuilder; + trait Tasks { /** @@ -17,13 +19,13 @@ trait Tasks * @param string $title The component name (e.g. com_component) * @param array $params Opt params * - * @return null + * @return CollectionBuilder * * @since 1.0 */ protected function generateComponent($title, $params = []) { - return new Component($title, $params); + return $this->task(Component::class, $title, $params); } /** @@ -32,13 +34,13 @@ protected function generateComponent($title, $params = []) * @param string $title The module name (e.g. mod_login) * @param array $params Opt params * - * @return null + * @return CollectionBuilder * * @since 1.0 */ protected function generateModule($title, $params = []) { - return new Module($title, $params); + return $this->task(Module::class, $title, $params); } /** @@ -47,13 +49,13 @@ protected function generateModule($title, $params = []) * @param string $title The package name (e.g. weblinks) * @param array $params Opt params * - * @return null + * @return CollectionBuilder * * @since 1.0 */ protected function generatePackage($title, $params = []) { - return new Package($title, $params); + return $this->task(Package::class, $title, $params); } /** @@ -62,13 +64,13 @@ protected function generatePackage($title, $params = []) * @param string $title The plugin name (e.g. plg_system_joomla) * @param array $params Opt params * - * @return null + * @return CollectionBuilder * * @since 1.0 */ protected function generatePlugin($title, $params = []) { - return new Plugin($title, $params); + return $this->task(Plugin::class, $title, $params); } /** @@ -77,12 +79,12 @@ protected function generatePlugin($title, $params = []) * @param string $title The template name (e.g. cassiopeia) * @param array $params Opt params * - * @return null + * @return CollectionBuilder * * @since 1.0 */ protected function generateTemplate($title, $params = []) { - return new Template($title, $params); + return $this->task(Template::class, $title, $params); } } diff --git a/src/Tasks/Tasks.php b/src/Tasks/Tasks.php index ca06d94..ef7d526 100644 --- a/src/Tasks/Tasks.php +++ b/src/Tasks/Tasks.php @@ -9,6 +9,8 @@ namespace Joomla\Jorobo\Tasks; +use Robo\Collection\CollectionBuilder; + trait Tasks { /** @@ -16,13 +18,13 @@ trait Tasks * * @param String $target The target directory * - * @return Map + * @return CollectionBuilder * * @since 1.0 */ protected function taskMap($target, $params = []) { - return new Map($target, $params); + return $this->task(Map::class, $target, $params); } /** @@ -30,13 +32,13 @@ protected function taskMap($target, $params = []) * * @param array $params Opt params * - * @return Build + * @return CollectionBuilder * * @since 1.0 */ protected function taskBuild($params = []) { - return new Build($params); + return $this->task(Build::class, $params); } /** @@ -44,13 +46,13 @@ protected function taskBuild($params = []) * * @param array $params Opt params * - * @return Generate + * @return CollectionBuilder * * @since 1.0 */ protected function taskGenerate($params = []) { - return new Generate($params); + return $this->task(Generate::class, $params); } /** @@ -58,24 +60,24 @@ protected function taskGenerate($params = []) * * @param array $params Opt params * - * @return CopyrightHeader + * @return CollectionBuilder * * @since 1.0 */ protected function taskCopyrightHeaders($params = []) { - return new CopyrightHeader($params); + return $this->task(CopyrightHeader::class, $params); } /** * Bump the __DEPLOY_VERSION__ task * - * @return BumpVersion + * @return CollectionBuilder * * @since 1.0 */ protected function taskBumpVersion($params = []) { - return new BumpVersion($params); + return $this->task(BumpVersion::class, $params); } }