diff --git a/bin/acquiacli-robo.php b/bin/acquiacli-robo.php index 3677b5e..fb478bf 100644 --- a/bin/acquiacli-robo.php +++ b/bin/acquiacli-robo.php @@ -27,7 +27,6 @@ // Instantiate CloudApi client $client = CloudApi::createClient($config); -$cloudapi = new CloudApi($config, $client); // Set up input and output parameters $argv = $_SERVER['argv']; diff --git a/src/Cli/AcquiaCli.php b/src/Cli/AcquiaCli.php index be91f89..fa6f4aa 100644 --- a/src/Cli/AcquiaCli.php +++ b/src/Cli/AcquiaCli.php @@ -3,7 +3,6 @@ namespace AcquiaCli\Cli; use Robo\Robo; -use Robo\Config\Config; use Robo\Common\ConfigAwareTrait; use Symfony\Component\Lock\Factory; use Symfony\Component\Lock\Store\SemaphoreStore; @@ -129,6 +128,7 @@ public function injectParameters($container) { $parameterInjection = $container->get('parameterInjection'); $parameterInjection->register('AcquiaCli\Cli\CloudApi', new AcquiaCliInjector); + $parameterInjection->register('AcquiaCli\Cli\Config', new AcquiaCliInjector); $parameterInjection->register('AcquiaCloudApi\Connector\Client', new AcquiaCliInjector); $parameterInjection->register('AcquiaCloudApi\Endpoints\Applications', new AcquiaCliInjector); $parameterInjection->register('AcquiaCloudApi\Endpoints\Environments', new AcquiaCliInjector); diff --git a/src/Cli/CloudApi.php b/src/Cli/CloudApi.php index ce29011..ed9e7ff 100644 --- a/src/Cli/CloudApi.php +++ b/src/Cli/CloudApi.php @@ -119,9 +119,4 @@ public function setClient($client) { $this->client = $client; } - - public function getExtraConfig() - { - return $this->config->get('extraconfig'); - } } diff --git a/src/Cli/Config.php b/src/Cli/Config.php index f133e30..90af059 100644 --- a/src/Cli/Config.php +++ b/src/Cli/Config.php @@ -2,10 +2,8 @@ namespace AcquiaCli\Cli; -use Consolidation\Config\ConfigInterface; use Robo\Config\Config as RoboConfig; use Robo\Config\GlobalOptionDefaultValuesInterface; - use Consolidation\Config\Loader\ConfigProcessor; use Consolidation\Config\Loader\YamlConfigLoader; diff --git a/src/Commands/AccountCommand.php b/src/Commands/AccountCommand.php index a13a880..07085fd 100644 --- a/src/Commands/AccountCommand.php +++ b/src/Commands/AccountCommand.php @@ -3,6 +3,7 @@ namespace AcquiaCli\Commands; use AcquiaCloudApi\Endpoints\Account; +use AcquiaCli\Cli\Config; /** * Class AccountCommand @@ -16,9 +17,10 @@ class AccountCommand extends AcquiaCommand * * @command account */ - public function account(Account $accountAdapter) + public function account(Config $config, Account $accountAdapter) { - $extraConfig = $this->cloudapiService->getExtraConfig(); + + $extraConfig = $config->get('extraconfig'); $tz = $extraConfig['timezone']; $format = $extraConfig['format']; $timezone = new \DateTimeZone($tz); diff --git a/src/Commands/AcquiaCommand.php b/src/Commands/AcquiaCommand.php index 85248de..3e5019a 100644 --- a/src/Commands/AcquiaCommand.php +++ b/src/Commands/AcquiaCommand.php @@ -2,27 +2,21 @@ namespace AcquiaCli\Commands; -use AcquiaCloudApi\Connector\Client; -use AcquiaCloudApi\Connector\Connector; -use AcquiaCloudApi\Endpoints\Applications; -use AcquiaCloudApi\Endpoints\Environments; -use AcquiaCloudApi\Endpoints\Organizations; use AcquiaCloudApi\Endpoints\Notifications; use AcquiaCloudApi\Endpoints\Databases; use AcquiaCloudApi\Endpoints\DatabaseBackups; use AcquiaCloudApi\Response\DatabaseResponse; use AcquiaCloudApi\Response\EnvironmentResponse; use AcquiaCloudApi\Response\OperationResponse; -use AcquiaCloudApi\Response\OrganizationResponse; use Consolidation\AnnotatedCommand\CommandData; -use Robo\Tasks; -use Robo\Robo; -use Exception; use Symfony\Component\Console\Helper\ProgressBar; use Symfony\Component\Console\Helper\Table; use Symfony\Component\Console\Helper\TableStyle; use Consolidation\AnnotatedCommand\AnnotationData; use Symfony\Component\Console\Input\InputInterface; +use Robo\Tasks; +use Robo\Robo; +use Exception; /** * Class AcquiaCommand @@ -33,8 +27,12 @@ abstract class AcquiaCommand extends Tasks // @TODO https://github.com/boedah/robo-drush/issues/18 //use \Boedah\Robo\Task\Drush\loadTasks; + /** @var \AcquiaCli\Cli\CloudApi $cloudapiService */ protected $cloudapiService; + /** @var \AcquiaCloudApi\Connector\Client $cloudapi */ + protected $cloudapi; + /** Regex for a valid UUID string. */ const UUIDV4 = '/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i'; @@ -169,7 +167,7 @@ protected function waitForNotification($response) } $notificationUuid = end($notificationArray); - $extraConfig = $this->cloudapiService->getExtraConfig(); + $extraConfig = Robo::config()->get('extraconfig'); $sleep = $extraConfig['taskwait']; $timeout = $extraConfig['timeout']; diff --git a/src/Commands/NotificationsCommand.php b/src/Commands/NotificationsCommand.php index d8d59df..de7845d 100644 --- a/src/Commands/NotificationsCommand.php +++ b/src/Commands/NotificationsCommand.php @@ -2,6 +2,7 @@ namespace AcquiaCli\Commands; +use AcquiaCli\Cli\Config; use AcquiaCloudApi\Connector\Client; use AcquiaCloudApi\Endpoints\Notifications; use AcquiaCloudApi\Endpoints\Organizations; @@ -27,6 +28,7 @@ class NotificationsCommand extends AcquiaCommand * @alias n:l */ public function notificationList( + Config $config, Client $client, Notifications $notificationsAdapter, $uuid, @@ -50,8 +52,7 @@ public function notificationList( $table = new Table($output); $table->setHeaders(['UUID', 'Created', 'Name', 'Status']); - $extraConfig = $this->cloudapiService->getExtraConfig(); - + $extraConfig = $config->get('extraconfig'); $tz = $extraConfig['timezone']; $format = $extraConfig['format']; $timezone = new \DateTimeZone($tz); @@ -84,10 +85,10 @@ public function notificationList( * @alias n:i * @throws \Exception */ - public function notificationInfo(Notifications $notificationsAdapter, $uuid, $notificationUuid) + public function notificationInfo(Config $config, Notifications $notificationsAdapter, $uuid, $notificationUuid) { - $extraConfig = $this->cloudapiService->getExtraConfig(); + $extraConfig = $config->get('extraconfig'); $tz = $extraConfig['timezone']; $format = $extraConfig['format']; $timezone = new \DateTimeZone($tz); diff --git a/src/Injector/AcquiaCliInjector.php b/src/Injector/AcquiaCliInjector.php index 477ae17..9cfb5ed 100644 --- a/src/Injector/AcquiaCliInjector.php +++ b/src/Injector/AcquiaCliInjector.php @@ -30,6 +30,7 @@ class AcquiaCliInjector implements ParameterInjector public function __construct() { + $this->config = \Robo\Robo::service('config'); $this->cloudapi = \Robo\Robo::service('cloudApi'); $this->client = \Robo\Robo::service('client'); } @@ -39,6 +40,8 @@ public function get(CommandData $commandData, $interfaceName) switch ($interfaceName) { case 'AcquiaCli\Cli\CloudApi': return $this->cloudapi; + case 'AcquiaCli\Cli\Config': + return $this->config; case 'AcquiaCloudApi\Connector\Client': return $this->client; case 'AcquiaCloudApi\Endpoints\Applications':