Skip to content

Commit

Permalink
Switching tasks to CollectionBuilder initialisation
Browse files Browse the repository at this point in the history
  • Loading branch information
Hackwar committed May 30, 2023
1 parent fc7b289 commit 1e69ee1
Show file tree
Hide file tree
Showing 5 changed files with 73 additions and 66 deletions.
26 changes: 13 additions & 13 deletions RoboFile.php
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}

/**
Expand All @@ -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
*/
Expand All @@ -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;
}
}
Expand All @@ -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();
}

/**
Expand All @@ -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();
}

/**
Expand All @@ -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();
}

/**
Expand All @@ -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();
}

/**
Expand All @@ -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();
}
}
51 changes: 26 additions & 25 deletions src/Tasks/Build/Tasks.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,34 +9,36 @@

namespace Joomla\Jorobo\Tasks\Build;

use Robo\Collection\CollectionBuilder;

trait Tasks
{
/**
* Build extension
*
* @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);
}

/**
* Build component
*
* @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);
}

/**
Expand All @@ -45,27 +47,27 @@ 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);
}

/**
* Build language folder
*
* @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);
}

/**
Expand All @@ -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);
}

/**
Expand All @@ -102,27 +104,27 @@ 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);
}

/**
* Build package
*
* @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);
}

/**
Expand All @@ -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);
}

/**
Expand All @@ -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);
}
}
18 changes: 10 additions & 8 deletions src/Tasks/Deploy/Tasks.php
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
Loading

0 comments on commit 1e69ee1

Please sign in to comment.