From ee2f5663c46a3114f7053f32f15399b31633fe8c Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Wed, 6 Dec 2017 06:41:47 -0700 Subject: [PATCH] Revert "Fixed issue #1742 where the creation of GPM object tried to connect to Remote repositories even if only Local package was needed (#1746)" This reverts commit 2cc34151dfc12e28b750a01a0997b37a2d33e120. --- system/src/Grav/Common/GPM/GPM.php | 38 ++++------------------- tests/unit/Grav/Common/GPM/GPMTest.php | 43 -------------------------- 2 files changed, 6 insertions(+), 75 deletions(-) diff --git a/system/src/Grav/Common/GPM/GPM.php b/system/src/Grav/Common/GPM/GPM.php index 2fc832c54b..fd5af48498 100644 --- a/system/src/Grav/Common/GPM/GPM.php +++ b/system/src/Grav/Common/GPM/GPM.php @@ -17,9 +17,6 @@ class GPM extends Iterator { - /** @var callable */ - private $callback; - /** * Local installed Packages * @var Local\Packages @@ -32,9 +29,6 @@ class GPM extends Iterator */ private $repository; - /** @var bool */ - private $shouldRefresh; - /** * @var Remote\GravCore */ @@ -53,33 +47,18 @@ class GPM extends Iterator ]; /** - * Loads Remote Packages available - */ - private function retrieveRemoteRepository() - { - if (!$this->repository) { - $this->repository = new Remote\Packages($this->shouldRefresh, $this->callback); - } - } - - /** - * Creates a new GPM instance with Local packages available + * Creates a new GPM instance with Local and Remote packages available * @param boolean $refresh Applies to Remote Packages only and forces a refetch of data * @param callable $callback Either a function or callback in array notation */ public function __construct($refresh = false, $callback = null) { $this->installed = new Local\Packages(); - $this->shouldRefresh = $refresh; - $this->callback = $callback; - } - - /** - * Loads Remote Grav package available - */ - public function loadRemoteGrav() - { - $this->grav = new Remote\GravCore($this->refresh, $this->callback); + try { + $this->repository = new Remote\Packages($refresh, $callback); + $this->grav = new Remote\GravCore($refresh, $callback); + } catch (\Exception $e) { + } } /** @@ -289,7 +268,6 @@ public function getUpdatablePlugins() */ public function getLatestVersionOfPackage($package_name) { - $this->retrieveRemoteRepository(); $repository = $this->repository['plugins']; if (isset($repository[$package_name])) { return $repository[$package_name]->available ?: $repository[$package_name]->version; @@ -332,7 +310,6 @@ public function isPluginUpdatable($plugin) public function getUpdatableThemes() { $items = []; - $this->retrieveRemoteRepository(); $repository = $this->repository['themes']; // local cache to speed things up @@ -380,7 +357,6 @@ public function isThemeUpdatable($theme) */ public function getReleaseType($package_name) { - $this->retrieveRemoteRepository(); $repository = $this->repository['plugins']; if (isset($repository[$package_name])) { return $repository[$package_name]->release_type; @@ -429,7 +405,6 @@ public function isTestingRelease($package_name) */ public function getRepositoryPlugin($slug) { - $this->retrieveRemoteRepository(); return @$this->repository['plugins'][$slug]; } @@ -468,7 +443,6 @@ public function getRepositoryThemes() */ public function getRepository() { - $this->retrieveRemoteRepository(); return $this->repository; } diff --git a/tests/unit/Grav/Common/GPM/GPMTest.php b/tests/unit/Grav/Common/GPM/GPMTest.php index b254b2d4ed..aba4a8cf23 100644 --- a/tests/unit/Grav/Common/GPM/GPMTest.php +++ b/tests/unit/Grav/Common/GPM/GPMTest.php @@ -320,47 +320,4 @@ public function testCalculateVersionNumberFromDependencyVersion() $this->assertSame(null, $this->gpm->calculateVersionNumberFromDependencyVersion('*')); $this->assertSame('2.0.2', $this->gpm->calculateVersionNumberFromDependencyVersion('2.0.2')); } - - public function testRemoteRepositoryIsEmptyAfterConstruct() - { - $gpm = new GPM(); - $reflection = new \ReflectionClass(get_class($gpm)); - $repository = $reflection->getProperty('repository'); - $repository->setAccessible(true); - - $this->assertSame(null, $repository->getValue($gpm)); - } - - public function testLocalRepositoryIsNotEmptyAfterConstruct() - { - $gpm = new GPM(); - $reflection = new \ReflectionClass(get_class($gpm)); - $repository = $reflection->getProperty('installed'); - $repository->setAccessible(true); - - $this->assertInstanceOf( '\Grav\Common\GPM\Local\Packages', $repository->getValue($gpm)); - } - - public function testGetRepository() - { - $this->assertInstanceOf('\Grav\Common\GPM\Remote\Packages', $this->gpm->getRepository()); - } - - public function testLatestVersionOfPackage() - { - $gpm = new GPM(); - $this->assertNotNull($gpm->getLatestVersionOfPackage('admin')); - } - - public function testReleaseType() - { - $gpm = new GPM(); - $this->assertNotNull($gpm->getReleaseType('admin')); - } - - public function testGetRepositoryPlugin() - { - $gpm = new GPM(); - $this->assertNotNull($gpm->getRepositoryPlugin('admin')); - } }