Merge branch 'release/1.3.10'

This commit is contained in:
Andy Miller
2017-12-06 06:43:37 -07:00
4 changed files with 15 additions and 76 deletions

View File

@@ -1,3 +1,11 @@
# v1.3.10
## 12/06/2017
1. [](#bugfix)
* Reverted GPM Local pull request as it broken admin [#1742](https://github.com/getgrav/grav/issues/1742)
1. [](#new)
# v1.3.9
## 12/05/2017

View File

@@ -8,7 +8,7 @@
// Some standard defines
define('GRAV', true);
define('GRAV_VERSION', '1.3.9');
define('GRAV_VERSION', '1.3.10');
//define('GRAV_TESTING', true);
define('DS', '/');

View File

@@ -17,9 +17,6 @@ use Symfony\Component\Yaml\Yaml;
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 @@ class GPM extends Iterator
*/
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 @@ class GPM extends Iterator
public function getUpdatableThemes()
{
$items = [];
$this->retrieveRemoteRepository();
$repository = $this->repository['themes'];
// local cache to speed things up
@@ -380,7 +357,6 @@ class GPM extends Iterator
*/
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 @@ class GPM extends Iterator
*/
public function getRepositoryPlugin($slug)
{
$this->retrieveRemoteRepository();
return @$this->repository['plugins'][$slug];
}
@@ -468,7 +443,6 @@ class GPM extends Iterator
*/
public function getRepository()
{
$this->retrieveRemoteRepository();
return $this->repository;
}

View File

@@ -320,47 +320,4 @@ class GpmTest extends \Codeception\TestCase\Test
$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'));
}
}