From 79894594de6473ecb181ac98d99a643852a72160 Mon Sep 17 00:00:00 2001 From: Skullbock Date: Mon, 6 Apr 2020 15:31:51 +0200 Subject: [PATCH] updated command to allow choosing application "client" --- .DS_Store | Bin 8196 -> 8196 bytes .gitignore | 2 + bin/console | 11 +--- .../Application/Application.php | 58 ++++++++++++++++++ libraries/joomla-commands/joomla-commands.xml | 19 ++++++ 5 files changed, 81 insertions(+), 9 deletions(-) create mode 100644 libraries/joomla-commands/Application/Application.php create mode 100644 libraries/joomla-commands/joomla-commands.xml diff --git a/.DS_Store b/.DS_Store index ec92d0c71217995cfcb9da23b4be9be038e9fc75..562693eca933610f882e05eaa1feaea6ac2b47b9 100644 GIT binary patch delta 1141 zcmb`FJ4_T&6o$`_2s0B{?(!Ix6@jp>tjHTwL>|jSjgeQ7w+LC7QAd_tWR`~*vucP& zrQ1NF5eo~IP-sN0v``acVQeHmXpBZ13kw@dy*smw+9+{~xta6dlk@-Qn;G|v`%b3S zBJbHN?d#Tt{JsO)v>JMmRM$4Z*to8?sa{V&n@}4(0aYJhi4&SS*)kf?{64)?9n<;g za2JvBh)Z!P_DqK>zhp;c?Ml2QfmstJsaI1}UqCyosbisqWLvP^=NVD0Q9nd+g;^5f zsd{8?+t_4mQjT_QssZZe}oBT?+Rblr9(NMC|W%*!OsUK7MTM-1KyvZp` z?K-#4JdulAawVyKSo0}N=cB@I3JN8;Bk1)Es$QmuW?yNUBzH}iLD>FCv3#c_cMthT zM!0d^io8gJIz`FtZry4)ZLJz=$0QMfIK+huOW$SX3CKxvds z!7{3(R_Y;zCTW)DXr8Xq5c!y`Pw z(~y$XY_W6rIlsW){qOMK#hJvDl2bAquDs&yyWAmna#!fK)fVjF7}O~tyh;|kBB$EY z>{<3~fp3oq#;4@8=ZKs!gQ+_0TLpndnOcFpNaR@AI#Vl^wh5dcTW_l6QiaG7vuIPT zl4=AFlEs*6ozx&&gZyt}^gEIWkUx1W(p`GYS*+4~PT&iD;|z%J-vXPl|7t2g%6XM!Zc2DDCck<7jO}?n8Q3SN8sF8 XUQKbt2G<($KV|G+YskOOm>cyI=lTeE delta 1142 zcmb`FO-K}B7{{N#WzI}~yz57fva9AQnjfWRnjh4v=^A|)=Es_%tj-$@xufo^mPIU; zQ3o+QEgDf`qz69?C6M4H14@AKn%-uM6hX38_= zxtHz8R9n2Q$^c8A(E0JU(U3l3m|Z+*if`muN@Jx@9~vnHgDW8)@o=fnPxKEe0+ zL)>JL=i<{cv)zTI71i|(iwTKIOi5N!BR5mk@DW|(Mo2%Z^PudAS(ZBte}FHt#H55x z>8k1*AJoUj_0S}9OOoB_RI_CEQ0mjf=mR5~)u}~^>Qr+jsn@DE1-W?JWhGxNkeOfV zFvaQY5k*Rg%uKoCm~MnudbcU%64T_)VgDc>w#QW}RTA4LcTdP2-v*Np4ReMIS3_n7ch?_EIK^ zGH5G#sFnJN(YF7jX@@a0hdk$6Y+a z6TFCMDF-uM%`M))%dhx{{P*#eaYu4WYFd`Nptx*D?e2&-wR=OSZfN{OC~k>_iP}(G=C-#UZq#1D)u?0Q?w2fd&o(qe6v=5KbeEGdPQLn8pk);|e0UiW``H Xu$1PG3$HQc|H|0E#*nMeSQPUcu_p=h diff --git a/.gitignore b/.gitignore index ab54736..28a5d4f 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,8 @@ build/* !build/packages build/packages/* !build/pkg_joomlacommands.xml +!libraries/joomla-commands +libraries/joomla-commands/vendor node_modules package-lock.json .DS_Store diff --git a/bin/console b/bin/console index 1bba939..ead9061 100755 --- a/bin/console +++ b/bin/console @@ -24,21 +24,14 @@ define('JDEBUG', $config->debug); require_once JPATH_LIBRARIES . '/joomla-commands/vendor/autoload.php'; -use Joomla\CMS\Factory; -use Joomla\CMS\Plugin\PluginHelper; -use Symfony\Component\Console\Application; +use Weble\JoomlaCommands\Application\Application; class ApplicationConsole extends JApplicationCli { public function doExecute() { - Factory::$application = $this; - $application = new Application(); - - PluginHelper::importPlugin('console', null, true, $this->dispatcher); - $this->triggerEvent('onGetConsoleCommands', [$application]); - + $application->setJoomlaCliApplication($this); $application->run(); } } diff --git a/libraries/joomla-commands/Application/Application.php b/libraries/joomla-commands/Application/Application.php new file mode 100644 index 0000000..9737c78 --- /dev/null +++ b/libraries/joomla-commands/Application/Application.php @@ -0,0 +1,58 @@ +input = $input; + $this->output = $output; + + $this->configureJoomlaApplication(); + $this->loadCommandsFromPlugins(); + + + return parent::doRun($input, $output); // TODO: Change the autogenerated stub + } + + public function setJoomlaCliApplication(CliApplication $app): self + { + $this->joomlaCliApplication = $app; + return $this; + } + + protected function configureJoomlaApplication() + { + $clientId = $this->input->hasParameterOption(['--ansi'], true) ?: 'site'; + $application = CMSApplication::getInstance($clientId); + + Factory::$application = $application; + } + + protected function loadCommandsFromPlugins() + { + PluginHelper::importPlugin('console', null, true); + $this->joomlaCliApplication->triggerEvent('onGetConsoleCommands', [$this]); + } +} diff --git a/libraries/joomla-commands/joomla-commands.xml b/libraries/joomla-commands/joomla-commands.xml new file mode 100644 index 0000000..1bb49a2 --- /dev/null +++ b/libraries/joomla-commands/joomla-commands.xml @@ -0,0 +1,19 @@ + + + + Joomla Commands - Library + joomla-commands + Weble Srl + 1.0.0 + April 2020 + (C) 2020 Weble Srl + MIT + daniele@weble.it + http://www.weble.it + Joomla Commands - Library + + + vendor + joomla-commands.xml + +