Merge pull request #8745 from nextcloud/stable13-8716
[13] Remove base url from global cache prefix
This commit is contained in:
commit
b0f0c26fe3
|
@ -231,7 +231,7 @@ class ThemingDefaults extends \OC_Defaults {
|
|||
* @return array scss variables to overwrite
|
||||
*/
|
||||
public function getScssVariables() {
|
||||
$cache = $this->cacheFactory->createDistributed('theming');
|
||||
$cache = $this->cacheFactory->createDistributed('theming-' . $this->urlGenerator->getBaseUrl());
|
||||
if ($value = $cache->get('getScssVariables')) {
|
||||
return $value;
|
||||
}
|
||||
|
@ -298,7 +298,7 @@ class ThemingDefaults extends \OC_Defaults {
|
|||
* @return bool
|
||||
*/
|
||||
public function shouldReplaceIcons() {
|
||||
$cache = $this->cacheFactory->createDistributed('theming');
|
||||
$cache = $this->cacheFactory->createDistributed('theming-' . $this->urlGenerator->getBaseUrl());
|
||||
if($value = $cache->get('shouldReplaceIcons')) {
|
||||
return (bool)$value;
|
||||
}
|
||||
|
@ -320,7 +320,7 @@ class ThemingDefaults extends \OC_Defaults {
|
|||
private function increaseCacheBuster() {
|
||||
$cacheBusterKey = $this->config->getAppValue('theming', 'cachebuster', '0');
|
||||
$this->config->setAppValue('theming', 'cachebuster', (int)$cacheBusterKey+1);
|
||||
$this->cacheFactory->createDistributed('theming')->clear('getScssVariables');
|
||||
$this->cacheFactory->createDistributed('theming-')->clear('getScssVariables');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -79,7 +79,7 @@ class ThemingDefaultsTest extends TestCase {
|
|||
$this->cacheFactory
|
||||
->expects($this->any())
|
||||
->method('createDistributed')
|
||||
->with('theming')
|
||||
->with('theming-')
|
||||
->willReturn($this->cache);
|
||||
$this->template = new ThemingDefaults(
|
||||
$this->config,
|
||||
|
|
|
@ -496,7 +496,7 @@ class Server extends ServerContainer implements IServerContainer {
|
|||
$version = implode(',', $v);
|
||||
$instanceId = \OC_Util::getInstanceId();
|
||||
$path = \OC::$SERVERROOT;
|
||||
$prefix = md5($instanceId . '-' . $version . '-' . $path . '-' . $urlGenerator->getBaseUrl());
|
||||
$prefix = md5($instanceId . '-' . $version . '-' . $path);
|
||||
return new \OC\Memcache\Factory($prefix, $c->getLogger(),
|
||||
$config->getSystemValue('memcache.local', null),
|
||||
$config->getSystemValue('memcache.distributed', null),
|
||||
|
@ -963,7 +963,7 @@ class Server extends ServerContainer implements IServerContainer {
|
|||
$c->getConfig(),
|
||||
$c->getThemingDefaults(),
|
||||
\OC::$SERVERROOT,
|
||||
$cacheFactory->createDistributed('SCSS')
|
||||
$this->getMemCacheFactory()
|
||||
);
|
||||
});
|
||||
$this->registerService(JSCombiner::class, function (Server $c) {
|
||||
|
@ -972,7 +972,7 @@ class Server extends ServerContainer implements IServerContainer {
|
|||
return new JSCombiner(
|
||||
$c->getAppDataDir('js'),
|
||||
$c->getURLGenerator(),
|
||||
$cacheFactory->createDistributed('JS'),
|
||||
$this->getMemCacheFactory(),
|
||||
$c->getSystemConfig(),
|
||||
$c->getLogger()
|
||||
);
|
||||
|
|
|
@ -30,6 +30,7 @@ use OCP\Files\IAppData;
|
|||
use OCP\Files\NotFoundException;
|
||||
use OCP\Files\NotPermittedException;
|
||||
use OCP\Files\SimpleFS\ISimpleFolder;
|
||||
use OCP\ICacheFactory;
|
||||
use OCP\ILogger;
|
||||
use OCP\IURLGenerator;
|
||||
|
||||
|
@ -50,21 +51,25 @@ class JSCombiner {
|
|||
/** @var ILogger */
|
||||
protected $logger;
|
||||
|
||||
/** @var ICacheFactory */
|
||||
private $cacheFactory;
|
||||
|
||||
/**
|
||||
* @param IAppData $appData
|
||||
* @param IURLGenerator $urlGenerator
|
||||
* @param ICache $depsCache
|
||||
* @param ICacheFactory $cacheFactory
|
||||
* @param SystemConfig $config
|
||||
* @param ILogger $logger
|
||||
*/
|
||||
public function __construct(IAppData $appData,
|
||||
IURLGenerator $urlGenerator,
|
||||
ICache $depsCache,
|
||||
ICacheFactory $cacheFactory,
|
||||
SystemConfig $config,
|
||||
ILogger $logger) {
|
||||
$this->appData = $appData;
|
||||
$this->urlGenerator = $urlGenerator;
|
||||
$this->depsCache = $depsCache;
|
||||
$this->cacheFactory = $cacheFactory;
|
||||
$this->depsCache = $this->cacheFactory->createDistributed('JS-' . md5($this->urlGenerator->getBaseUrl()));
|
||||
$this->config = $config;
|
||||
$this->logger = $logger;
|
||||
}
|
||||
|
@ -243,7 +248,7 @@ class JSCombiner {
|
|||
* @throws NotFoundException
|
||||
*/
|
||||
public function resetCache() {
|
||||
$this->depsCache->clear();
|
||||
$this->cacheFactory->createDistributed('JS-')->clear();
|
||||
$appDirectory = $this->appData->getDirectoryListing();
|
||||
foreach ($appDirectory as $folder) {
|
||||
foreach ($folder->getDirectoryListing() as $file) {
|
||||
|
|
|
@ -39,6 +39,7 @@ use OCP\Files\NotPermittedException;
|
|||
use OCP\Files\SimpleFS\ISimpleFile;
|
||||
use OCP\Files\SimpleFS\ISimpleFolder;
|
||||
use OCP\ICache;
|
||||
use OCP\ICacheFactory;
|
||||
use OCP\IConfig;
|
||||
use OCP\ILogger;
|
||||
use OCP\IURLGenerator;
|
||||
|
@ -66,6 +67,9 @@ class SCSSCacher {
|
|||
/** @var null|string */
|
||||
protected $injectedVariables = null;
|
||||
|
||||
/** @var ICacheFactory */
|
||||
private $cacheFactory;
|
||||
|
||||
/**
|
||||
* @param ILogger $logger
|
||||
* @param Factory $appDataFactory
|
||||
|
@ -73,7 +77,7 @@ class SCSSCacher {
|
|||
* @param IConfig $config
|
||||
* @param \OC_Defaults $defaults
|
||||
* @param string $serverRoot
|
||||
* @param ICache $depsCache
|
||||
* @param ICacheFactory $cacheFactory
|
||||
*/
|
||||
public function __construct(ILogger $logger,
|
||||
Factory $appDataFactory,
|
||||
|
@ -81,14 +85,15 @@ class SCSSCacher {
|
|||
IConfig $config,
|
||||
\OC_Defaults $defaults,
|
||||
$serverRoot,
|
||||
ICache $depsCache) {
|
||||
ICacheFactory $cacheFactory) {
|
||||
$this->logger = $logger;
|
||||
$this->appData = $appDataFactory->get('css');
|
||||
$this->urlGenerator = $urlGenerator;
|
||||
$this->config = $config;
|
||||
$this->defaults = $defaults;
|
||||
$this->serverRoot = $serverRoot;
|
||||
$this->depsCache = $depsCache;
|
||||
$this->cacheFactory = $cacheFactory;
|
||||
$this->depsCache = $cacheFactory->createDistributed('SCSS-' . md5($this->urlGenerator->getBaseUrl()));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -256,7 +261,7 @@ class SCSSCacher {
|
|||
*/
|
||||
public function resetCache() {
|
||||
$this->injectedVariables = null;
|
||||
$this->depsCache->clear();
|
||||
$this->cacheFactory->createDistributed('SCSS-')->clear();
|
||||
$appDirectory = $this->appData->getDirectoryListing();
|
||||
foreach ($appDirectory as $folder) {
|
||||
foreach ($folder->getDirectoryListing() as $file) {
|
||||
|
|
|
@ -301,13 +301,7 @@ class TemplateLayout extends \OC_Template {
|
|||
$theme,
|
||||
array( \OC::$SERVERROOT => \OC::$WEBROOT ),
|
||||
array( \OC::$SERVERROOT => \OC::$WEBROOT ),
|
||||
new JSCombiner(
|
||||
\OC::$server->getAppDataDir('js'),
|
||||
\OC::$server->getURLGenerator(),
|
||||
\OC::$server->getMemCacheFactory()->createDistributed('JS'),
|
||||
\OC::$server->getSystemConfig(),
|
||||
\OC::$server->getLogger()
|
||||
)
|
||||
\OC::$server->query(JSCombiner::class)
|
||||
);
|
||||
$locator->find($scripts);
|
||||
return $locator->getResources();
|
||||
|
|
|
@ -24,11 +24,12 @@
|
|||
namespace Test\Template;
|
||||
|
||||
use OC\Files\AppData\Factory;
|
||||
use OCP\Files\IAppData;
|
||||
use OCP\ICacheFactory;
|
||||
use OCP\ILogger;
|
||||
use OCP\IURLGenerator;
|
||||
use OCP\IConfig;
|
||||
use OCA\Theming\ThemingDefaults;
|
||||
use OCP\ICache;
|
||||
use OC\Template\SCSSCacher;
|
||||
use OC\Template\CSSResourceLocator;
|
||||
|
||||
|
@ -41,8 +42,8 @@ class CSSResourceLocatorTest extends \Test\TestCase {
|
|||
protected $config;
|
||||
/** @var ThemingDefaults|\PHPUnit_Framework_MockObject_MockObject */
|
||||
protected $themingDefaults;
|
||||
/** @var ICache|\PHPUnit_Framework_MockObject_MockObject */
|
||||
protected $depsCache;
|
||||
/** @var ICacheFactory|\PHPUnit_Framework_MockObject_MockObject */
|
||||
protected $cacheFactory;
|
||||
/** @var ILogger|\PHPUnit_Framework_MockObject_MockObject */
|
||||
protected $logger;
|
||||
|
||||
|
@ -53,7 +54,7 @@ class CSSResourceLocatorTest extends \Test\TestCase {
|
|||
$this->appData = $this->createMock(IAppData::class);
|
||||
$this->urlGenerator = $this->createMock(IURLGenerator::class);
|
||||
$this->config = $this->createMock(IConfig::class);
|
||||
$this->depsCache = $this->createMock(ICache::class);
|
||||
$this->cacheFactory = $this->createMock(ICacheFactory::class);
|
||||
$this->themingDefaults = $this->createMock(ThemingDefaults::class);
|
||||
}
|
||||
|
||||
|
@ -68,7 +69,7 @@ class CSSResourceLocatorTest extends \Test\TestCase {
|
|||
$this->config,
|
||||
$this->themingDefaults,
|
||||
\OC::$SERVERROOT,
|
||||
$this->depsCache
|
||||
$this->cacheFactory
|
||||
);
|
||||
return new CSSResourceLocator(
|
||||
$this->logger,
|
||||
|
|
|
@ -31,6 +31,7 @@ use OCP\Files\NotPermittedException;
|
|||
use OCP\Files\SimpleFS\ISimpleFile;
|
||||
use OCP\Files\SimpleFS\ISimpleFolder;
|
||||
use OCP\ICache;
|
||||
use OCP\ICacheFactory;
|
||||
use OCP\ILogger;
|
||||
use OCP\IURLGenerator;
|
||||
|
||||
|
@ -47,6 +48,8 @@ class JSCombinerTest extends \Test\TestCase {
|
|||
protected $jsCombiner;
|
||||
/** @var ILogger|\PHPUnit_Framework_MockObject_MockObject */
|
||||
protected $logger;
|
||||
/** @var ICacheFactory|\PHPUnit_Framework_MockObject_MockObject */
|
||||
protected $cacheFactory;
|
||||
|
||||
protected function setUp() {
|
||||
parent::setUp();
|
||||
|
@ -54,15 +57,20 @@ class JSCombinerTest extends \Test\TestCase {
|
|||
$this->appData = $this->createMock(IAppData::class);
|
||||
$this->urlGenerator = $this->createMock(IURLGenerator::class);
|
||||
$this->config = $this->createMock(SystemConfig::class);
|
||||
$this->cacheFactory = $this->createMock(ICacheFactory::class);
|
||||
$this->depsCache = $this->createMock(ICache::class);
|
||||
$this->cacheFactory->expects($this->at(0))
|
||||
->method('createDistributed')
|
||||
->willReturn($this->depsCache);
|
||||
$this->logger = $this->createMock(ILogger::class);
|
||||
$this->jsCombiner = new JSCombiner(
|
||||
$this->appData,
|
||||
$this->urlGenerator,
|
||||
$this->depsCache,
|
||||
$this->cacheFactory,
|
||||
$this->config,
|
||||
$this->logger
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
public function testProcessDebugMode() {
|
||||
|
@ -539,7 +547,11 @@ var b = \'world\';
|
|||
->method('getDirectoryListing')
|
||||
->willReturn([$file]);
|
||||
|
||||
$this->depsCache->expects($this->once())
|
||||
$cache = $this->createMock(ICache::class);
|
||||
$this->cacheFactory->expects($this->once())
|
||||
->method('createDistributed')
|
||||
->willReturn($cache);
|
||||
$cache->expects($this->once())
|
||||
->method('clear')
|
||||
->with('');
|
||||
$this->appData->expects($this->once())
|
||||
|
|
|
@ -25,8 +25,8 @@ namespace Test\Template;
|
|||
|
||||
use OC\Template\JSCombiner;
|
||||
use OCP\Files\IAppData;
|
||||
use OCP\ICacheFactory;
|
||||
use OCP\IURLGenerator;
|
||||
use OCP\ICache;
|
||||
use OC\SystemConfig;
|
||||
use OCP\ILogger;
|
||||
use OC\Template\JSResourceLocator;
|
||||
|
@ -38,8 +38,8 @@ class JSResourceLocatorTest extends \Test\TestCase {
|
|||
protected $urlGenerator;
|
||||
/** @var SystemConfig|\PHPUnit_Framework_MockObject_MockObject */
|
||||
protected $config;
|
||||
/** @var ICache|\PHPUnit_Framework_MockObject_MockObject */
|
||||
protected $depsCache;
|
||||
/** @var ICacheFactory|\PHPUnit_Framework_MockObject_MockObject */
|
||||
protected $cacheFactory;
|
||||
/** @var ILogger|\PHPUnit_Framework_MockObject_MockObject */
|
||||
protected $logger;
|
||||
|
||||
|
@ -49,7 +49,7 @@ class JSResourceLocatorTest extends \Test\TestCase {
|
|||
$this->appData = $this->createMock(IAppData::class);
|
||||
$this->urlGenerator = $this->createMock(IURLGenerator::class);
|
||||
$this->config = $this->createMock(SystemConfig::class);
|
||||
$this->depsCache = $this->createMock(ICache::class);
|
||||
$this->cacheFactory = $this->createMock(ICacheFactory::class);
|
||||
$this->logger = $this->createMock(ILogger::class);
|
||||
}
|
||||
|
||||
|
@ -57,7 +57,7 @@ class JSResourceLocatorTest extends \Test\TestCase {
|
|||
$jsCombiner = new JSCombiner(
|
||||
$this->appData,
|
||||
$this->urlGenerator,
|
||||
$this->depsCache,
|
||||
$this->cacheFactory,
|
||||
$this->config,
|
||||
$this->logger
|
||||
);
|
||||
|
|
|
@ -31,6 +31,7 @@ use OCP\Files\NotFoundException;
|
|||
use OCP\Files\SimpleFS\ISimpleFile;
|
||||
use OCP\Files\SimpleFS\ISimpleFolder;
|
||||
use OCP\ICache;
|
||||
use OCP\ICacheFactory;
|
||||
use OCP\IConfig;
|
||||
use OCP\ILogger;
|
||||
use OCP\IURLGenerator;
|
||||
|
@ -50,6 +51,8 @@ class SCSSCacherTest extends \Test\TestCase {
|
|||
protected $scssCacher;
|
||||
/** @var ICache|\PHPUnit_Framework_MockObject_MockObject */
|
||||
protected $depsCache;
|
||||
/** @var ICacheFactory|\PHPUnit_Framework_MockObject_MockObject */
|
||||
protected $cacheFactory;
|
||||
|
||||
protected function setUp() {
|
||||
parent::setUp();
|
||||
|
@ -60,7 +63,11 @@ class SCSSCacherTest extends \Test\TestCase {
|
|||
$factory->method('get')->with('css')->willReturn($this->appData);
|
||||
$this->urlGenerator = $this->createMock(IURLGenerator::class);
|
||||
$this->config = $this->createMock(IConfig::class);
|
||||
$this->cacheFactory = $this->createMock(ICacheFactory::class);
|
||||
$this->depsCache = $this->createMock(ICache::class);
|
||||
$this->cacheFactory
|
||||
->method('createDistributed')
|
||||
->willReturn($this->depsCache);
|
||||
$this->themingDefaults = $this->createMock(ThemingDefaults::class);
|
||||
$this->scssCacher = new SCSSCacher(
|
||||
$this->logger,
|
||||
|
@ -69,7 +76,7 @@ class SCSSCacherTest extends \Test\TestCase {
|
|||
$this->config,
|
||||
$this->themingDefaults,
|
||||
\OC::$SERVERROOT,
|
||||
$this->depsCache
|
||||
$this->cacheFactory
|
||||
);
|
||||
$this->themingDefaults->expects($this->any())->method('getScssVariables')->willReturn([]);
|
||||
|
||||
|
|
Loading…
Reference in New Issue